2017-11-15 9 views
0

私は以下のコンポーネントを持つモデルを持っています。私は2つの最適化を定義したい層 discriminatorとそれ以外の残りのモデルのためのオプティマイザを個別設定

  • エンコーダ
  • ジェネレータ
  • 弁別
  • フィードフォワードニューラルネットワーク
  • 埋め込み

    1. 。 1つは弁別子のみ、残りは1つです。私は次のことをしています。

      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

    いいえ、model.parameters()はジェネレータを返します。あなたが望むようにジェネレータを変更したい場合は、それをリストに変換する必要があります。

    関連する問題