normalize函数用于对图像进行标准化,把数据转换到标准正态分布的数据集中,以加快模型的收敛。
1 | torchvision.transforms.normalize(mean,std,inplace=False) |
参数名 |
描述 |
取值范围 |
输入/输出 |
---|---|---|---|
mean |
一个序列,包含每个通道的均值。 |
[0, inf) |
输入 |
std |
一个序列,包含每个通道的标准差。 |
(0, inf) |
输入 |
inplace |
bool型参数,默认值为false,表示在原地操作。 |
bool |
输入 |
错误码 |
描述 |
---|---|
KP_PT_STS_NULL_PTR_ERR |
指针内存分配错误。 |
KP_PT_STS_SIZE_ERR |
输入的图片规格错误。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import numpy as np from torchvision import transforms src = np.array([[0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 1, 0, 1, 0], [0, 1, 1, 1, 0], [0, 0, 0, 0, 0]], dtype=np.float32) # 定义均值和标准差 mean = 0.5 std = 0.5 transf = transforms.Compose( [ transforms.ToTensor(), transforms.Normalize(mean, std) ] ) normalized = transf(src) print(normalized) |
运行结果:
1 2 3 4 5 | tensor([[[-1., -1., -1., -1., -1.], [-1., 1., 1., 1., -1.], [-1., 1., -1., 1., -1.], [-1., 1., 1., 1., -1.], [-1., -1., -1., -1., -1.]]]) |