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

質問編集履歴

3

テキストの修正

2019/08/05 12:22

投稿

yohehe
yohehe

スコア48

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

文法修正

2019/08/05 12:22

投稿

yohehe
yohehe

スコア48

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
- #SWAが何をやっているかは以下の方がわかりやすかです
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

タイトル修正

2019/08/05 12:18

投稿

yohehe
yohehe

スコア48

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