「Deep Learning」理解Pytorch中的「torchvision.transforms」

来源:互联网 发布:java中的final关键字 编辑:程序博客网 时间:2024/06/06 09:47
Sina Weibo:小锋子Shawn
Tencent E-mail:403568338@qq.com
http://blog.csdn.net/dgyuanshaofeng/article/details/78764840

    torchvision里面的transforms对图像做变换,跟数据扩充/增强有关。
   Compose将几种变换组合起来。
   Resize重定图像的大小。给[h, w]重定大小为矩形图像,给size,图像的短边重定大小为size,另一边按照比例放缩。
   RandomCrop随机裁剪图像中的某区域,就是“取图像块”。给[h, w]取矩形块,给size,取正方形块。
   RandHorizontalFlip以0.5概率左右翻转图像。
   RandVerticalFlip以0.5概率上下翻转图像。
    ToTensor将PIL图像或者numpy多维数组转换为张量图像。具体地,PIL图像或者numpy多维数组(H*W*C)[0, 255]转换为(C*H*W)[0.0, 1.0],也就是转换为0到1之间的浮点型(实数),并且channel first了。
    Normalize将张量图像归一化/标准化,即减去均值,除以标准差,特别注意的是,这个过程/计算是逐通道的。均值和标准差,可以对训练数据集计算一次,或者可以自己指定,比如三通道张量图像,均值指定为(0.5, 0.5, 0.5),标准差指定为(0.5, 0.5, 0.5)。
   Lambda,用户自己定义变换。
原创粉丝点击