图像风格转换代码中,如何指定单个网络进行参数更新
来源: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那个变量。
00
相似问题