TensorFlow模型合并工具

这个工具可以合并所有 TensorFlow 模型到同一个可以用于 TensorFlow Serving 格式的大模型. 它有如下优势

  • 可以将小模型合并到同一模型中, 更容易部署.
  • 因为可以合并, 故每次部署的模型名字都是相同的, 只是版本不同, 根据 TensorFlow Serving 的特性, 可以进行热部署.

详情查看 GitHub.

用法

  1. 将训练并 frozen 后的模型放入 ./frozen 文件夹下;
  2. export_serving_model.py 中添加导出信息;
    • 设置更新信息 UPDATE_MESSAGE
    • 定义导出函数
    • 在函数上方添加 @ServingInfo.export 修饰即可导出(如不添加, 则不导出此模型)
  3. 运行 export_serving_model.py 脚本;
  4. ./serving/{version} 拷贝到服务器部署;

说明

运行 export_serving_model.py自动在文件夹 ./serving 中生成(或修改)两个文件:

  • current_version: 表示当前版本, 里面记录了更新信息.
  • exported_models: 表示已导出的模型.

已导出的模型

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

检查导出的模型

使用官方的 SavedModel CLI 工具.

查看所有 SignatureDef 签名:

saved_model_cli show --dir ./serving/1 --tag_set serve

查看指定模型的所有输入, 输出节点信息:

saved_model_cli show --dir ./serving/1 --tag_set serve --signature_def audio_hyaudio

你可能感兴趣的:(TensorFlow模型合并工具)