我使用TF Hub重新训练模型进行图像分类。现在我想在云中服务它。为此,我需要一个SavedModel
。来自TF Hub的retrain.py脚本在训练完成后使用tf.saved_model.simple_save
生成SavedModel
。
令我困惑的是,我从该方法获得的SavedModel文件夹中的.pb文件比训练后保存的最终.pb要小得多。
simple_save
现在也被弃用了,我试图在训练完成之后获得我的SavedModel
这个SO issue。
但我的variables folder
是空的。如何在SavedModel
中加入retrain.py
构建来替换simple_save方法?提示将不胜感激。
要将模型部署到Google Cloud ML,您需要一个可以从tf.saved_model
api生成的SavedModel。
以下是使用Cloud ML Engine在云中托管训练模型的步骤。
BUCKET_NAME="your_bucket_name"
设置云存储桶,将您保存的模型上传到云存储桶REGION
环境变量。 EGION=us-central1
gsutil mb -l $REGION gs://$BUCKET_NAME
SAVED_MODEL_DIR=$(ls ./your-export-dir-base | tail -1)
gsutil cp -r $SAVED_MODEL_DIR gs://your-bucket
上传另外,关于将savedmodel合并到retrain.py中的问题,您需要将保存的模型作为参数传递给tfhub_module
行,如下所示。
python retrain.py --image_dir C: ...\\code\\give the path here --tfhub_module C:
...给出保存的模型目录的路径