モデルの学習の際にloss関数の値がずっとnanのままなので何が問題か遡って見ていたのですが、ネットワークのモデルの設定の際に重みの初期値がNoneになっていてそもそも学習がされてない様でした。 Chainerはあまり使った事がなく慣れていないのですが、今作業しているOSSのプログラム上は以下の様になっていました。
Python
1L.Linear(n_in, n_out, initialW=wscale)
wscaleは0.1になっています。これで0.1までの範囲で重りがランダムに生成されるという事だと思うのですが、デバッグして見てみると重りはnanになってしまっている様です。これはどうしてでしょうか?
Linearの中で以下の様に
Python
1self.W = variable.Parameter(W_initializer)
なってここでself.Wの表示させるとW(None)となっていてこの時点でNoneなのですがこれも問題なのでしょうか・・・?
あなたの回答
tips
プレビュー