質問編集履歴

2

追記

2018/02/19 03:13

投稿

Hayato1201
Hayato1201

スコア220

test CHANGED
File without changes
test CHANGED
@@ -90,6 +90,6 @@
90
90
 
91
91
  追記です。
92
92
 
93
- y_train.shapeは(164674,)です。
93
+ y_train.shapeは(164675,)、len(np.unique(y_train))は23です。
94
94
 
95
95
  確かに教師データの方におかしいものがありました。それを直したら今度はValueError: Error when checking target: expected activation_4 to have shape (None, 23) but got array with shape (123505, 22)となってしまいました。また、これは教師データをシャッフルしているのですが、シャッフルしないと、ValueError: Error when checking target: expected activation_4 to have shape (None, 23) but got array with shape (123505, 16)となったりします。このデータには偏りがあり、かなり量が多いクラスと少ないクラスがあります。そのため、最初の学習で使用する時バッチサイズ分だけ教師データから選ばれると思うので、その時そこに含まれないクラスがあり23クラスあるはずが16しかないよ、となっているのでは?とも思いますがどうでしょうか?ただそれだとなぜ普通の学習時にはうまく行くのか疑問ですが。。。

1

質問の補足

2018/02/19 03:13

投稿

Hayato1201
Hayato1201

スコア220

test CHANGED
File without changes
test CHANGED
@@ -79,3 +79,17 @@
79
79
 
80
80
 
81
81
  要は最後の層での行列の形が合わないという事な気がしたのですが、教師データをシャッフルしているうちにそのエラーが消えましたが、何エポックか進むとまた同じエラーが出ました。各データの個数に偏りがあることが原因かと思いましたが、エラーが出るのはこのパラメータ最適化の作業だけで、通常の学習時には、同じデータ、同じモデルなのに問題なくできます。これは何が原因なのでしょうか。。。?
82
+
83
+
84
+
85
+
86
+
87
+ _________________________________
88
+
89
+
90
+
91
+ 追記です。
92
+
93
+ y_train.shapeは(164674,)です。
94
+
95
+ 確かに教師データの方におかしいものがありました。それを直したら今度はValueError: Error when checking target: expected activation_4 to have shape (None, 23) but got array with shape (123505, 22)となってしまいました。また、これは教師データをシャッフルしているのですが、シャッフルしないと、ValueError: Error when checking target: expected activation_4 to have shape (None, 23) but got array with shape (123505, 16)となったりします。このデータには偏りがあり、かなり量が多いクラスと少ないクラスがあります。そのため、最初の学習で使用する時バッチサイズ分だけ教師データから選ばれると思うので、その時そこに含まれないクラスがあり23クラスあるはずが16しかないよ、となっているのでは?とも思いますがどうでしょうか?ただそれだとなぜ普通の学習時にはうまく行くのか疑問ですが。。。