python - 在 tf.session() 中更改张量的值
问题描述
我建立了一个神经网络模型,我想在 tensorflow 的会话中更改某个张量的值。
例如,如果我们忽略要简化的模型,但我们要优化这个张量:
# construct an optimizer
train_op = tf.train.AdamOptimizer(learning_rate=0.05).minimize(cost)
在我可以在会话中运行我的模型来训练它之后。
但我想打开一个会话并更改张量 train_op 的值,例如我有这个:
with tf.Session() as sess:
#initialize all variables
tf.initialize_all_variables().run()
for i in range(iteraciones):
#Prepare input(minibach) to feed model
input_ = trainCluster0[0:len(train)]
# train model
sess.run(train_op, feed_dict={X: input_})
print(i, sess.run(cost, feed_dict={X: train}))
#Save model in last epoch
if(i == iteraciones-1):
save_path = saver.save(sess, "/tmp/model.ckpt")
print("Model saved.")
我想要这样的东西:
with tf.Session() as sess:
#initialize all variables
tf.initialize_all_variables().run()
#Change value of tensor train_op
# train_op = tf.train.AdamOptimizer(learning_rate=value).minimize(cost)
...
...
for i in range(iteraciones):
#Prepare input(minibach) to feed model
input_ = trainCluster0[0:len(train)]
# train model
sess.run(train_op, feed_dict={X: input_})
print(i, sess.run(cost, feed_dict={X: train}))
#Save last epoch and test
if(i == iteraciones-1):
save_path = saver.save(sess, "/tmp/model.ckpt")
print("Model saved.")
我怎样才能做到这一点?即重用具有不同优化参数的模型。
提前致谢。
解决方案
已解决:感谢@jdehesa
解决方案是将此占位符添加到模型中:
#Tensor placeholder to parametizer learning rate of optimizer
learning = tf.placeholder("float", name='learning')
# construct an optimizer
train_op = tf.train.AdamOptimizer(learning).minimize(cost)
这对于 sess.run:
with tf.Session() as sess:
# we need to initialize all variables
tf.initialize_all_variables().run()
RATIO = 0.001
ITERATIONS = 1000
for i in range(ITERATIONS):
#Prepare input(minibach) from feed autoencoder
input_ = trainCluster0[0:len(trainCluster0)]
# train autoencoder
sess.run(train_op, feed_dict={X: input_, learning: RATIO})
print(i, sess.run(cost, feed_dict={X: input_}))
#Save last epoch and test
if(i == ITERATIONS-1):
save_path = saver.save(sess, "/tmp/modelCluster0.ckpt")
print("Model saved.")
推荐阅读
- machine-learning - 通过使用多个分类器而不是一个来提高性能
- php - 如何使用 php ajax 在不重新加载页面的情况下 file_get_contents 和刷新数据
- java - 启动 TypeScript Echo 服务器调试
- python - 函数中的 sys.exc_info() 问题返回 None 元组
- sql - SQL:压缩重复的 COUNTIF:
- python - 如何使用密码学从 python 中的用户输入中解密消息?
- excel - 如何从“总货币”VBA /BDP 中提取货币
- javascript - 转换 require 以导入 es6
- mysql - 使用 sequelize 按月获取数据
- php - 如何编写一个选择具有特定 ID 的行数的 sql 语句?