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回答

正十七

2019-07-10

”老师请问为什么在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。

1
1
wxz123
非常感谢!
2019-07-11
共1条回复

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

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

2617 学习 · 935 问题

查看课程