回答編集履歴

1

修正したコードを追記

2019/07/17 23:25

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -43,3 +43,141 @@
43
43
  ```
44
44
 
45
45
  は不要ですね。
46
+
47
+
48
+
49
+ ---
50
+
51
+ **【追記】**
52
+
53
+ 実際に実行したコード
54
+
55
+ ```Python
56
+
57
+ import numpy as np
58
+
59
+ import matplotlib.pyplot as plt
60
+
61
+ from keras.datasets import mnist
62
+
63
+ from keras.layers import Activation, Dense, Dropout
64
+
65
+ from keras.models import Sequential, load_model
66
+
67
+ from keras.utils.np_utils import to_categorical
68
+
69
+ from keras import optimizers
70
+
71
+ from keras import models
72
+
73
+ from keras import layers
74
+
75
+
76
+
77
+ %matplotlib inline
78
+
79
+
80
+
81
+ (X_train, y_train), (X_test, y_test) = mnist.load_data()
82
+
83
+ X_train = X_train.reshape(X_train.shape[0], 784)[:6000]
84
+
85
+ X_test = X_test.reshape(X_test.shape[0], 784)[:1000]
86
+
87
+ y_train = to_categorical(y_train)[:6000]
88
+
89
+ y_test = to_categorical(y_test)[:1000]
90
+
91
+
92
+
93
+ model = Sequential()
94
+
95
+ model.add(Dense(256, input_dim=784))
96
+
97
+ model.add(Activation("sigmoid"))
98
+
99
+ model.add(Dense(128))
100
+
101
+ model.add(Activation("sigmoid"))
102
+
103
+ model.add(Dropout(rate=0.5))
104
+
105
+ model.add(Dense(10))
106
+
107
+ model.add(Activation("softmax"))
108
+
109
+ sgd = optimizers.SGD(lr=0.1)
110
+
111
+ model.compile(optimizer=sgd, loss="categorical_crossentropy", metrics=["accuracy"])
112
+
113
+ model.summary()
114
+
115
+ history = model.fit(
116
+
117
+ X_train,
118
+
119
+ y_train,
120
+
121
+ batch_size=32,
122
+
123
+ epochs=5,
124
+
125
+ verbose=1,
126
+
127
+ validation_data=(X_test, y_test),
128
+
129
+ )
130
+
131
+
132
+
133
+ acc = history.history["acc"]
134
+
135
+ val_acc = history.history["val_acc"]
136
+
137
+ loss = history.history["loss"]
138
+
139
+ val_loss = history.history["val_loss"]
140
+
141
+ epochs = range(1, len(acc)+1)
142
+
143
+
144
+
145
+ plt.plot(epochs, acc, label="acc", ls="-", marker="o")
146
+
147
+ plt.plot(epochs, val_acc, label="val_acc", ls="-", marker="x")
148
+
149
+ plt.ylabel("accuracy")
150
+
151
+ plt.xlabel("epoch")
152
+
153
+ plt.legend(loc="best")
154
+
155
+ ```
156
+
157
+ 実行した結果(途中経過は省略しております)
158
+
159
+ ![イメージ説明](1d3ba5e91b7fbe7eca8cf26dad0c4577.png)
160
+
161
+
162
+
163
+
164
+
165
+ です。
166
+
167
+
168
+
169
+ もしこれで表示できないのであれば、``matplotlib`` のインストール等に失敗している可能性があります。
170
+
171
+ 試しに最小限のコード
172
+
173
+ ```Python
174
+
175
+ %matplotlib inline
176
+
177
+ import matplotlib.pyplot as plt
178
+
179
+ plt.plot([0,1],[0,1])
180
+
181
+ ```
182
+
183
+ にてグラフが描画できるか確認してみてください。