我想使用一个冷冻的pb模型,但有这样的问题:
ValueError:Fetch参数不能解释为Tensor . (操作名称:“init_1”op:“NoOp”不是此图的元素 . )
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)
堆栈跟踪:
Traceback(最近一次调用最后一次):文件“/home/anaconda3/lib/python3.6/site-packages/flask/app.py”,第1997行,在__call__中返回self.wsgi_app(environ,start_response)文件“/ home / anaconda3 / lib / python3.6 / site-packages / flask / app.py“,第1985行,在wsgi_app response = self.handle_exception(e)文件”/home/anaconda3/lib/python3.6/site-packages /flask_cors/extension.py“,第161行,在wrapped_function中返回cors_after_request(app.make_response(f(* args,** kwargs)))文件”/home/anaconda3/lib/python3.6/site-packages/flask/ app.py“,第1540行,在handle_exception中重新加载(exc_type,exc_value,tb)文件”/home/anaconda3/lib/python3.6/site-packages/flask/_compat.py“,第33行,在重新加注值文件“/home/anaconda3/lib/python3.6/site-packages/flask/app.py”,第1982行,在wsgi_app response = self.full_dispatch_request()文件“/home/anaconda3/lib/python3.6/site- packages / flask / app.py“,第1614行,在full_dispatch_request中rv = self.handle_user_exception(e)文件”/home/anaconda3/lib/python3.6/site -packages / flask_cors / extension.py“,第161行,在wrapped_function中返回cors_after_request(app.make_response(f(* args,** kwargs)))文件”/home/anaconda3/lib/python3.6/site-packages/ flask / app.py“,第1517行,在handle_user_exception中重新加载(exc_type,exc_value,tb)文件”/home/anaconda3/lib/python3.6/site-packages/flask/_compat.py“,第33行,再加注值文件“/home/anaconda3/lib/python3.6/site-packages/flask/app.py”,第1612行,在full_dispatch_request中rv = self.dispatch_request()文件“/home/anaconda3/lib/python3.6/ site-packages / flask / app.py“,第1598行,在dispatch_request中返回self.view_functions [rule.endpoint](** req.view_args)文件”/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行,运行run_metadata_ptr)文件“/home/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py”,第9行69,在_run fetch_handler = FetchHandler(self.graph,fetches,feed_dict_string)文件“/home/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py”,第408行,在__init self中.fetch_mapper = FetchMapper.for_fetch(fetches)文件“/home/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py”,第238行,in_fetch返回_ElementFetchMapper(fetches,contraction_fn)文件“/home/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py”,第274行,在__init'Tensor中 . (%s)'%(fetch,str(e)))ValueError:Fetch参数不能解释为Tensor . (操作名称:“init_5”op:“NoOp”不是此图的元素 . )