在使用github代码here将其传输到保存的模型后,我尝试在Google Cloud平台上部署经过Mask-RCNN训练的COCO模型权重(链接mrcnn_serving_ready)。但是,将已保存的模型上传到Google存储桶并在Google AI平台中创建版本后,出现以下错误:
Create Version failed. Model validation failed: Outer dimension for outputs must be unknown, outer dimension of 'mrcnn_detection/Reshape_1:0' is 1
我尝试将第一个输出张量mrcnn_detection/Reshape_1:0
从(?, 100, 6)
重塑为(1, 100, 6)
。但是,无法成功。
在Mask-RCNN中加载可可粉:
model = MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=config)
model.load_weights(PATH_TO_MASK_RCNN_COCO_h5, by_name=True)
model.keras_model.inputs
结果:
[<tf.Tensor 'input_image:0' shape=(?, ?, ?, 3) dtype=float32>,
<tf.Tensor 'input_image_meta:0' shape=(?, 14) dtype=float32>,
<tf.Tensor 'input_anchors:0' shape=(?, ?, 4) dtype=float32>]
model.keras_model.outputs
结果:
[<tf.Tensor 'mrcnn_detection/Reshape_1:0' shape=(1, 100, 6) dtype=float32>,
<tf.Tensor 'mrcnn_class/Reshape_1:0' shape=(?, 1000, 2) dtype=float32>,
<tf.Tensor 'mrcnn_bbox/Reshape:0' shape=(?, 1000, 2, 4) dtype=float32>,
<tf.Tensor 'mrcnn_mask/Reshape_1:0' shape=(?, 100, 28, 28, 2) dtype=float32>,
<tf.Tensor 'ROI/packed_2:0' shape=(1, ?, 4) dtype=float32>,
<tf.Tensor 'rpn_class/concat:0' shape=(?, ?, 2) dtype=float32>,
<tf.Tensor 'rpn_bbox/concat:0' shape=(?, ?, 4) dtype=float32>]
使用mrcnn_serving_ready保存的模型的结果是saved_model.pb
,其中有一个空的variables
文件夹和一个frozen_graph.pb
。但是,我仅上传了saved_model.pb
。
Google AI平台版本创建设置
:Python version: 3.5
TensorFlow: 1.14.0
Runtime version: 1.14
Machine type: Single core CPU
对于解决此问题的任何想法或建议,我们将不胜感激。