如何在pytorch中使用变换模块

  介绍

今天就跟大家聊聊有关如何在pytorch中使用变换模块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

pytorch中的变换模块中包含了很多种对图像数据进行变换的函数

data_transforms =, transforms.Compose ([   ,,,transforms.RandomResizedCrop (224),   ,,,transforms.RandomHorizontalFlip (),   ,,,transforms.ToTensor (),   ,,,transforms.Normalize ((0.485, 0.456, 0.406),, (0.229, 0.224, 0.225))   ])才能

从上面的data_transforms变量中我们能够看出进行了多种变换,而合成方法是将多种变换组合起来.data_transforms中一共包含了四个变换,前两个是对PILImage进行的,分别对其进行随机大小(默认原始图像大小的0.08 - -1.0)和随机宽高比(默认原始图像宽高比的3/4-4/3)的裁剪,之后调整到指定大小224;以及对原始图像进行随机(默认0.5概率)的水平翻转。

第三个transforms.ToTensor()的变换操作是关键一步,它将PILImage转变为火炬。FloatTensor的数据形式,这种数据形式一定是W C H x的图像格式加上[0,1]的大小范围。它将颜色通道这一维从第三维变换到了第一维。

最后的正常化变换是对张量这种数据格式进行的,它的操作是用给定的均值和标准差分别对每个通道的数据进行正则化,具体来说,给定均值(M1,…, Mn),给定标准差(S1、…、锡),其中n是通道数(一般是3),对每个通道进行如下操作:

输出(频道),=,(输入(频道),背后,意思是[频道]),/,性病(频道)

最后需要强调一点的是,这几个变换的先后顺序有一定的讲究,因为不同的方法所处理的对象不一样,前两种变换是对PILImage进行的,而规范化则是对张量进行的,所以处理PILImage的变换方法(大多数方法)都需要放在ToTensor方法之前,而处理张量的方法(比如正常化方法)就要放在ToTensor方法之后。

看完上述内容,你们对如何在pytorch中使用变换模块有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

如何在pytorch中使用变换模块