jan*_*912 5 python machine-learning werkzeug tensorflow tensorflow-serving
我正在编写一个使用flask框架的客户端python文件,并在docker机器中运行它。因此,这需要一个输入文件并产生输出。但是它引发了无法转换为张量的错误。
tf.app.flags.DEFINE_string('server', 'localhost:9000', 'PredictionService host:port')
FLAGS = tf.app.flags.FLAGS
app = Flask(__name__)
class mainSessRunning():
def __init__(self):
host, port = FLAGS.server.split(':')
channel = implementations.insecure_channel(host, int(port))
self.stub = prediction_service_pb2.beta_create_PredictionService_stub(channel)
self.request = predict_pb2.PredictRequest()
self.request.model_spec.name = 'modelX'
self.request.model_spec.signature_name = 'prediction'
def inference(self, val_x):
data = val_x
self.request.inputs['input'].CopyFrom(tf.contrib.util.make_tensor_proto(data))
result = self.stub.Predict(self.request, 5.0)
return result
run = mainSessRunning()
# Define a route for the default URL, which loads the form
@app.route('/pred', methods=['POST'])
def pred():
request_data = request.files['file']
result = run.inference(request_data)
rs = json_format.MessageToJson(result)
return jsonify({'result':rs})
Run Code Online (Sandbox Code Playgroud)
错误提示:
TypeError:无法将类型(类“ werkzeug.datastructures.File.Storage”)的对象转换为张量。内容:(文件存储:u'File.txt'('text / plain'))。考虑将元素强制转换为受支持的类型
这行产生错误:
self.request.inputs ['input']。CopyFrom(tf.contrib.util.make_tensor_proto(data))
归档时间: |
|
查看次数: |
307 次 |
最近记录: |