Blank white background with no objects or features visible.

TrueFoundryはSeldon AIの買収を発表し、エンタープライズAI向けコントロールプレーンを拡張します。プレスリリース全文はこちら→

TrueFoundryを使ったアイリスの花の分類モデルの訓練とデプロイ

By TrueFoundry

Published: July 4, 2026

TrueFoundry ウェブサイト

この例では、花弁と萼片のサイズ測定に基づいて、アヤメ属の花を3つの種のうちの1つに分類できるモデルを学習します。

この例は、 Google Colaboratory ノートブックでも試すことができます。

アイリスデータセット には、3つの異なる種が含まれています。

  • アイリス・セトーサ
  • アイリス・バーシカラー
  • アイリス・バージニカ

以下のパラメータに基づいて、花の種を識別できる分類器を構築する必要があります。

  • 萼片の長さ
  • 萼片の幅
  • 花弁の長さ
  • 花弁の幅

TrueFoundryについて

TrueFoundry MLワークフローを簡素化するための2つのライブラリを提供しています。

MLFoundry

mlfoundry ライブラリは、MLトレーニング実験を追跡するために使用されます。

なぜ実験の追跡が必要なのでしょうか? ある問題を解決するために複数のMLモデルをトレーニングしている場合、複数のフレームワーク、ハイパーパラメータ、複数のデータセットを使用して、複数のモデルをトレーニングすることになるでしょう。のようなライブラリを使用して実験を追跡することは、 mlfoundry ML実験を整理するのに役立ちます。

MLFoundryを使用して、ハイパーパラメータ、メトリクス、データセット、モデルのログを記録できます。その後、で異なる実験を比較し、 TrueFoundryダッシュボード 本番環境にデプロイするモデルを選択したり、モデルを再トレーニングするかどうかを決定したりできます。

この例では、MLFoundryの5つの異なるAPIを使用します。それらは次のとおりです。

  1. log_params - 現在の実験のハイパーパラメータのログを記録するために使用します
  2. log_dataset - データセット全体をログに記録するために使用されます
  3. log_metrics - 精度スコア、F1スコアのようなメトリクスをログに記録します
  4. set_tags - 後で簡単にフィルタリングできるように、実験にタグを追加します
  5. log_model - 学習済み重みを含むモデルを保存する

ServiceFoundry

Using the servicefoundry ライブラリを使用すると、モデルをパッケージ化、コンテナ化し、Kubernetesクラスターに簡単にデプロイできます。

モデルを学習し、MLFoundryを使ってログに記録しましょう。

IPythonノートブックを開きます。ローカルマシンで実行されているJupyter、またはクラウド上のGoogle Colabノートブックのいずれかを使用できます。

必要なライブラリをインストールします。

 
!pip install mlfoundry
!pip install pandas
!pip install sklearn

TrueFoundryにログインします。設定ページからAPIキーを作成し、コピーします。このAPIキーを使用してMLFoundryクライアントを初期化し、実行(run)を作成します。実行(run)とは、単一の実験を表すエンティティです。

 
import mlfoundry as mlf
client = mlf.get_client(api_key='<TFY_API_KEY>')
run = client.create_run('iris-classifier'))

Irisデータセットをthe sklearn.datasets モジュールを使用して取得します。次に、それをテストデータセットとトレーニングデータセットに分割します。

 
from sklearn import datasets
from sklearn.model_selection import train_test_split

data = datasets.load_iris()

X = pd.DataFrame(data.data, columns=data.feature_names)
y = data.target

X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.8, stratify=y, random_state=42)

ターゲット名を確認しましょう。これを使って、モデルからの整数出力を実際の種の名前とマッピングします。

 
print(data.target_names)

# Output
# ['setosa' 'versicolor' 'virginica']

モデルを初期化します。次に、MLFoundryを使用してモデルのパラメータをログに記録し、この実験実行(run)用のタグを作成します。

 
from sklearn.svm import SVC

clf = SVC(gamma='scale', kernel='rbf', probability=True, C=1.2)

run.set_tags({
	'framework': 'sklearn',
  'task': 'classification'
})

run.log_params(clf.get_params())

次に、トレーニングデータセットでモデルを学習させます。学習が完了したら、様々なメトリクスを計算し、MLFoundry using log_metricsを使ってMLFoundryにログを記録します。

 
from sklearn.svm import SVC

clf = SVC(gamma='scale', kernel='rbf', probability=True, C=1.2)

run.set_tags({
	'framework': 'sklearn',
  'task': 'classification'
})

run.log_params(clf.get_params())

 
clf.fit(X_train, y_train)

y_pred_train = clf.predict(X_train)
y_pred_test = clf.predict(X_test)

metrics = {
  'train/accuracy_score': accuracy_score(y_train, y_pred_train),
  'train/f1_weighted': f1_score(y_train, y_pred_train, average='weighted'),
  'train/f1_micro': f1_score(y_train, y_pred_train, average='micro'),
  'train/f1_macro': f1_score(y_train, y_pred_train, average='macro'),
  'test/accuracy_score': accuracy_score(y_test, y_pred_test),
  'test/f1_weighted': f1_score(y_test, y_pred_test, average='weighted'),
  'test/f1_micro': f1_score(y_test, y_pred_test, average='micro'),
  'test/f1_macro': f1_score(y_test, y_pred_test, average='macro'),
}

