Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow Google Cloud ml引擎无法预测多个输入_Tensorflow_Google Cloud Platform_Predict_Google Cloud Ml - Fatal编程技术网

Tensorflow Google Cloud ml引擎无法预测多个输入

Tensorflow Google Cloud ml引擎无法预测多个输入,tensorflow,google-cloud-platform,predict,google-cloud-ml,Tensorflow,Google Cloud Platform,Predict,Google Cloud Ml,预测仅在提供单个instance.json时成功 测试1:instance.json的内容: {"serving_input": [20.0, 0.0, 1.0 ... 0.16474569041197143, 0.04138248072194471], "prediction_id": 0, "keep_prob": 1.0} {"serving_input": [20.0, 0.0, 1.0 ... 0.16474569041197143, 0.04138248072194471], "p

预测仅在提供单个instance.json时成功

测试1:instance.json的内容:

{"serving_input": [20.0, 0.0, 1.0 ... 0.16474569041197143, 0.04138248072194471], "prediction_id": 0, "keep_prob": 1.0}
{"serving_input": [20.0, 0.0, 1.0 ... 0.16474569041197143, 0.04138248072194471], "prediction_id": 0, "keep_prob": 1.0}
{"serving_input": [21.0, 2.0, 3.0 ... 3.14159265359, 0.04138248072194471], "prediction_id": 1, "keep_prob": 1.0}
预测(本地和在线预测的输出相同)

gcloud ml engine local predict--model dir=./model_dir--json instances=instances.json

输出:

SERVING_OUTPUT                         ARGMAX  PREDICTION_ID  SCORES      TOP_K
[-340.6920166015625, -1153.0877685546875]  0       0              [1.0, 0.0]  [1.0, 0.0]
.. Incompatible shapes: [2] vs. [2,108] .. (_arg_keep_prob_0_1, Model/dropout/random_uniform)
测试2:instance.json的内容:

{"serving_input": [20.0, 0.0, 1.0 ... 0.16474569041197143, 0.04138248072194471], "prediction_id": 0, "keep_prob": 1.0}
{"serving_input": [20.0, 0.0, 1.0 ... 0.16474569041197143, 0.04138248072194471], "prediction_id": 0, "keep_prob": 1.0}
{"serving_input": [21.0, 2.0, 3.0 ... 3.14159265359, 0.04138248072194471], "prediction_id": 1, "keep_prob": 1.0}
输出:

SERVING_OUTPUT                         ARGMAX  PREDICTION_ID  SCORES      TOP_K
[-340.6920166015625, -1153.0877685546875]  0       0              [1.0, 0.0]  [1.0, 0.0]
.. Incompatible shapes: [2] vs. [2,108] .. (_arg_keep_prob_0_1, Model/dropout/random_uniform)
其中as 108是第一个隐藏层的大小(净尺寸=[2015108,2])。(用tf.nn.dropout初始化,因此keep_prob=1.0)

导出代码:

probabilities = tf.nn.softmax(self.out_layer)
top_k, _ = tf.nn.top_k(probabilities, self.network_dim[-1])

prediction_signature = (
    tf.saved_model.signature_def_utils.predict_signature_def(
        inputs={'serving_input': self.x, 'keep_prob': self.keep_prob,
                'prediction_id': self.prediction_id_in},
        outputs={'serving_output': self.out_layer, 'argmax': tf.argmax(self.out_layer, 1),
                 'prediction_id': self.prediction_id_out, 'scores': probabilities, 'top_k': top_k}))

builder.add_meta_graph_and_variables(
    sess,
    tags=[tf.saved_model.tag_constants.SERVING],
    signature_def_map={
        tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
            prediction_signature
    },
    main_op=tf.saved_model.main_op.main_op())
builder.save()

如何格式化instance.json以执行批处理预测?(使用多个输入实例进行预测)

问题不在json中。查看您是如何使用self.x的 我认为您的代码假设它是一个1D数组,而您应该将其视为形状张量[?,108]