Python 作为服务的Tensorflow模型给出了错误

Python 作为服务的Tensorflow模型给出了错误,python,tensorflow,flask,Python,Tensorflow,Flask,我想使用冻结pb模型,但有这样一个问题: ValueError:无法将Fetch参数解释为张量。(操作名称:“init_1” 作品:《努普》 不是此图的元素。) 堆栈跟踪: 回溯(最近一次呼叫最后一次): 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1997行,调用__ 返回self.wsgi_应用程序(环境,启动响应) wsgi_应用程序中的文件“/home/anaconda3/lib/python3.6/site

我想使用冻结pb模型,但有这样一个问题:

ValueError:无法将Fetch参数解释为张量。(操作名称:“init_1” 作品:《努普》 不是此图的元素。)

堆栈跟踪:

回溯(最近一次呼叫最后一次): 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1997行,调用__ 返回self.wsgi_应用程序(环境,启动响应) wsgi_应用程序中的文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,1985行 response=self.handle\u异常(e) 文件“/home/anaconda3/lib/python3.6/site packages/flask\u cors/extension.py”,第161行,包装函数 请求后返回cors(应用程序作出响应(f(*args,**kwargs))) 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1540行,在句柄中 重放(exc_类型、exc_值、tb) 文件“/home/anaconda3/lib/python3.6/site packages/flask/_compat.py”,第33行,重新登录 增值 wsgi_应用程序中的文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1982行 response=self.full\u dispatch\u request() 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1614行,完整发送请求 rv=自身处理用户异常(e) 文件“/home/anaconda3/lib/python3.6/site packages/flask\u cors/extension.py”,第161行,包装函数 请求后返回cors(应用程序作出响应(f(*args,**kwargs))) 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1517行,在handle\u user\u异常中 重放(exc_类型、exc_值、tb) 文件“/home/anaconda3/lib/python3.6/site packages/flask/_compat.py”,第33行,重新登录 增值 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1612行,完整发送请求 rv=自我分派请求() 文件“/home/anaconda3/lib/python3.6/site packages/flask/app.py”,第1598行,在调度请求中 返回self.view_函数[rule.endpoint](**req.view_参数) 文件“/home/notebook/tensorflow-open_nsfw-master/tf.py”,第32行,在“预测”中 persistent_sess.run(tf.global_variables_initializer()) 文件“/home/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第778行,正在运行 运行_元数据_ptr) 文件“/home/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第969行,正在运行 fetch\u handler=\u FetchHandler(self.\u图形、fetches、feed\u dict\u字符串) 文件“/home/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第408行,在__ self.\u fetch\u mapper=\u FetchMapper.for\u fetch(fetches) 文件“/home/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第238行,for_fetch return\u ElementFetchMapper(fetches,contraction\u fn) 文件“/home/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第274行,在__ 张量。(%s)'(提取,str(e))) ValueError:无法将Fetch参数解释为张量。(操作名称:“init_5” 作品:《努普》 不是此图的元素。)
请显示完整的堆栈跟踪。错误发生在哪里?我添加了完整的stacktraceDoes加载和使用模型工作(无烧瓶)?你能为这种情况提供一个解决方案吗?
import base64
import json, argparse, time
import sys
import tensorflow as tf

from flask import Flask, request
from flask_cors import CORS

app = Flask(__name__)
cors = CORS(app)

def load_graph(frozen_graph_filename):
    with tf.gfile.GFile(frozen_graph_filename, "rb") as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())

    with tf.Graph().as_default() as graph:
        tf.import_graph_def(graph_def, name="prefix")
    return graph


@app.route("/predict", methods=['GET'])
def predict():
    start = time.time()

    persistent_sess.run(tf.global_variables_initializer())

    image_b64 = base64.urlsafe_b64encode(open('1.jpg', "rb").read())
    y_out = persistent_sess.run(y, feed_dict={ x:image_b64 })

    return 'Success'

if __name__ == "__main__":
    try:
        port = int(sys.argv[1])
    except Exception as e:
        port = 80

    print('Loading the model')
    graph = load_graph('output/open_nsfw.pb')
    x = graph.get_tensor_by_name('prefix/input:0')
    y = graph.get_tensor_by_name('prefix/predictions:0')

    persistent_sess = tf.Session(graph=graph)

    print('Starting the API')
    app.run(host='0.0.0.0', port=port, debug=True)