這個工具可以合并所有 TensorFlow 模型到同一個可以用于 TensorFlow Serving 格式的大模型. 它有如下優(yōu)勢
- 可以將小模型合并到同一模型中, 更容易部署.
- 因?yàn)榭梢院喜? 故每次部署的模型名字都是相同的, 只是版本不同, 根據(jù) TensorFlow Serving 的特性, 可以進(jìn)行熱部署.
詳情查看 GitHub.
用法
- 將訓(xùn)練并 frozen 后的模型放入
./frozen文件夾下; - 在
export_serving_model.py中添加導(dǎo)出信息;- 設(shè)置更新信息
UPDATE_MESSAGE - 定義導(dǎo)出函數(shù)
- 在函數(shù)上方添加
@ServingInfo.export修飾即可導(dǎo)出(如不添加, 則不導(dǎo)出此模型)
- 設(shè)置更新信息
- 運(yùn)行
export_serving_model.py腳本; - 將
./serving/{version}拷貝到服務(wù)器部署;
說明
運(yùn)行 export_serving_model.py 會自動在文件夾 ./serving 中生成(或修改)兩個文件:
-
current_version: 表示當(dāng)前版本, 里面記錄了更新信息. -
exported_models: 表示已導(dǎo)出的模型.
已導(dǎo)出的模型
| model | signature_name | input_signature_map | output_signature_map | frozen location(./frozen) |
|---|---|---|---|---|
| [model description] | hyaudio_1 | 'inputs':'hyaudio/vggish_input:0' |
'classes':'hyaudio/predict_classes:0', 'probs':'hyaudio/predict_probs:0' |
audio/hyaudio.pb |
| [model description] | hyaudio_2 | 'inputs':'hyaudio/vggish_input:0' |
'classes':'hyaudio/predict_classes:0', 'probs':'hyaudio/predict_probs:0' |
audio/hyaudio.pb |
檢查導(dǎo)出的模型
使用官方的 SavedModel CLI 工具.
查看所有 SignatureDef 簽名:
saved_model_cli show --dir ./serving/1 --tag_set serve
查看指定模型的所有輸入, 輸出節(jié)點(diǎn)信息:
saved_model_cli show --dir ./serving/1 --tag_set serve --signature_def audio_hyaudio