質問編集履歴
3
テキストの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,10 +18,12 @@
|
|
18
18
|
swaを用いた際のモデルのweightsデータを保存しておいて、ネットワークにBatchNormalizationを組み込んで学習をもう一度行う必要がるのでしょうか???
|
19
19
|
どのようなタイミングでBatchNormalizationを組み込むのか、全くわからないでおります。
|
20
20
|
|
21
|
+
今調べてもわからない点は、
|
22
|
+
1.weightsデータを一旦保存して、もとのネットワークにBatchNormalizationを組み込むということなのか。
|
23
|
+
2.表を見ると,SWAを使用した時の学習率とは別の学習率を設定しているようですが、学習率も設定し直す必要があるのか
|
24
|
+
です。
|
21
25
|
|
22
26
|
|
23
|
-
|
24
|
-
|
25
27
|
以下にBatchNormalizationを用いず、SWAのコードのみを組み込んだコードを記載してみました。
|
26
28
|
kerasを使っていたのでpytorchの使い方がほぼ初めてで、コードの不十分な点があった場合すみません。
|
27
29
|
|
2
文法修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,8 @@
|
|
3
3
|
stochastic weight averagingを用いるとSGDを用いた学習時にwide optimaを得られやすいとい記事を見かけました。
|
4
4
|
参考はにしているのは以下です。
|
5
5
|
https://pytorch.org/blog/stochastic-weight-averaging-in-pytorch/
|
6
|
+
|
6
|
-
|
7
|
+
SWAが何をやっているかわかりやすく以下にかかれていました。
|
7
8
|
https://towardsdatascience.com/stochastic-weight-averaging-a-new-way-to-get-state-of-the-art-results-in-deep-learning-c639ccf36a
|
8
9
|
|
9
10
|
プログラム、NNの手法についてまだまだ勉強不足なところがあり、このSWAを用いた手法についてうまく導入できないでおります。SWAの記事を見かけますと、SWAを行なった場合のweightsをそのまま用いるのは望ましくなく、BatchNormalizationを行う必要がある書かれています。
|
@@ -66,15 +67,9 @@
|
|
66
67
|
criterion = nn.CrossEntropyLoss()
|
67
68
|
#損失関数を定義
|
68
69
|
learning_rate=0.01
|
69
|
-
|
70
70
|
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
|
71
71
|
|
72
72
|
|
73
|
-
criterion = nn.CrossEntropyLoss()
|
74
|
-
learning_rate=0.01
|
75
|
-
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
|
76
|
-
|
77
|
-
|
78
73
|
#まずはSWAを用いない学習を行ってみる。
|
79
74
|
def train(train_loader):
|
80
75
|
#訓練モードに設定
|
@@ -161,7 +156,7 @@
|
|
161
156
|
learning_rate=0.01
|
162
157
|
|
163
158
|
base_opt = torch.optim.SGD(model.parameters(), lr=0.1)
|
164
|
-
#swa_startが10なので10回の学習以降からSWAを計算し始める(と理解してます)
|
159
|
+
#swa_startが10なので10回の学習以降からSWAを計算し始める(,,,,と自分なりに理解してます)
|
165
160
|
optimizer = SWA(base_opt, swa_start=10, swa_freq=5, swa_lr=0.05)
|
166
161
|
|
167
162
|
def train(train_loader):
|
1
タイトル修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
pytorchを用いたSWA stocastic weights averageを用いた場合、BatchNormalizationはいつ組み込むのでしょうか。
|
1
|
+
pytorchを用いたSWA stocastic weights averageを用いた場合、BatchNormalizationはいつ,どのように組み込むのでしょうか。
|
body
CHANGED
File without changes
|