Test custom models locally¶
本機能の提供について
DataRobot Model Runnerツールにアクセスするには、DataRobotの担当者にお問い合わせください。
DataRobot Model Runnerツール(DRUM)は、Python、R、およびJavaカスタムモデルをローカルでテストできるツールです。 テストでは、カスタムモデルをDataRobotにアップロードする前に、カスタムモデルが正常に実行して予測を作成できることを確認できます。 ただし、このテストは開発のみを目的としたものです。 デプロイするカスタムモデルもアップロードした後にカスタムモデルワークショップでテストすることが推奨されます。
先へ進む前に、カスタムモデルまたは環境フォルダー設定のガイドラインを参照します。
備考
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.6Rフレームワークインストール済み。なお、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環境を使用中の場合は、wheelを--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]
Use --verbose for a more detailed output¶
例:
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]
例:
This is an example that does not include an output command, so the prediction results return in the command line.¶
drum score -m ~/custom_model/ --input fast-iron.csv --verbose