【问题标题】:Separate optimizer for discriminator and the rest of the model in adversarial setting在对抗设置中为鉴别器和模型的其余部分分离优化器
【发布时间】:2017-11-15 23:42:45
【问题描述】:

我有一个包含以下组件的模型。

  1. 嵌入层
  2. 编码器
  3. 发电机
  4. 鉴别器
  5. 前馈神经网络

我想定义两个优化器。一个仅用于鉴别器,一个用于其余部分。我正在执行以下操作。

optimizers = []
model_params = chain(model.embedding.parameters(), model.encoder.parameters(), 
                            model.generator.parameters(), model.ffnn.parameters())
optimizers.append(optim.Adam(model_params, args.lr))
optimizers.append(optim.Adam(model.discriminator.parameters(), args.lr))

有没有更好的方法来做同样的事情?例如,我可以区分model.parameters() 和model.discriminator.parameters() 吗?如果是,我该怎么做?

【问题讨论】:

    标签: python pytorch


    【解决方案1】:

    不,因为 model.parameters() 返回一个生成器。如果您想按照自己的意愿修改生成器,则无论如何都必须将其转换为列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 2020-11-10
      相关资源
      最近更新 更多