ニューラルネットにあるデータ食わせていますが、まったく学習が進みません。
同じネットワーク構成で、MNISTを用いたらうまくいったので、データの作り方が悪いのだと思うのですが、どこにミスがあるか発見できません。
Python
1from keras import utils 2from keras.models import Sequential 3from keras.layers.core import Dense,Dropout 4from keras.utils import to_categorical 5from keras.optimizers import Adam 6from keras.callbacks import CSVLogger 7 8X_train_dummies_= X_train_dummies_.astype('float32') 9X_test_dummies_ = X_test_dummies_.astype('float32') 10Y_train = utils.to_categorical(Y_train) 11Y_test = utils.to_categorical(Y_test) 12 13model = Sequential() 14model.add(Dense(input_dim=462, output_dim=300, bias=True, activation='relu',kernel_initializer="he_uniform",bias_initializer="TruncatedNormal")) 15model.add(Dropout(0.2)) 16model.add(Dense(input_dim=300, output_dim=100, bias=True, activation='relu',kernel_initializer="he_uniform",bias_initializer="TruncatedNormal")) 17model.add(Dropout(0.2)) 18model.add(Dense(input_dim=100, output_dim=5, bias=True, activation='softplus',kernel_initializer="he_uniform",bias_initializer="he_normal")) 19model.compile(loss='categorical_crossentropy', optimizer=Adam(), metrics=['accuracy']) 20epoch_num = 10 21history = model.fit(from keras import utils 22from keras.models import Sequential 23from keras.layers.core import Dense,Dropout 24from keras.utils import to_categorical 25from keras.optimizers import Adam 26from keras.callbacks import CSVLogger 27 28# X_train_dummies_= X_train_dummies_.astype('float32') 29# X_test_dummies_ = X_test_dummies_.astype('float32') 30# Y_train = utils.to_categorical(Y_train) 31# Y_test = utils.to_categorical(Y_test) 32 33model = Sequential() 34model.add(Dense(input_dim=462, output_dim=300, bias=True, activation='relu',kernel_initializer="he_uniform",bias_initializer="TruncatedNormal")) 35model.add(Dropout(0.2)) 36model.add(Dense(input_dim=300, output_dim=100, bias=True, activation='relu',kernel_initializer="he_uniform",bias_initializer="TruncatedNormal")) 37model.add(Dropout(0.2)) 38model.add(Dense(input_dim=100, output_dim=5, bias=True, activation='softplus',kernel_initializer="he_uniform",bias_initializer="he_normal")) 39model.compile(loss='categorical_crossentropy', optimizer=Adam(), metrics=['accuracy']) 40epoch_num = 10 41history = model.fit(from keras import utils 42from keras.models import Sequential 43from keras.layers.core import Dense,Dropout 44from keras.utils import to_categorical 45from keras.optimizers import Adam 46from keras.callbacks import CSVLogger 47 48X_train_dummies_= X_train_dummies_.astype('float32') 49X_test_dummies_ = X_test_dummies_.astype('float32') 50Y_train = utils.to_categorical(Y_train) 51Y_test = utils.to_categorical(Y_test) 52 53model = Sequential() 54model.add(Dense(input_dim=462, output_dim=300, bias=True, activation='relu',kernel_initializer="he_uniform",bias_initializer="TruncatedNormal")) 55model.add(Dropout(0.2)) 56model.add(Dense(input_dim=300, output_dim=100, bias=True, activation='relu',kernel_initializer="he_uniform",bias_initializer="TruncatedNormal")) 57model.add(Dropout(0.2)) 58model.add(Dense(input_dim=100, output_dim=5, bias=True, activation='softplus',kernel_initializer="he_uniform",bias_initializer="he_normal")) 59model.compile(loss='categorical_crossentropy', optimizer=Adam(), metrics=['accuracy']) 60epoch_num = 10 61history = model.fit(X_train_dummies_, Y_train, 62 batch_size=1000, epochs=epoch_num, 63 validation_data=(X_test_dummies_,Y_test)) 64 65score = model.evaluate(X_test_dummies_,Y_test, verbose=0) 66print('Test loss:', score[0]) 67print('Test accuracy:', score[1]), Y_train, 68 batch_size=1000, epochs=epoch_num, 69 validation_data=(X_test_dummies_,Y_test)) 70 71score = model.evaluate(X_test_dummies_,Y_test, verbose=0) 72print('Test loss:', score[0]) 73print('Test accuracy:', score[1]), Y_train, 74 batch_size=1000, epochs=epoch_num, 75 validation_data=(X_test_dummies_,Y_test)) 76 77score = model.evaluate(X_test_dummies_,Y_test, verbose=0) 78print('Test loss:', score[0]) 79print('Test accuracy:', score[1])
X_train_dummies_・X_test_dummies_の中身はそれぞれ下記のような感じです
Python
1> X_test_dummies_[0] 2array([0. , 1. , 1. , 0. , 0. , 3 =========================== 4 テラテイルの投稿の都合上カットしましたが、0 or 1の値がいっぱい入っています 5 =========================== 6 0.27403846, 0.27403846, 0.27439612, 0.00112533, 0.00112528, 7 0. , 0. , 0. , 0. , 0. , 8 0. , 0. , 0. , 0. , 0. , 9 0. , 0. ], dtype=float32)
Y_train・Y_testの中身はそれぞれ下記のような感じです
Python
1> Y_test 2array([[0., 1., 0., 0., 0.], 3 [0., 1., 0., 0., 0.], 4 [0., 1., 0., 0., 0.], 5 ..., 6 [0., 0., 0., 0., 1.], 7 [0., 1., 0., 0., 0.], 8 [0., 0., 1., 0., 0.]], dtype=float32)
回答1件
あなたの回答
tips
プレビュー