質問編集履歴
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -109,3 +109,131 @@
|
|
109
109
|
|
110
110
|
|
111
111
|
で行っています。
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
### 追記
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
実際のコードを貼ると400行近くなるので一部だけ書き出しました(実行すると同じような画像が出力されます(数字の値が若干異なりますが...))
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
```python
|
126
|
+
|
127
|
+
import keras
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
from keras.layers import Conv2D, Dense, Dropout, Flatten, MaxPooling2D
|
132
|
+
|
133
|
+
from keras.models import Sequential
|
134
|
+
|
135
|
+
from keras.optimizers import Adam, RMSprop
|
136
|
+
|
137
|
+
from keras.utils import plot_model
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
if __name__ == "__main__":
|
142
|
+
|
143
|
+
options = {
|
144
|
+
|
145
|
+
"filters": 64,
|
146
|
+
|
147
|
+
"kernel_size": 3,
|
148
|
+
|
149
|
+
"padding": "same",
|
150
|
+
|
151
|
+
"activation": "relu",
|
152
|
+
|
153
|
+
"input_shape": (160, 120, 1)
|
154
|
+
|
155
|
+
}
|
156
|
+
|
157
|
+
dropout = 0.3
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
model = Sequential()
|
162
|
+
|
163
|
+
model.add(Conv2D(**options))
|
164
|
+
|
165
|
+
model.add(Dropout(dropout))
|
166
|
+
|
167
|
+
# 2回目以降のConv2Dではinput_shapeがいらないのでdelする
|
168
|
+
|
169
|
+
del options["input_shape"]
|
170
|
+
|
171
|
+
model.add(Conv2D(**options))
|
172
|
+
|
173
|
+
model.add(Dropout(dropout))
|
174
|
+
|
175
|
+
model.add(Conv2D(**options))
|
176
|
+
|
177
|
+
model.add(Dropout(dropout))
|
178
|
+
|
179
|
+
model.add(MaxPooling2D(pool_size=2))
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
model.add(Conv2D(**options))
|
184
|
+
|
185
|
+
model.add(Dropout(dropout))
|
186
|
+
|
187
|
+
model.add(Conv2D(**options))
|
188
|
+
|
189
|
+
model.add(Dropout(dropout))
|
190
|
+
|
191
|
+
model.add(Conv2D(**options))
|
192
|
+
|
193
|
+
model.add(Dropout(dropout))
|
194
|
+
|
195
|
+
model.add(MaxPooling2D(pool_size=2))
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
model.add(Flatten())
|
200
|
+
|
201
|
+
model.add(Dense(256, activation="relu"))
|
202
|
+
|
203
|
+
model.add(Dense(256, activation="relu"))
|
204
|
+
|
205
|
+
model.add(Dense(17, activation="softmax"))
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
model.compile(loss="categorical_crossentropy",
|
210
|
+
|
211
|
+
optimizer=Adam(),
|
212
|
+
|
213
|
+
metrics=["accuracy"])
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
plot_model(model,
|
218
|
+
|
219
|
+
show_shapes=True,
|
220
|
+
|
221
|
+
show_layer_names=True,
|
222
|
+
|
223
|
+
to_file="test.png")
|
224
|
+
|
225
|
+
```
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
環境は
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
| OS | Ubuntu 18.04.3 LTS|
|
234
|
+
|
235
|
+
|---|---|
|
236
|
+
|
237
|
+
|tensorflow-gpu | 1.14.0 |
|
238
|
+
|
239
|
+
| Keras | 2.2.4 |
|
1
わからないことを最初に書いた
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## わからないこと
|
2
|
+
|
3
|
+
`140608174385808`とタプルの`None`が何を示しているのか分からない。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
## 行ったこと
|
8
|
+
|
1
9
|
kerasの学習モデルを可視化しようと
|
2
10
|
|
3
11
|
```python
|