注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

コンテナモデルを使用して画像をアップロードする

このページでは、コンテナを利用したモデルで画像をアップロードするプロセスを説明します。このワークフローでは、モデルを作成し、画像をモデルリソースにプッシュし、モデルバージョンを設定します。

1. モデルの作成

コンテナを利用したモデルを作成するには、まず画像がプッシュされるリソースを作成します。このリソースはモデルの権限を制御し、このリソースに Viewer 権限を持つユーザーは、画像をFoundryから取り出すことができます。

モデルを新規作成するには、任意のモデリング目的に移動し、+モデルを追加を選択し、次にコンテナ化されたモデルをインポートを選択します。

Objective ページの右上にある Add model ボタン

Add model ダイアログ、Import containerized model が強調表示されています

2. モデルに画像をプッシュする

プッシュする画像は、Foundryの画像要件に準拠している必要があります。

Palantirでモデルリソースを作成した後、画像をアセットにプッシュする手順に従ってください。

新しいコンテナモデルのランディングページ、プッシュ画像が強調表示されています

トークンを生成を選択し、デフォルトのコマンドブロックをコピーして、example-package:<TAG>をローカルのDockerリポジトリに存在する画像名とタグ(またはダイジェスト)に置き換えます。タグは、画像要件により、'latest'にすることはできません。これらのコマンドを実行すると、関連する画像がモデルにプッシュされ、Viewer権限を持つユーザーがアクセスできるようになります。

画像が正常にプッシュされ、コンテナ画像リストに表示されるようになったら、モデルバージョンの作成を選択して、バージョンの設定を開始します。これを行うには、まずモデルアダプタライブラリテンプレートで作成されたコンテナモデルアダプタを作成する必要があります。

コンテナ画像タブ、モデルバージョン作成が強調表示されています

画像のサイズによっては、コンテナ画像がモデルで利用可能になるまでに数分かかることがあります。

公開する前にモデルアダプタの実装を反復して調整するために、サイドカードコレータを使用して、モデルに既に存在するコンテナでロジックがどのように動作するかをテストします。サイドカートランスフォームデコレータのドキュメントで説明されている手順に従って、新しいトランスフォームリポジトリをデコレータが有効になった状態で作成し、作成したモデルをバッキングした作成物リポジトリとして使用します。次に、トランスフォームリポジトリ内にローカルPythonファイルを定義し、アダプタを実装し、以下のように手動でインスタンス化します:

Copied!
1from transforms.api import transform, Input, Output 2from transforms.sidecar import sidecar, Volume 3# 以下のコードは、`myproject`フォルダ内に testAdapter.py という Python クラスを作成し、palantir_models の ModelAdapter クラスを実装する TestModelAdapter クラスを定義していることを前提としています。 4from myproject.testAdapter import TestModelAdapter 5import palantir_models.transforms 6 7 8@sidecar(image='image-name', tag='1.0.0', volumes=[Volume("shared")]) 9@transform( 10 output=Output("ri.foundry.main.dataset.<RID>"), 11 source_df=Input("ri.foundry.main.dataset.<RID>"), 12) 13def compute(source_df, output): 14 testingEntrypoint = TestModelAdapter( 15 "/opt/palantir/sidecars/shared-volumes/shared", 16 # ここでのポートは、特定のイメージがリッスンしているポートを反映してください。 17 "localhost:PORT") 18 testingEntrypoint.transform_write(source_df, output)

3. モデルバージョンの設定

モデルバージョンの設定ページで、特定のモデルバージョンに含めるコンテナイメージを1つ以上選択します。次へを選択して、モデルバージョンの設定に進みます。

モデルバージョン作成ダイアログの最初のページ

モデルの詳細ページのモデルの設定ダイアログで、行うセマンティックバージョンの変更のタイプを設定します。その後、オプションで説明と設定ファイルを追加し、作成したアダプターを選択します。モデルアダプター設定セクションでモデルアダプターのリポジトリを選択し、モデルアダプターを選択ドロップダウンはリポジトリで定義された有効なアダプターの最新バージョンを表示します。

モデルバージョン作成ダイアログの2ページ目

最後に、各イメージの任意のランタイム情報を設定します。これには、メモリ制約、引数、環境変数、新しい exec コマンドが含まれます。アダプターが requests ライブラリを使用している場合、イメージがリッスンしているポートを指定することは重要です。モデルバージョンに選択された各イメージのランタイム情報を設定することができます。

モデルは、テレメトリログを生成するように設定することができます。ユーザーのコンテナがテレメトリをサポートしている場合、以下のスクリーンショットに示すステップでモデルバージョンにそれを有効にすることができます。

モデルバージョン作成ダイアログの3ページ目

4. モデルバージョンの表示

モデルバージョンが作成されると、そのメタデータがモデルページのモデル概要タブに表示されます。ここで、左側のパネルを使用して過去のバージョンを表示し、それにナビゲートします。

このページから、右上の + アイコンまたは アクション ドロップダウンを使用して モデリング目標に提出するか、Pythonトランスフォームへの入力としてモデルを使用することができます。モデルがコンテナを利用した場合、ModelInput クラスの 2つ目のオプション引数を指定し、トランスフォームで使用するバージョン RID を選択する必要があります。また、ユーザーのトランスフォームリポジトリにモデルアダプターへの依存関係を追加する必要があります。これは以下のように見えるかもしれません:

Copied!
1# 必要なライブラリをインポートします 2from transforms.api import transform, Input, Output 3from palantir_models.transforms import ModelInput 4 5 6# transform デコレーターを使用して関数を定義します 7# output は出力データセットのパスを指定します 8# model はモデルの名前とバージョンを指定します 9# source_df は入力データセットのパスを指定します 10@transform( 11 output=Output("/path/to/output/output_dataset"), 12 model=ModelInput( 13 "ri.models.main.model.<RID>", 14 "ri.models.main.model-version.<RID>"), 15 source_df=Input("/path/to/input/input_dataset"), 16) 17def compute(model, source_df, output): 18 # モデルを使用してソースデータフレームを変換し、結果を出力します 19 model.transform_write(source_df, output)