Tensorflow会话管理问题|当会话由其他TF模块管理时

时间:2018-12-06 04:42:54

标签: python amazon-web-services tensorflow amazon-sagemaker

我正在使用外部模块进行张量流工作,尝试从pickle文件中的flask应用程序中使用会话模块时遇到会话管理问题,有人可以帮助我

  

ValueError:Tensor(“ TensorSliceDataset:0”,shape =(),dtype = variant)   必须来自与Tensor(“ Iterator:0”,shape =()相同的图,   dtype = resource)。

示例代码结构

AB

有关错误的更多详细信息

from io import StringIO
import flask
import pandas as pd
import tensorrec as tr
import tensorflow as tf


class ScoringService(object):
    model = None                
    model_path = 'path for pickle file'
    @classmethod
    def get_model(cls):
        if cls.model == None:
            cls.model = tr.TensorRec.load_model(model_path)

        return cls.model

    @classmethod
    def get_reco(cls, model,use_ft, ite_ft):
            tf.reset_default_graph()
            predictions = model.predict(use_ft, ite_ft)
        return predictions

    @classmethod
    def predict(cls, input):
        clf = cls.get_model()
        n_reco_test = cls.get_reco(clf, input,use_ft, ite_ft)
        return n_reco_test

# The flask app for serving predictions
app = flask.Flask(__name__)

@app.route('/invocations', methods=['POST'])
def transformation():
    data = None

    # Convert from CSV to pandas
    if flask.request.content_type == 'text/csv':
        data = flask.request.data.decode('utf-8')
        s = StringIO(data)
        data = pd.read_csv(s, header=None)
    else:
        return flask.Response(response='This predictor only supports CSV data', status=415, mimetype='text/plain')
    # Do the prediction
    predictions = ScoringService.predict(data)
    return flask.Response(response=predictions, status=200,mimetype='text/csv')

0 个答案:

没有答案