The std computed on a tensor containing single element is nan
.
Precisely:
`
v = th.randn(1, 128, 4, 4)
v.std(dim=0)
tensor([[[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.]],
[[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.]],
[[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.]],
...,
[[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.]],
[[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.]],
[[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.],
[nan., nan., nan., nan.]]])
`
In fact, just one element is:
`
v = th.randn(1)
v.std()
tensor(nan.)
`
Theoretically speaking, shouldn’t the std
of a single element be 0? Please help me to clear this confusion