タグ

ブックマーク / johshisha.hatenablog.com (1)

  • chainerでモデルを入れ子にしたら重みが更新されなかった話 - johshisha’s diary

    概要 chainerのmodel(Chainクラス)を入れ子にして使っていたら重みが更新されなかった. Chainクラスで重みの更新がされるのは self.init_scope()内に書いている linkオブジェクトだけだったことが判明し, with self.init_scope():以下に書くとちゃんと更新された. 状況 version chainer==3.0.0 やりたかったこと あるmodelAに layerNを追加して,新たに modelBを作成したかった. だめなコード 計算グラフを出力すると,ちゃんとmodelA -> layerN という風に接続されていたので,これでうまく接続されているものだと思っていた. が,実際に学習中に都度重みを出力してみると,modelA内の重み(l1, l2, l3の重み)が全く更新されていないことがわかった. # example/train_

    chainerでモデルを入れ子にしたら重みが更新されなかった話 - johshisha’s diary
  • 1