ToTensor问题
收藏
TOTensor说明:
将 PIL.Image 或 numpy.ndarray 转换成 paddle.Tensor。
将形状为 (H x W x C)的输入数据 PIL.Image 或 numpy.ndarray 转换为 (C x H x W)。 如果想保持形状不变,可以将参数 data_format 设置为 'HWC'。
同时,如果输入的 PIL.Image 的 mode 是 (L, LA, P, I, F, RGB, YCbCr, RGBA, CMYK, 1) 其中一种,或者输入的 numpy.ndarray 数据类型是 'uint8',那个会将输入数据从(0-255)的范围缩放到 (0-1)的范围。其他的情况,则保持输入不变。
感觉ToTensor包含归一化,怎么这里又归一化一次???
HAPI第二节课后作业题,这样做的,感觉归一化多余了一次。
代码如下:
if mode == 'train':
self.transforms = T.Compose([
T.RandomResizedCrop(IMAGE_SIZE), # 随机裁剪大小
T.RandomHorizontalFlip(0.5), # 随机水平翻转
T.ToTensor(), # 数据的格式转换和标准化 HWC => CHW
T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 图像归一化
])
1
收藏
请登录后评论
to_tensor还管归一化?原来没发现过
快去打印下看看,to_tensor后数值变了没有~~
管啊,2.0正式版出来以后我就发现了。
是归一化了,虽然数值不一样,但是效果一样。
这不是归一化一次吗?
to_tensor已经包含归一化1次了,这里面归一化了2次。。。
Normalize又来了1次。。。。。。
这个是不是自适应的啊
如果判断输入图片数据为uint8格式就进行归一化
我在送标签前也会强制下uint8类型,好像有时会报错
int就行,其实float也可以,但记得有时出问题。所以干脆都自己转成int
float还分16,32,64
一般paddle里都是32吧·
还是名美白。