我有一个包含以下组件的模型。
我想定义两个优化器。一个仅用于鉴别器,另一个用于其余鉴别器。我正在做以下事情。
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()
吗?如果是,我该怎么做?
答案 0 :(得分:0)
不,因为model.parameters()返回一个生成器。如果你想像你想要的那样修改一个生成器,你还是要将它转换成一个列表。