- 基本情報
- 通知
- プロジェクト
- データセット
- データのラベル付け
- ML パッケージ
- すぐに使えるパッケージ
- 概要
- English Text Classification (英語テキスト分類)
- French Text Classification (フランス語テキスト分類)
- Japanese Text Classification (日本語テキスト分類)
- Object Detection (オブジェクト検出)
- Text Classification (テキスト分類)
- TPOT AutoML Classification (TPOT AutoML分類)
- TPOT AutoML Regression (TPOT AutoML 回帰)
- TPOT XGBoost Classification (TPOT XGBoost 分類)
- TPOT XGBoost Regression (TPOT XGBoost 回帰)
- AI Computer Vision
- Communications Mining
- UiPath Document Understanding
- パイプライン
- ML スキル
- ML ログ
- AI Center の Document UnderstandingTM
- AI Center API
- ライセンス
- AI ソリューション テンプレート
- 使い方
- 基本的なトラブルシューティング ガイド
AI Center ガイド
フル パイプラインを使用すると、新しいマシン ラーニング モデルのトレーニングと、この新しいモデルのパフォーマンスの評価を一度に行うことができます。さらに、トレーニングの前に前処理手順を実行して、データの操作/トレーニングされたマシン ラーニング モデルのトレーニングを行うことができます。
このパイプラインを使用するには、データを処理し、モデルをトレーニング、評価、保存するコード (train.py ファイルの process_data()、train ()、evaluate()、および save() 関数) がパッケージに含まれている必要があります。このコードとデータセットまたはデータセット内のサブフォルダー、および評価セット (任意) によって、新しいパッケージ バージョン、スコア (新しいバージョンのモデルに対して evaluate() 関数から返された)、およびユーザーがスコアとともに保持する任意の出力が生成されます。
フル パイプラインを作成する
新しいフル パイプラインを作成し、以下のフル パイプライン固有の情報を指定してください。
- [パイプラインの種類] フィールドで [フル パイプラインの実行] を選択します。
- [入力データセットを選択] フィールドで、フル トレーニング用データのインポート元のデータセットまたはフォルダーを選択します。このデータセット/フォルダーのすべてのファイルは、
data_directory変数に格納されているパスで、パイプラインの実行中にローカルで使用できる必要があります。 - (任意) [評価データセットを選択] フィールドで、評価用データのインポート元のデータセットまたはフォルダーを選択します。このデータセット/フォルダーのすべてのファイルは、
test_data_directory変数に格納されているパスで、パイプラインの実行中にローカルで使用できる必要があります。フォルダーが選択されていない場合、パイプラインはprocess_data関数のtest_data_directory変数に何らかのパスを書き込みます。フォルダーを選択せず、さらにprocess_dataがtest_data_directoryへの書き込みを行わない場合、評価関数に渡されるディレクトリは空になります。 - [パラメーターを入力] セクションに、パイプラインで定義され、使用される環境変数を入力します (存在する場合)。環境変数は次のとおりです。
training_data_directory(既定値は dataset/training): パイプラインでトレーニング データにローカルでアクセスできる場所を定義します。このディレクトリは、train()関数の入力として使用されます。ほとんどのユーザーは、UI を使用してこれをオーバーライドする必要はなく、process_data関数のos.environ['training_data_directory']にデータを書き込むだけで、train(self, data_directoryの引数 data_directory がos.environ['training_data_directory']で呼び出されることを期待できます。- 既定値の
test_data_directorydataset/test: パイプラインでテスト データにローカルでアクセスできる場所を定義します。このディレクトリは、evaluate()関数の入力として使用されます。ほとんどのユーザーは、UI を使用してこれをオーバーライドする必要はなく、process_data関数のos.environ['test_data_directory']にデータを書き込むだけで、evaluate(self, data_directoryの引数 data_directory がos.environ['test_data_directory']で呼び出されることを期待できます。 artifacts_directory(既定値の 成果物): これにより、このパイプラインに関連する補助データとして保持されるディレクトリへのパスが定義されます。すべてのユーザーではないにしても、ほとんどのユーザーは、これを UI で上書きする必要はありません。パイプラインの実行時に、画像、PDF、サブフォルダーなど、あらゆるものを保存できます。具体的には、パスos.environ['artifacts_directory']で指定されたディレクトリにコードが書き込むデータは、パイプライン実行の最後にアップロードされ、[ パイプラインの詳細 ] ページから表示できます。save_training_data(既定値は true): True に設定すると、training_data_directoryフォルダーは、パイプライン実行の最後に、パイプラインの出力としてtraining_data_directoryディレクトリ下にアップロードされます。save_test_data(既定値は true): True に設定すると、test_data_directoryフォルダーは、パイプライン実行の最後に、パイプラインの出力としてtest_data_directoryディレクトリ下にアップロードされます。
評価データセットを選択するかどうかによって、フル パイプラインを以下のように作成できます。
- 評価データを明示的に選択する 新しくトレーニングしたパッケージ バージョン 1.1 でフル パイプラインを作成する方法については、以下のビデオをご覧ください。必ず、入力データセットおよび評価データセットとして同じデータセット (この例では tutorialdataset) を選択してください。
- 評価データを明示的に選択せずに、新しくトレーニングしたパッケージ バージョン 1.1 でフル パイプラインを作成する方法については、以下のビデオをご覧ください。入力データセットは選択しますが、評価データセットは未選択のままにします。
フル パイプライン実行の結果
パイプラインの実行には時間がかかることがあります。しばらくしてからステータスを確認してください。
パイプラインの実行後、[パイプライン] ページのパイプラインのステータスは [成功] に変わります。[パイプラインの詳細] ページには、パイプラインの実行に関連する任意のファイルとフォルダーが表示されます。
train()関数は、データ フォルダーの未変更のコンテンツ (example1.txt と example2.txt) ではなく、train.csv でトレーニングされます。process_dataを使用して、任意のユーザー定義パラメーターに基づいてデータを動的に分割できます。- 最初のフル パイプラインは、 example1.txt、example2.txt、 および test.csv のディレクトリに対して評価を実行します。2 つ目のフル パイプラインは、 test.csvのみを含むディレクトリに対して評価を実行します。これは、2 つ目のフル パイプライン実行を作成するときに評価セットを明示的に選択しなかったことの違いです。これにより、UiPath® Robot からの新しいデータを評価したり、プロジェクトにすでに存在するデータを動的に分割したりできます。
- 各コンポーネントは、パイプラインの一部として任意の成果物を作成できます (ヒストグラム、TensorBoard ログ、分布プロットなど)。
- ML パッケージの zip ファイルは、トレーニング パイプラインで自動的に生成される新しいバージョンのパッケージです。
- 成果物フォルダーはパイプラインで生成されたすべての成果物を再グループ化するフォルダーで、
artifacts_directoryフォルダーに保存され、空でない場合にのみ表示されます。 - トレーニング フォルダーは
training_data_directoryフォルダーのコピーであり、save_training_dataが true に設定されている場合にのみ表示されます。 - テスト フォルダーは
test_data_directoryフォルダーのコピーであり、save_training_dataが true に設定されている場合にのみ表示されます。
独自のフル パイプラインを構築するための類似性
この例は、概念的に類似した、あるパッケージ (たとえば、バージョン 1.1) でのフル パイプラインの実行であり、バージョン 1.0 でのトレーニング パイプラインの出力です。
これは簡略化された例であり、データセットとパッケージがフル パイプラインでどのように対話するかを示しています。これらの手順は概念を示しているに過ぎず、プラットフォームがどのように動作するかを表しているわけではありません。
- パッケージ バージョン 1.1 を
~/mlpackageにコピーします。 ./datasetというディレクトリを作成します。- 入力データセットのコンテンツを
./datasetにコピーします。 - ユーザーが [評価データセットを選択] フィールドに何かを設定した場合は、その評価データセットをコピーして
./dataset/testに保存します。 - 環境変数
training_data_directory=./dataset/trainingとtest_data_directory=./dataset/testを設定します。 - 以下の Python コードを実行します。
from train import Main m = Main() m.process_data('./dataset') m.evaluate(os.environ['test_data_directory']) m.train(os.environ['training_data_directory']) m.evaluate(os.environ['test_data_directory'])from train import Main m = Main() m.process_data('./dataset') m.evaluate(os.environ['test_data_directory']) m.train(os.environ['training_data_directory']) m.evaluate(os.environ['test_data_directory']) ~/mlpackageのコンテンツをパッケージ バージョン 1.2 として保持します。成果物が作成されている場合は保持し、save_dataが true に設定されている場合はデータをスナップショットに保存します。注:環境変数
training_data_directoryとtest_data_directoryが存在するということは、process_dataがこれらの変数を使用してデータを動的に分割できることを意味します。
パイプラインの出力
_results.json ファイルには、パイプライン実行の概要が記載されており、フル パイプラインのすべての入力/出力と実行時間が公開されています。
{
"parameters": {
"pipeline": "< Pipeline_name >",
"inputs": {
"package": "<Package_name>",
"version": "<version_number>",
"input_data": "<storage_directory>",
"evaluation_data": "<storage_directory>/None",
"gpu": "True/False"
},
"env": {
"key": "value",
...
}
},
"run_summary": {
"execution_time": <time>, #in seconds
"start_at": <timestamp>, #in seconds
"end_at": <timestamp>, #in seconds
"outputs": {
"previous_score": <previous_score>, #float
"current_score": <current_score>, #float
"training_data": "<training_storage_directory>/None",
"test_data": "<test_storage_directory>/None",
"artifacts_data": "<artifacts_storage_directory>",
"package": "<Package_name>",
"version": "<new_version>"
}
}
}
{
"parameters": {
"pipeline": "< Pipeline_name >",
"inputs": {
"package": "<Package_name>",
"version": "<version_number>",
"input_data": "<storage_directory>",
"evaluation_data": "<storage_directory>/None",
"gpu": "True/False"
},
"env": {
"key": "value",
...
}
},
"run_summary": {
"execution_time": <time>, #in seconds
"start_at": <timestamp>, #in seconds
"end_at": <timestamp>, #in seconds
"outputs": {
"previous_score": <previous_score>, #float
"current_score": <current_score>, #float
"training_data": "<training_storage_directory>/None",
"test_data": "<test_storage_directory>/None",
"artifacts_data": "<artifacts_storage_directory>",
"package": "<Package_name>",
"version": "<new_version>"
}
}
}
モデルのガバナンス
パラメーター save_training_data = true および save_test_data = true が設定されている場合、他の種類のパイプラインと同様に、トレーニングおよび評価データをスナップショットに保存できます。