run.log_metrics(metrics)

精度スコアやその他のメトリクスに満足できれば、現在のモデルをデプロイすることを選択できます。そのためには、モデルを保存し、 現在のrun IDをコピーします.

 
run.log_model(clf, framework=mlf.ModelFramework.SKLEARN)
print(run.run_id)
run.end()

すべての実行を確認し、メトリクスを比較できます。 TrueFoundry 実験追跡ダッシュボード

実験追跡ダッシュボード

モデルをAPIサービスとしてデプロイする

ServiceFoundry を使用してモデルをデプロイするには、エンドポイントとして公開したい関数を含むPythonファイルを作成する必要があります。

そのPythonファイル内で、実行IDを使用して、先ほどトレーニングして保存したモデルを mlfoundryを使用して取得します。なお、 mlfoundry が必要とするAPIキーは、環境変数 TFY_API_KEYとして利用できます。

IPythonノートブックで、以下の内容のブロックを作成し、実行してという名前のPythonファイルを作成します。 predict.py。Jupyterマジックコマンド %%writefile を使用してノートブック環境でファイルを作成します。

 
%%writefile predict.py
import os
import json
import pandas as pd
import mlfoundry as mlf

client = mlf.get_client(api_key=os.environ.get('TFY_API_KEY'))
run = client.get_run('79e71482643f46dfa5bfef256dba5dc5') # replace with your run id
model = run.get_model()

def species(features):
 features = json.loads(features)
 df = pd.DataFrame.from_dict([features])
 prediction = model.predict(df)[0]
 return ['setosa', 'versicolor', 'virginica'][prediction]

species関数内で、特徴量をにロードします。 pandas DataFrameを作成し、モデルを使って予測を行います。整数クラスから種名への変換には、 target_names トレーニング中に表示したものを利用します。

これで必要な作業はほぼ完了です。次に、このモデルをAPIサービスとしてデプロイしましょう。まず、 servicefoundry をノートブックにインストールしてインポートします。そして servicefoundryにログインします。

 
!pip install servicefoundry
import servicefoundry.core as sfy
sfy.login()

TrueFoundry ダッシュボード にアクセスし、サービスをデプロイするためのワークスペースを作成します。ワークスペースは、TrueFoundry内で関連するプロジェクトをグループ化するためのものです。ワークスペースが作成されたら、FQNをコピーして、 servicefoundry にモデルをどこにデプロイするかを伝えます。 ダッシュボードからワークスペースを作成する

servicefoundryライブラリを使用すると、作成したファイルのすべての依存関係を gather_requirements 関数を使って収集できます。

 
requirements = sfy.gather_requirements("predict.py")

Now create a sfy.Service オブジェクトで、ワークスペースのFQNを指定し、呼び出すことでデプロイします。 .deploy()

 
auto_service = sfy.Service("predict.py", requirements, sfy.Parameters( name="iris-service", workspace="" )) auto_service.deploy()

このデプロイの進捗状況は、 ダッシュボードで確認できます。デプロイが完了したら、そこからデプロイされたサービスにアクセスして試すことができます。

予測を提供するサービスのスクリーンショット

TrueFoundryダッシュボードには、TrueFoundryのデプロイに標準で含まれるメトリクスやログがGrafanaダッシュボードの形式でリンクされています。詳細については、 こちら

システムメトリクス監視ダッシュボード

その他の機能

IPythonノートブックから、インタラクティブなUIアプリケーションやGradioアプリケーションを servicefoundryを使って簡単にデプロイすることもできます。この ガイド を読んで方法を確認してください。

実験トラッキングとデプロイの連携をさらに密接にし、より快適な体験を提供できるよう取り組んでいます。TrueFoundryでできるその他のことについては、 ドキュメントでご確認いただけます。機械学習モデルをトレーニングして問題を解決しようとしている場合、TrueFoundryはさまざまな実験を追跡するのに役立ち、ベストプラクティスに沿ってモデルを簡単かつ直感的にデプロイし、数分で一般公開できるようにします。

The fastest way to build, govern and scale your AI

Sign Up
Table of Contents

One Gateway for Every LLM, Agent and MCP Server

Book a 30-min with our AI expert

Book a Demo

The fastest way to build, govern and scale your AI

Book Demo
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Discover More

November 5, 2025
|
5 min read

エージェンティックAI時代におけるデータレジデンシー:AIゲートウェイはいかに主権的規模とコンプライアンスを実現するか

October 5, 2023
|
5 min read

<Webinar> 企業向け生成AIショーケース

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 min read

モデルトレーニング向けファインチューニングツール主要6選:2026年版

May 25, 2023
|
5 min read

Open Source LLMs: Embrace or Perish

OpenRouter vs AI Gateway
July 4, 2026
|
5 min read

OpenRouter 対 AIゲートウェイ:どちらがあなたに最適ですか?

comparison
July 4, 2026
|
5 min read

プロンプトエンジニアリング:LLMとの対話方法を学ぶ

Thought Leadership
LLMs & GenAI
July 4, 2026
|
5 min read

True ML Talks #12 - Llama-Index共同創設者

True ML Talks
July 4, 2026
|
5 min read

AIワークロードがクラウド料金を膨らませていませんか?

Thought Leadership
No items found.

Recent Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.
Take a quick product tour
Start Product Tour
Product Tour