我正在使用tensorflow_model_server提供SavedModel。我不断收到此响应代码400和以下错误:
{ "error": "The first dimension of paddings must be the rank of inputs[4,2] [1,1,1,208,770,3]\\n\\t [[{{node Generator/FlatConv/sequential/zero_padding2d/Pad}}]]" }
Saved-model-cli show的输出...
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs: signature_def['__saved_model_init_op']: The given SavedModel SignatureDef contains the following input(s): The given SavedModel SignatureDef contains the following output(s): outputs['__saved_model_init_op'] tensor_info: dtype: DT_INVALID shape: unknown_rank name: NoOp Method name is: signature_def['serving_default']: The given SavedModel SignatureDef contains the following input(s): inputs['input_1'] tensor_info: dtype: DT_FLOAT shape: (-1, -1, -1, 3) name: serving_default_input_1:0 The given SavedModel SignatureDef contains the following output(s): outputs['output_1'] tensor_info: dtype: DT_FLOAT shape: (-1, -1, -1, 3) name: StatefulPartitionedCall:0 Method name is: tensorflow/serving/predict WARNING:tensorflow:From /tensorflow-1.15.0/python3.6/tensorflow_core/python/ops/resource_variable_ops.py:1781: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version. Instructions for updating: If using Keras pass *_constraint arguments to layers. Defined Functions: Function Name: '_default_save_signature' Option #1 Callable with: Argument #1 input_1: TensorSpec(shape=(?, ?, ?, 3), dtype=tf.float32, name='input_1')
预处理
img_path = "/content/input_images/my_img.jpg" img = np.array(Image.open(img_path).convert("RGB")) img = np.expand_dims(img, 0).astype(np.float32) / 127.5 - 1
请求代码:
payload = { "instances": [{'input_1': [input_image.tolist()]}] } headers = {"content-type": "application/json"} json_response = requests.post('http://localhost:8501/v1/models/my_model:predict', data=json.dumps(payload), headers=headers) print("Request complete") print (json_response) response_text = json_response.text response_text
响应/输出
Request complete <Response [400]> '{ "error": "The first dimension of paddings must be the rank of inputs[4,2] [1,1,1,449,674,3]\\n\\t [[{{node Generator/FlatConv/sequential/zero_padding2d/Pad}}]]" }'
代码在Colab上运行
我不明白这里出了什么问题。
我正在使用tensorflow_model_server提供SavedModel。我不断收到此响应代码400和以下错误:{“ error”:“填充的第一维必须是输入的等级[4,2] [1,1,1,...