pytorch.transforms.ToTensor()的一个细节

早上敲代码时,发现一个被疏忽的细节,pytorch.transforms.ToTensor() 在进行 array -> Tensor转化时,会进行:

  • 数据类型转化

  • min-max 归一化


看官方中文文档:

pytorch.transforms.ToTensor()的一个细节_第1张图片

我发现: 输入数据值域不需要满足在 [0,255] 范围内,事实上这个函数只是给整个矩阵除了 255.0.

  • 【例子1】
in: 

a = np.array([[[255,255,255]]])
b = transforms.ToTensor()(a)
b
out:

(0 ,.,.) = 
  1

(1 ,.,.) = 
  1

(2 ,.,.) = 
  1
[torch.FloatTensor of size 3x1x1]

  • 【例子2】
in:

a = np.array([[[-1,-2,-3]]])
b = transforms.ToTensor()(a)
print(1/255,' \n', 2/225, '\n', 3/225)
b
out:

0.00392156862745098  
0.008888888888888889 
0.013333333333333334

(0 ,.,.) = 
1.00000e-02 *
  -0.3922

(1 ,.,.) = 
1.00000e-02 *
  -0.7843

(2 ,.,.) = 
1.00000e-02 *
  -1.1765
[torch.FloatTensor of size 3x1x1]

作 者: 月牙眼的楼下小黑
联 系: zhanglf_tmac (Wechat)
声 明: 欢迎转载本文中的图片或文字,请说明出处


你可能感兴趣的:(pytorch.transforms.ToTensor()的一个细节)