图像风格转换代码中,如何指定单个网络进行参数更新

来源:6-8 图像风格转换计算图构建与损失函数计算

慕仙8179509

2018-11-07

请问图像风格转换的代码中是如何设置vgg_for_content.build、vgg_for_style.build网络参数不变,只有vgg_for_result.build参与优化的?
result一开始作为网络输入,参与优化并作为结果输出,是通过‘‘ result_val = result.eval(sess)[0]’’ 这一行代码实现的吗?‘’tf.train.AdamOptimizer‘’会对网络输入进行修改吗?

写回答

1回答

正十七

2018-11-12

在课程的代码实现中,网络参数是以常量载入进来的,所以不会改变。当然还有另一种方法,就是仍然是以变量载入,但是指定它不参与训练,https://www.tensorflow.org/api_docs/python/tf/layers/conv2d 中的trainable参数就是起这个作用的,这点在fine-tune一节中也会讲解。

在代码中,result.eval是获取result这个变量中的值,并非进行训练。进行训练是在sess.run的那一行中,对train_op调用一次sess.run就是训练一次。

AdamOptimizer会对所有参与训练的变量进行更改,在代码中,就是result那个变量。

0
0

深度学习之神经网络(CNN/RNN/GAN)算法原理+实战

深度学习算法工程师必学,深入理解深度学习核心算法CNN RNN GAN

2617 学习 · 935 问题

查看课程