OSDN Git Service

ニューラルネットワークの初期版を登録
authorunknown <shupeluter@hotmail.com>
Sun, 10 Jun 2018 10:06:06 +0000 (19:06 +0900)
committerunknown <shupeluter@hotmail.com>
Sun, 10 Jun 2018 10:06:06 +0000 (19:06 +0900)
src/main/Python/Learning.py [new file with mode: 0644]

diff --git a/src/main/Python/Learning.py b/src/main/Python/Learning.py
new file mode 100644 (file)
index 0000000..20cbe36
--- /dev/null
@@ -0,0 +1,40 @@
+from DataReader import DataReader
+
+from keras.utils.np_utils import to_categorical
+from keras.models import Model
+from keras.layers import Dense, Input, Dropout
+
+def generate_data():
+    reader = DataReader()
+    __x_train, __y_train, __x_test, __y_test = reader.get_learning_data()
+
+    __x_train = __x_train.reshape(len(__x_train), 500).astype(float)
+    __x_test  = __x_test.reshape((len(__x_test)), 500).astype(float)
+
+    __y_train = to_categorical(__y_train.astype('int32'), 11)
+    __y_test  = to_categorical(__y_test.astype('int32'), 11)
+    return __x_train, __y_train, __x_test, __y_test
+
+def create_neural_network():
+    inputs = Input(shape=(500,))
+    nw = Dense(250, activation='relu')(inputs)
+    nw = Dropout(.5)(nw)
+    nw = Dense(250, activation='relu')(nw)
+    nw = Dropout(.5)(nw)
+    predictions = Dense(11, activation='softmax')(nw)
+
+    model = Model(inputs=inputs, outputs=predictions)
+    model.compile(optimizer='rmsprop',
+                  loss='categorical_crossentropy',
+                  metrics= ['accuracy'])
+    return model
+
+
+def main():
+    x_train, y_train, x_test, y_test = generate_data()
+    model = create_neural_network()
+
+    history = model.fit(x_train,y_train, batch_size=128, epochs=20, verbose=1,
+                        validation_data=(x_test, y_test))
+
+main()