質問編集履歴

1

大変失礼いたしました。「コードの挿入」してコードを記載いたしました。

2021/07/29 04:26

投稿

ot24
ot24

スコア4

test CHANGED
File without changes
test CHANGED
@@ -102,6 +102,10 @@
102
102
 
103
103
  ### 該当のソースコード
104
104
 
105
+ ```ここに言語を入力
106
+
107
+
108
+
105
109
  '''
106
110
 
107
111
  1.CIFAR-10データセットの読み込み
@@ -120,21 +124,21 @@
120
124
 
121
125
  from tensorflow.keras import models, layers, optimizers, regularizers
122
126
 
123
-
127
+
124
-
128
+
125
- L2正則化の係数
129
+ # L2正則化の係数
126
130
 
127
131
  weight_decay = 1e-4
128
132
 
129
-
133
+
130
-
134
+
131
- CNNを構築
135
+ # CNNを構築
132
136
 
133
137
  model = models.Sequential()
134
138
 
135
-
139
+
136
-
140
+
137
- (第1層)畳み込み層1 正則化を行う
141
+ # (第1層)畳み込み層1 正則化を行う
138
142
 
139
143
  model.add(
140
144
 
@@ -154,17 +158,17 @@
154
158
 
155
159
  ))
156
160
 
157
-
161
+
158
-
162
+
159
- (第2層)プーリング層1:ウィンドウサイズは2×2
163
+ # (第2層)プーリング層1:ウィンドウサイズは2×2
160
164
 
161
165
  model.add(
162
166
 
163
167
  layers.MaxPooling2D(pool_size=(2,2)))
164
168
 
165
-
169
+
166
-
170
+
167
- (第3層)畳み込み層2 正則化を行う
171
+ # (第3層)畳み込み層2 正則化を行う
168
172
 
169
173
  model.add(
170
174
 
@@ -182,17 +186,17 @@
182
186
 
183
187
  ))
184
188
 
185
-
189
+
186
-
190
+
187
- (第4層)プーリング層2:ウィンドウサイズは2×2
191
+ # (第4層)プーリング層2:ウィンドウサイズは2×2
188
192
 
189
193
  model.add(
190
194
 
191
195
  layers.MaxPooling2D(pool_size=(2,2)))
192
196
 
193
-
197
+
194
-
198
+
195
- (第5層)畳み込み層3 正則化を行う
199
+ # (第5層)畳み込み層3 正則化を行う
196
200
 
197
201
  model.add(
198
202
 
@@ -210,29 +214,29 @@
210
214
 
211
215
  ))
212
216
 
213
-
217
+
214
-
218
+
215
- (第6層)プーリング層2:ウィンドウサイズは2×2
219
+ # (第6層)プーリング層2:ウィンドウサイズは2×2
216
220
 
217
221
  model.add(
218
222
 
219
223
  layers.MaxPooling2D(pool_size=(2,2)))
220
224
 
221
-
225
+
222
-
226
+
223
- Flatten
227
+ # Flatten
224
228
 
225
229
  model.add(layers.Flatten())
226
230
 
227
-
231
+
228
-
232
+
229
- ドロップアウト:ドロップアウトは40%
233
+ # ドロップアウト:ドロップアウトは40%
230
234
 
231
235
  model.add(layers.Dropout(0.4))
232
236
 
233
237
 
234
238
 
235
- (第7層)全結合層
239
+ # (第7層)全結合層
236
240
 
237
241
  model.add(
238
242
 
@@ -242,11 +246,11 @@
242
246
 
243
247
  activation='relu')) # 活性化関数はReLU
244
248
 
245
-
249
+
250
+
246
-
251
+
247
-
248
-
252
+
249
- (第8層)出力層
253
+ # (第8層)出力層
250
254
 
251
255
  model.add(
252
256
 
@@ -256,31 +260,33 @@
256
260
 
257
261
  activation='softmax')) # 活性化関数はソフトマックス
258
262
 
259
-
263
+
260
-
264
+
261
- 学習率
265
+ # 学習率
262
266
 
263
267
  learning_rate = 0.0001
264
268
 
265
-
269
+
266
-
270
+
267
- Sequentialオブジェクトのコンパイル
271
+ # Sequentialオブジェクトのコンパイル
268
272
 
269
273
  model.compile(
270
274
 
271
-   損失関数はスパースラベル対応クロスエントロピー誤差
275
+ # 損失関数はスパースラベル対応クロスエントロピー誤差
272
276
 
273
277
  loss='sparse_categorical_crossentropy',
274
278
 
275
- オプティマイザーはSGD
279
+ # オプティマイザーはSGD
276
280
 
277
281
  optimizer=optimizers.SGD(lr=learning_rate),
278
282
 
279
- 学習評価として正解率を指定
283
+ # 学習評価として正解率を指定
280
284
 
281
285
  metrics=['accuracy'])
282
286
 
283
- %%time
287
+
288
+
289
+
284
290
 
285
291
  '''
286
292
 
@@ -292,15 +298,15 @@
292
298
 
293
299
  from tensorflow.keras.callbacks import ReduceLROnPlateau
294
300
 
295
-
301
+
296
-
302
+
297
- ミニバッチのサイズ
303
+ # ミニバッチのサイズ
298
304
 
299
305
  batch_size = 64
300
306
 
301
-
307
+
302
-
308
+
303
- データ拡張
309
+ # データ拡張
304
310
 
305
311
  datagen = ImageDataGenerator(
306
312
 
@@ -320,9 +326,9 @@
320
326
 
321
327
  )
322
328
 
323
-
329
+
324
-
330
+
325
- 訓練データ用のジェネレーターを生成
331
+ # 訓練データ用のジェネレーターを生成
326
332
 
327
333
  training_generator = datagen.flow(x_train, t_train,
328
334
 
@@ -330,7 +336,7 @@
330
336
 
331
337
  subset='training') # 訓練用のデータを生成
332
338
 
333
- 検証データ用のジェネレーターを生成
339
+ # 検証データ用のジェネレーターを生成
334
340
 
335
341
  validation_generator = datagen.flow(x_train, t_train,
336
342
 
@@ -338,9 +344,9 @@
338
344
 
339
345
  subset='validation') # 検証用のデータを生成
340
346
 
341
-
347
+
342
-
348
+
343
- 5エポックの間にval_accuracyが改善されなかったら学習率を0.5倍する。
349
+ # 5エポックの間にval_accuracyが改善されなかったら学習率を0.5倍する。
344
350
 
345
351
  reduce_lr = ReduceLROnPlateau(
346
352
 
@@ -358,19 +364,19 @@
358
364
 
359
365
  )
360
366
 
361
-
367
+
362
-
368
+
363
- エポック数
369
+ # エポック数
364
370
 
365
371
  epochs = 100
366
372
 
367
-
373
+
368
-
374
+
369
- 学習を行う
375
+ # 学習を行う
370
376
 
371
377
  history = model.fit(
372
378
 
373
- 拡張データをミニバッチの数だけ生成
379
+ # 拡張データをミニバッチの数だけ生成
374
380
 
375
381
  training_generator,
376
382
 
@@ -380,9 +386,9 @@
380
386
 
381
387
  validation_data=validation_generator,
382
388
 
383
- エポック終了後にreduce_lrをコールバック
389
+ # エポック終了後にreduce_lrをコールバック
384
-
390
+
385
- コールバックはリストで指定する
391
+ # コールバックはリストで指定する
386
392
 
387
393
  callbacks=[reduce_lr]
388
394
 
@@ -390,7 +396,7 @@
390
396
 
391
397
 
392
398
 
393
-
399
+ ```
394
400
 
395
401
  ### 試したこと
396
402