我在这里搜索了很多,但不幸的是找不到答案。
我正在TensorFlow 1.3
本地机器上运行(通过 MacOS 上的 PiP 安装),并使用提供的“ ssd_mobilenet_v1_coco
”检查点创建了一个模型。
我设法在本地和 ML-Engine(运行时 1.2)上进行训练,并成功地将我的 savedModel 部署到 ML-Engine。
本地预测(下面的代码)工作正常,我得到了模型结果
gcloud ml-engine local predict --model-dir=... --json-instances=request.json
FILE request.json: {"inputs": [[[242, 240, 239], [242, 240, 239], [242, 240, 239], [242, 240, 239], [242, 240, 23]]]}
但是,在部署模型并尝试在 ML-ENGINE 上运行以使用以下代码进行远程预测时:
gcloud ml-engine predict --model "testModel" --json-instances request.json(SAME JSON FILE AS BEFORE)
我收到此错误:
{
"error": "Prediction failed: Exception during model execution: AbortionError(code=StatusCode.INVALID_ARGUMENT, details=\"NodeDef mentions attr 'data_format' not in Op<name=DepthwiseConv2dNative; signature=input:T, filter:T -> output:T; attr=T:type,allowed=[DT_FLOAT, DT_DOUBLE]; attr=strides:list(int); attr=padding:string,allowed=[\"SAME\", \"VALID\"]>; NodeDef: FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/depthwise = DepthwiseConv2dNative[T=DT_FLOAT, _output_shapes=[[-1,150,150,32]], data_format=\"NHWC\", padding=\"SAME\", strides=[1, 1, 1, 1], _device=\"/job:localhost/replica:0/task:0/cpu:0\"](FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6, FeatureExtractor/MobilenetV1/Conv2d_1_depthwise/depthwise_weights/read)\n\t [[Node: FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/depthwise = DepthwiseConv2dNative[T=DT_FLOAT, _output_shapes=[[-1,150,150,32]], data_format=\"NHWC\", padding=\"SAME\", strides=[1, 1, 1, 1], _device=\"/job:localhost/replica:0/task:0/cpu:0\"](FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6, FeatureExtractor/MobilenetV1/Conv2d_1_depthwise/depthwise_weights/read)]]\")"
}
我在这里看到了类似的东西:https ://github.com/tensorflow/models/issues/1581
关于“数据格式”参数的问题。但不幸的是,我无法使用该解决方案,因为我已经在 TensorFlow 1.3 上。
看来也可能是MobilenetV1的问题:https://github.com/tensorflow/models/issues/2153
有任何想法吗?