Python GCP上的Tensorflow模型-将JSON预测请求转换为正确的模型输入
我已经使用可以找到的CNN的Wild ML实现训练了一个模型,并将其部署到Google云平台。我现在正试图向模型发送JSON预测请求,但出现以下错误:Python GCP上的Tensorflow模型-将JSON预测请求转换为正确的模型输入,python,tensorflow,machine-learning,neural-network,google-cloud-platform,Python,Tensorflow,Machine Learning,Neural Network,Google Cloud Platform,我已经使用可以找到的CNN的Wild ML实现训练了一个模型,并将其部署到Google云平台。我现在正试图向模型发送JSON预测请求,但出现以下错误: Traceback (most recent call last): File "C:/Users/XXX/PycharmProjects/CNN-Prediction/prediction.py", line 73, in <module> print(predict_json(project, model, [json
Traceback (most recent call last):
File "C:/Users/XXX/PycharmProjects/CNN-Prediction/prediction.py", line 73, in <module>
print(predict_json(project, model, [json_request], version="TestV2"))
File "C:/Users/XXX/PycharmProjects/CNN-Prediction/prediction.py", line 63, in predict_json
raise RuntimeError(response['error'])
RuntimeError: Prediction failed: Error during model execution: AbortionError(code=StatusCode.INVALID_ARGUMENT, details="Shape [-1,11] has negative dimensions
[[Node: input_y = Placeholder[_output_shapes=[[-1,11]], dtype=DT_FLOAT, shape=[?,11], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]")
这个问题与train.py和text_cnn.py没有任何关系。他们建立你的模型。构建模型后,在eval.py代码中执行以下修改 首先,可以使用参数库获取JSON文件
import argparse
parser = argparser.ArgumentParser()
# Input Arguments
parser.add_argument(
'--eval-file',
help='local paths to evaluation data',
nargs='+',
required=True
)
args = parser.parse_args()
然后,您可以按如下方式执行代码:
python eval.py-eval文件YourJSONFile
然后用,
import json
json.loads(Data)
从args获取数据或使用dict库
将数据转换为以下数组格式:
x_raw = ["key", "Value"]
x_test = np.array(list(vocab_processor.transform(x_raw)))
将数据转换为x_raw后,上面的代码将数据转换为TensorFlow的适当格式
x_raw = ["key", "Value"]
x_test = np.array(list(vocab_processor.transform(x_raw)))