[英]Tensorflow: How to use a trained model in a application?
我已经训练了一个 Tensorflow 模型,现在我想导出“函数”以在我的 python 程序中使用它。 这是可能的,如果是,如何? 任何帮助都会很好,在文档中找不到太多内容。 (我不想保存会话!)
我现在已经按照你的建议存储了会话。 我现在像这样加载它:
f = open('batches/batch_9.pkl', 'rb')
input = pickle.load(f)
f.close()
sess = tf.Session()
saver = tf.train.Saver()
saver.restore(sess, 'trained_network.ckpt')
y_pred = []
sess.run(y_pred, feed_dict={x: input})
print(y_pred)
但是,当我尝试初始化保护程序时,出现错误“没有要保存的变量”。
我想要做的是:我正在为棋盘游戏编写机器人,输入是棋盘上的情况格式化为张量。 现在我想返回一个张量,它为我提供了接下来要播放的最佳位置,即一个处处为 0 而一个位置处为 1 的张量。
我不知道是否还有其他方法可以做到这一点,但是您可以通过保存会话在另一个 Python 程序中使用您的模型:
您的训练代码:
# build your model
sess = tf.Session()
# train your model
saver = tf.train.Saver()
saver.save(sess, 'model/model.ckpt')
在您的应用程序中:
# build your model (same as training)
sess = tf.Session()
saver = tf.train.Saver()
saver.restore(sess, 'model/model.ckpt')
然后,您可以使用 feed_dict 评估模型中的任何张量。 这显然取决于您的型号。 例如:
#evaluate tensor
sess.run(y_pred, feed_dict={x: input_data})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.