当我尝试进行在线预测时,出现以下错误作为响应:
{
"error": "Prediction failed: unknown error."
}
我已经上传了自定义的预测例程。在尝试自定义代码之前,我已经成功地运行了没有自定义代码的简单预测,因此我猜想输入数据的格式是正确的。
我的预测变量如下:
import numpy as np
from tensorflow import keras
class MyPredictor(object):
def __init__(self, model):
self._model = model
def process_array(self, image_array, expand=True):
...
def process_output(self, output_tensor):
...
def predict(self, instances, **kwargs):
inputs = np.asarray(instances) # Mhpws np.array?
preprocessed_inputs = self.process_array(inputs)
outputs = self._model.predict(preprocessed_inputs)[0]
processed_outputs = self.process_output(outputs)
return processed_outputs.tolist()
@classmethod
def from_path(cls, model_dir):
model = keras.models.load_model(model_dir)
return cls(model)
和setup.py:
from setuptools import setup
setup(
name='my_custom_code',
version='0.2',
scripts=['predictor.py'])
我用于获取预测的命令如下:
MODEL_NAME="pscnn"
INPUT_DATA_FILE="input_single.json"
VERSION_NAME="v1b"
gcloud ai-platform predict --model $MODEL_NAME --version $VERSION_NAME --json-instances $INPUT_DATA_FILE