And*_*rek 6 python neural-network theano keras tensorflow
我想在Keras训练一个GAN.我的最终目标是BEGAN,但我从最简单的目标开始.在这里需要了解如何正确地冻结重量,这就是我正在努力解决的问题.
在发电机训练时间期间,可能不会更新鉴别器权重.我想交替冻结和解冻鉴别器,交替训练发生器和鉴别器.问题是在鉴别器模型上甚至在其权重上将可训练参数设置为假并且不会停止模型训练(以及更新权重).在另一方面,当我编译模式设置后可训练为False的权重成为unfreezable.我无法在每次迭代后编译模型,因为这会否定整个训练的想法.
由于这个问题,许多Keras实现似乎被窃听或者它们起作用,因为旧版本中的某些非直观技巧或其他东西.
Yu-*_*ang 12
几个月前我尝试过这个示例代码并且它有效:https: //github.com/fchollet/keras/blob/master/examples/mnist_acgan.py
它不是最简单的GAN形式,但据我记忆,删除分类丢失并将模型转换为GAN并不太难.
您无需打开/关闭鉴别器的可训练属性并重新编译.只需创建和编译两个模型对象,一个用trainable=True(discriminator在代码中)另一个用trainable=False(combined在代码中).
当您更新鉴别器时,请致电discriminator.train_on_batch().当您更新发电机时,请致电combined.train_on_batch().
| 归档时间: |
|
| 查看次数: |
4801 次 |
| 最近记录: |