コンテンツにスキップ

TorchServe の中で外部ライブラリを使う

TorchServe のモデルで外部の Python ライブラリを使うため、モデルの配布ファイルへrequirements.txtを含める。依存パッケージのインストールを有効にする設定と、MAR ファイルを生成するコマンドを示す。

  1. config.propertiesファイルにinstall_py_dep_per_model=trueを記述
  2. requirements.txtに使いたいパッケージを書く
  3. 下記スクリプトで MAR ファイルを生成
1
2
3
4
torch-model-archiver --model-name <your_model_name> --version 1.0  --serialized-file <your_model_name>.pt --extra-files ./index_to_name.json --handler <**path/to/your_custom_handler_py_file**> --requirements-file <your_requirements_txt>

mkdir model-store
mv <your_model_name>.mar model-store/
  1. torchserve --start ...で起動

この方法でリクエストを送ると、レスポンスが返ってきた。外部ライブラリを使う機能も、正しく動作していると確認できた。

別の方法

pip install -r requirements.txtを実行、--requirements-file <your_requirements_txt>の部分をなくしてtorch-model-archiver ...を実行しても動くことを確認。

参考

Serve custom models with third party dependency | TorchServe