reuse的理解
来源:9-17 训练流程实现与效果展示
wxz123
2019-06-28
with tf.variable_scope(‘generator’, reuse=self._reuse):
with tf.variable_scope(‘discriminator’, reuse = self._reuse):
老师请问为什么在GAN的代码中,创建graph时,tf.variable_scope中要对reuse这个参数进行设置,而前几章的cnn、rnn中对tf.variable_scope的reuse这个参数没有设置,选择了默认值(false)的方式?
在训练神经网络时,整个网络的参数变量都是不断反复的用,那不应该除了第一次创建变量时reuse=False外,之后训练什么的都应该让reuse=True吗?
写回答
1回答
-
”老师请问为什么在GAN的代码中,创建graph时,tf.variable_scope中要对reuse这个参数进行设置,而前几章的cnn、rnn中对tf.variable_scope的reuse这个参数没有设置,选择了默认值(false)的方式?“
这是因为前几章中的代码中变量只被使用了一次,而在这个GAN中,才有复用网络的需求,即discrimator被使用了两次。
”在训练神经网络时,整个网络的参数变量都是不断反复的用,那不应该除了第一次创建变量时reuse=False外,之后训练什么的都应该让reuse=True吗“
这里的复用指的是网络结构重新接受一个输入,得到一个输出,在DCGAN的例子中,discriminator就被使用了两次。
而训练参数时的操作是封装在tensorflow的train op中,使用方法上无需设置re-use。
112019-07-11
相似问题