4.4 pytorch数据预处理:如何自定义transforms方法

 

虽然pytorch提供了很多数据增强方法,然而在我们实际应用过程中,可能还要根据项目需要自己制定一些transforms方法。

下面就来学习,如何自定义我们自己的transforms方法,以及一些注意事项。

 

 

一、自定义transforms()方法

想要自定义transforms方法,首先要熟悉transforms方法的运行机制。

我们在前面讲数据读取机制的时候,我们就知道transforms方法是在Compose类中的call函数调用的。

 

4.4 pytorch数据预处理:如何自定义transforms方法_第1张图片

 

call函数对一组transforms方法循环,然后挑选出transforms方法,执行。

img = t(img)就是transforms方法。我们可以看到transforms方法只能接受一个参数,返回一个参数。

另一个限制是,当前transforms方法的input是上一个transforms方法的output。

 

因此,自定义transforms方法有两个注意的地方:

 

4.4 pytorch数据预处理:如何自定义transforms方法_第2张图片

 

然而当我们设计transforms的时候,可能有多个参数,那这些参数该怎么实现。这时候就可以用到类方法。

下面这个结构就是自定义transforms方法的一个基本结构。初始化__init__可以传入想要的参数。这个类当中必须有一个__call__函数,这个函数当中只能接受一个imput。

 

4.4 pytorch数据预处理:如何自定义transforms方法_第3张图片

 

 

你可能感兴趣的:(11,Python/DL/ML)