質問編集履歴

1

加筆依頼に基づき追加

2018/09/14 07:38

投稿

npkk
npkk

スコア58

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,34 @@
20
20
 
21
21
  gaussian_nllをchainerからtensorに対応させる形で移植しました.
22
22
 
23
+ (移植内容を加筆しました)
24
+
25
+ ```python
26
+
27
+ def gaussian_nll(x, mean, logvar, reduce=True):
28
+
29
+ x_prec = torch.exp(-logvar)
30
+
31
+ x_diff = x - mean
32
+
33
+ x_power = x_diff * x_diff * x_prec * -0.5
34
+
35
+ c = torch.Tensor(1).float()
36
+
37
+ c[0] = 2 * math.pi
38
+
39
+ loss = (logvar + torch.log(c)) / 2 - x_power
40
+
41
+ if reduce is True:
42
+
43
+ return torch.sum(loss)
44
+
45
+ else:
46
+
47
+ return loss
48
+
49
+ ```
50
+
23
51
  np.random.randnを使ってchainerのgaussian_nllと出力が同じかどうか検証をしました.
24
52
 
25
53
  Encoder, Decoderは出力層の1層前から重みを共有しない1dconvで出力しています.