ローカルでのモデルのテスト¶
本機能の提供について
DataRobot Model Runnerツールにアクセスするには、DataRobotの担当者にお問い合わせください。
DataRobot Model Runnerツール(DRUM)は、Python、R、およびJavaカスタムモデルをローカルでテストできるツールです。このテストでは、カスタムモデルをDataRobotにアップロードする前に、カスタムモデルが正常に実行して予測を作成できることを確認できます。ただし、このテストは開発を目的としたものです。DataRobotでは、デプロイするカスタムモデルをアップロードした後にCustom Model Workshopでもテストすることが推奨されます。
先へ進む前に、カスタムモデルまたは環境フォルダーの設定に関するリファレンスを参照してください。
備考
DataRobot Model Runnerツールは、Python、R、Javaのカスタムモデルをサポートしています。
以下を始めとする追加機能の詳細については、DRUM Readmeを参照してください。
- オートコンプリート
- カスタムフック
- パフォーマンス試験
- 予測サーバーでのモデルの実行
- Dockerコンテナ内でのモデルの実行
DataRobot Model Runnerのインストール¶
以下に、DRUMのインストールワークフローを示します。続行する前に、コーディング言語の要件を確認してください。
言語 | 必要条件 | インストールコマンド |
---|---|---|
Python | Python 3を推奨 | pip install datarobot-drum |
Java | JRE ≥ 11 | pip install datarobot-drum |
R | * Python ≥ 3.6 * Rフレームワークインストール済み。なお、drumはRの実行にrpy2パッケージを使用します(最新バージョンがデフォルトでインストールされます)。互換性のためにrpy2およびpandasのバージョンを調整する必要がある場合があります。 | pip install datarobot-drum[R] |
PythonおよびJavaモデルをサポートするDRUMをインストールするには、次のコマンドを使用します。
pip install datarobot-drum
RモデルをサポートするDRUMをインストールするには:
pip install datarobot-drum[R]
備考
Conda環境を使用中の場合は、ホイールに--no-deps
フラグをつけてインストールします。Conda環境に依存関係が必要となる場合は、Condaツールでインストールしてください。
カスタムモデルフォルダーのコンテンツ¶
モデルフォルダーには、モデルアーティファクトとdrum
でモデルを実行するために必要なその他のコードが含まれている必要があります。drum
には、以下のライブラリへのサポートが組み込まれています。モデルがこれらのライブラリのいずれかに基づいている場合、drum
は、モデルアーティファクトに一致するファイル拡張子があることを想定します。
Python¶
ライブラリ | ファイル拡張子 | 例 |
---|---|---|
Scikit-learn | *.pkl | sklearn-regressor.pkl |
Xgboost | *.pkl | xgboost-regressor.pkl |
PyTorch | *.pth | torch-regressor.pth |
Keras | *.h5 | keras-regressor.h5 |
R¶
ライブラリ | ファイル拡張子 | 例 |
---|---|---|
Caret | *.rds | brnn-regressor.rds |
Java¶
ライブラリ | ファイル拡張子 | 例 |
---|---|---|
Datarobot-prediction | *.jar | dr-regressor.jar |
DRUMは、DataRobotで生成された「スコアリングコード」を含むモデルと、DataRobot-predictionライブラリのClassificationPredictorまたはRegressionPredictorインターフェイスのいずれかを実装するモデルをサポートします。モデルアーティファクトには、jar
拡張子が必要です。
追加パラメーター¶
追加のパラメーターに対してDRUM_JAVA_XMX
環境変数を定義し、JVM最大ヒープメモリサイズ(-Xmx
javaパラメーター)を設定します。
例: DRUM_JAVA_XMX=512m
モデル要件¶
フォルダーの必須の内容に加えて、DRUMでは、シリアル化されたモデルに次のものが必要です。
- 連続値モデルは、予測データの行ごとに単一の浮動小数点を返す必要があります。
- 二値分類モデルは、合計が1.0になる2つの浮動小数点値を予測データの行ごとに返す必要があります。
- 最初の値は正のクラス確率である必要があり、2番目の値は負のクラス確率である必要があります。
- 単一のpkl / pth / h5ファイルが存在する必要があります。
DataRobot CM Runnerを使ったテストの実行¶
以下のコマンドを使用して、カスタムモデルのローカルテストを実行します。
可能なすべての引数をリスト表示¶
drum -help
カスタム二値分類モデルのテスト¶
カスタム二値分類モデルでバッチ予測します。オプションで、出力ファイルを指定します。この指定をしなかった場合、予測はコマンドラインに返されます。
構文:
drum score -m ~/custom_model/ --input <input-dataset-filename.csv> [--positive-class-label <labelname>] [--negative-class-label <labelname>] [--output <output-filename.csv>] [--verbose]
# より詳細な出力には--verboseを使用します
例:
drum score -m ~/custom_model/ --input 10k.csv --positive-class-label yes --negative-class-label no --output 10k-results.csv --verbose
カスタム連続値モデルのテスト¶
カスタム連続値モデルでバッチ予測を作成します。
構文:
drum score -m ~/custom_model/ --input <input-dataset-filename.csv> [--output <output-filename.csv>] [--verbose]
例:
# これは、出力コマンドを含まない例であるため、予測結果はコマンドラインに戻されます。
drum score -m ~/custom_model/ --input fast-iron.csv --verbose