我是python新手,正在尝试用TensorFlow构建一个应用程序。基本上我需要的是从加载的神经网络中获取功能,这需要大约3分钟的加载时间。
我希望我上面的脚本在启动时只加载一次神经网络,并且我可以调用rest函数来将图像提供给网络。
from flask import Flask, request
from flask_restful import Resource, Api
from scipy import misc
import tensorflow as tf
import numpy as np
import sys
import os
import argparse
class ImageFeatures(Resource):
def get(self,img):
image = misc.imread(os.path.expanduser("Img/Abc_001.jpg"))
feed_dict = { images_placeholder: image, phase_train_placeholder:False }
emb = sess.run(embeddings, feed_dict=feed_dict)
return(emb)
with tf.Graph().as_default():
with tf.Session() as sess:
model_dir = 'Model/'
meta_file, ckpt_file = facenet.get_model_filenames(os.path.expanduser(model_dir))
facenet.load_model(model_dir, meta_file, ckpt_file)
images_placeholder = tf.get_default_graph().get_tensor_by_name("input:0")
embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
phase_train_placeholder = tf.get_default_graph().get_tensor_by_name("phase_train:0")
print("Rest Running")
app = Flask(__name__)
api = Api(app)
api.add_resource(ImageFeatures, '/getFeatures/<img>')
if __name__ == '__main__':
app.run(port='5002')发布于 2018-01-17 17:07:53
查看https://github.com/PipelineAI/pipeline
我们将您的TensorFlow模型(或任何类型的模型)打包到基于REST的运行时中。
https://stackoverflow.com/questions/48243367
复制相似问题