teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正したコードを追記

2019/07/17 23:25

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -20,4 +20,73 @@
20
20
  ```Python
21
21
  plt.show()
22
22
  ```
23
- は不要ですね。
23
+ は不要ですね。
24
+
25
+ ---
26
+ **【追記】**
27
+ 実際に実行したコード
28
+ ```Python
29
+ import numpy as np
30
+ import matplotlib.pyplot as plt
31
+ from keras.datasets import mnist
32
+ from keras.layers import Activation, Dense, Dropout
33
+ from keras.models import Sequential, load_model
34
+ from keras.utils.np_utils import to_categorical
35
+ from keras import optimizers
36
+ from keras import models
37
+ from keras import layers
38
+
39
+ %matplotlib inline
40
+
41
+ (X_train, y_train), (X_test, y_test) = mnist.load_data()
42
+ X_train = X_train.reshape(X_train.shape[0], 784)[:6000]
43
+ X_test = X_test.reshape(X_test.shape[0], 784)[:1000]
44
+ y_train = to_categorical(y_train)[:6000]
45
+ y_test = to_categorical(y_test)[:1000]
46
+
47
+ model = Sequential()
48
+ model.add(Dense(256, input_dim=784))
49
+ model.add(Activation("sigmoid"))
50
+ model.add(Dense(128))
51
+ model.add(Activation("sigmoid"))
52
+ model.add(Dropout(rate=0.5))
53
+ model.add(Dense(10))
54
+ model.add(Activation("softmax"))
55
+ sgd = optimizers.SGD(lr=0.1)
56
+ model.compile(optimizer=sgd, loss="categorical_crossentropy", metrics=["accuracy"])
57
+ model.summary()
58
+ history = model.fit(
59
+ X_train,
60
+ y_train,
61
+ batch_size=32,
62
+ epochs=5,
63
+ verbose=1,
64
+ validation_data=(X_test, y_test),
65
+ )
66
+
67
+ acc = history.history["acc"]
68
+ val_acc = history.history["val_acc"]
69
+ loss = history.history["loss"]
70
+ val_loss = history.history["val_loss"]
71
+ epochs = range(1, len(acc)+1)
72
+
73
+ plt.plot(epochs, acc, label="acc", ls="-", marker="o")
74
+ plt.plot(epochs, val_acc, label="val_acc", ls="-", marker="x")
75
+ plt.ylabel("accuracy")
76
+ plt.xlabel("epoch")
77
+ plt.legend(loc="best")
78
+ ```
79
+ 実行した結果(途中経過は省略しております)
80
+ ![イメージ説明](1d3ba5e91b7fbe7eca8cf26dad0c4577.png)
81
+
82
+
83
+ です。
84
+
85
+ もしこれで表示できないのであれば、``matplotlib`` のインストール等に失敗している可能性があります。
86
+ 試しに最小限のコード
87
+ ```Python
88
+ %matplotlib inline
89
+ import matplotlib.pyplot as plt
90
+ plt.plot([0,1],[0,1])
91
+ ```
92
+ にてグラフが描画できるか確認してみてください。