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

質問編集履歴

2

2019/10/14 00:47

投稿

fujifuji_
fujifuji_

スコア4

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,11 @@
2
2
  pytorchでdeep learningの画像分類モデルを作成しています。
3
3
 
4
4
  モデルのloss関数の一部にtorch.sqrt()をしようしたところ、backward時にnanが発生する問題に突き当たりました。
5
- torch.sqrt()に入力されるベクトルの要素の大きさがとても小さいことが原因のようです。何か対処法がわかる方がいらっしゃいましたら、お教えいただければ幸いです。
5
+ torch.sqrt()に入力されるベクトルの要素の大きさがとても小さいことが原因のようです。
6
+
7
+ torch.sqrt()のinputが小さいとbackward時に1/(2*torch.sqrt())がinfになるようです...
8
+
9
+ 何か対処法がわかる方がいらっしゃいましたら、お教えいただければ幸いです。
6
10
  ```
7
11
  エラーメッセージ
8
12
  Traceback (most recent call last):

1

関数の説明を追加

2019/10/14 00:47

投稿

fujifuji_
fujifuji_

スコア4

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,6 @@
28
28
  epsilon = torch.ones(v4_ema.size(0)) * 1e-10
29
29
  epsilon = epsilon.cuda()
30
30
  return (v2/(torch.sqrt(v4_ema)+epsilon)).sum()/v4_ema.size(0), v4_ema
31
- ```
31
+ ```
32
+ また上記の関数new_normは以下の式を求めようとして作成したものです。
33
+ ![イメージ説明](bf1d68d7f47415ec569c3c4f781a6b04.png)