Pytorch中的transforms.Lambda()

官方介绍

用户可以用transforms.Lambda()函数自行定义transform操作,该操作不是由torchvision库所拥有的,其中参数是lambda表示的是自定义函数。

代码实例

当官方提供的方法并不能够满足需要时,这时候就需要自定义自己的transform策略方法就是使用transforms.Lambda。比如想要截取图像,但并不想在随机位置截取,而是希望在一个指定的位置去截取那么就需要自定义一个截取函数,然后使用transforms.Lambda去封装它即可,代码如下所示:

from torchvision import transforms

def _crop(img,pos,size):
	'''
	:param img:输入的图像
	:param pos:图像截取的位置,类型为元组,包含(x,y)
	:param size:图像截取的大小
	:return: 返回截取后的图像
	'''
	ow, oh = img.size
	x1, y1 = pos
	tw = th = size
	if (ow > tw or oh  > th):
		return img.crop((x1,y1,x1+tw,y1+th))
	return img

deta_transforms = transforms.Compose([
	transforms.Lambda(lambda img:_crop(img,(5,5),224)),
	transforms.ToTensor(),
	])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值