部署前先到这里下载已训练好的Inception ResNet V2模型。
下载后解压得到如下图所示文件
将上图所示pb文件用saved_model模块导出为带有签名的模型文件
import tensorflow as tf
import numpy as np
from tensorflow.python.saved_model import tag_constants
model_path = "/home/boss/Study/face_recognition_flask/20180402-114759/model.pb"
image_test = np.random.randint(0,10,(1,160,160,3)) # 随机生成一个[1,160,160,3]的数组,代表一张图片,用于测试
with tf.gfile.FastGFile(model_path,'rb')as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
tf.import_graph_def(graph_def,name='')
my_graph = tf.get_default_graph()
# 从读取的pb文件中找到相关张量,构造要保存到saved_model模型中的张量
images_placeholder = my_graph.get_tensor_by_name('input:0') # 传入Inception ResNet V2的placeholder
embeddinigs = my_graph.get_tensor_by_name('embeddings:0') # Inception ResNet V2的输出,为人脸的特征数组,形状为[1,512]
phase_train_placeholder = my_graph.get_tensor_by_name('phase_train:0')# 传入Inception ResNet V2告诉神经网络是否是在训练阶段,值域为[True,False]
with tf.Session