小编Ste*_*Xie的帖子

我如何通过tensorflow.layer获取张量输出

我使用较高级别的Tensorflow层创建了CNN模型,例如

conv1 = tf.layers.conv2d(...)
maxpooling1 = tf.layers.max_pooling2d(...)
conv2 = tf.layers.conv2d(...)
maxpooling2 = tf.layers.max_pooling2d(...)
flatten = tf.layers.flatten(...)
logits = tf.layers.dense(...)
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(...))
optimizer = tf.train.AdadeltaOptimizer(init_lr).minimize(loss)
acc = tf.reduce_mean(...)
Run Code Online (Sandbox Code Playgroud)

该模型已经过良好训练和保存,到目前为止一切都很好。接下来,我想加载此保存的模型,更改学习率,然后继续训练(我知道tensorflow提供了exponential_decay()函数以允许衰减学习率,在这里我只想完全控制学习率,然后手动进行更改)。为此,我的想法是:

saver = tf.train.import_meta_grah(...)
saver.restore(sess, tf.train.latest_chechpoint(...))
graph = tf.get_default_graph()

inputImg_ = graph.get_tensor_by_name(...)  # this is place_holder in model
labels_ = graph.get_tensor_by_name(...)  # place_holder in model
logits = graphget_tensor_by_name(...) # output of dense layer
loss = grah.get_tensor_by_name(...) # loss
optimizer = tf.train.AdadeltaOptimizer(new_lr).minimize(loss) # I give it a new learning rate
acc = tf.reduce_mean(...) …
Run Code Online (Sandbox Code Playgroud)

layer tensorflow

5
推荐指数
1
解决办法
5224
查看次数

标签 统计

layer ×1

tensorflow ×1