1 Pytorch中对图片的预处理

在Pytorch中一般使用torchvision.transforms对图片进行归一化处理,比如经常会使用以下的代码

transforms.Compose([
   transforms.RandomCrop((224, 224)),  # 随机裁剪成224x224
   transforms.RandomRotation(15),  # 随机旋转15度
   transforms.RandomHorizontalFlip(),  # 随机水平翻转
   transforms.ToTensor(),  # 归一化数值,从[0-255]归一化到[0-1],并转化为Tensor
   transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # 把图片转到[-1,1]上,方便训练
])

使用transforms.ToTensor()将数值归一化[0,1]的范围内并转换为Tensor,然后再对归一化的数值进行减均值除方差

transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

其公式为:

\frac{x-mean}{std}

将归一化到[0,1]的数值先减去mean然后再除以方差std

2 在ncnn中实现Pytorch对图片的预处理流程

如果我们在Pytorch中使用上述流程对图片数据进行了处理然后再训练模型,那么在使用ncnn推理模型时,也同样需要将图片数据进行以上的预处理流程。下面将介绍如何使用ncnn实现Pytorch对图片同样的预处理流程。

此文章剩余65%被隐藏需要付费查看,内容查看价格3小饼子立即购买,VIP免费
支付前请仔细阅读以下说明,如支付代表您了解并同意了以下说明:
(1)资源收集自互联网,仅供自我学习,请在下载后24小时内删除该资源,如下载者将此资源用于其他非法用途,本站不承担任何法律责任;如有侵权,请立即联系我,马上删除!
(2)下载单个资源则点击立即下载或者立即购买按钮;本站VIP可下载本站所有资源。
(3)请不要使用手机以及电脑浏览器的无痕模式进行支付操作,以免造成支付成功但未显示下载链接。
(4)如遇支付问题或者资源失效问题请点击按钮点击反馈进行反馈或者发送说明邮件到stubbornhuang@qq.com