tf.image.resize_bilinear tensorflow 转pytorch

该博客探讨了如何在TensorFlow的resize_bilinear操作与PyTorch之间进行转换。内容包括理解TensorFlow的resize_bilinear函数,其参数如images、size和align_corners的作用,以及在PyTorch中使用相同功能的方法,主要涉及input、size和mode等选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tf.image.resize_bilinear(
    images,
    size,
    align_corners=False,
    name=None
)

images:Tensor,4维的并且具有形状[batch, height, width, channels].
size:2个元素(new_height, new_width)的1维int32张量,用来表示图像的新大小.
align_corners:可选的bool,默认为False;如果为True,则输入和输出张量的4个角像素的中心对齐,并且保留角落像素处的值.
name:操作的名称(可选).
tensorflow中地这个语言实现了图片地resize,采用双线性插值地方法,对应pytorch中语言为:

第第3关:数据增强 300 学习内容 参考答案 记录 评论 任务描述 相关知识 随机翻 随机缩放 随机裁剪 编程要求 测试说明 任务描述 本关任务:独立完成前面关卡的小伙伴,相信你们会读取数据并对数据做归一化处理。但是这远远不够,你需要通过数据增强技术来增加数据的多样性。在本关中,你将要实现数据增强中的随机翻和随机缩放功能。 相关知识 为了完成本关任务,你需要掌握:1. 随机翻; 2. 随机缩放; 3. 随机裁剪。 随机翻 水平翻: 左右翻,将左边的像素点放在右边,将右边的像素点放在左边。如下图所示: 垂直翻:上下翻,将上边的像素点放在下边,将下边的像素点放在上边,如下图所示: Image模块中包含图像的水平翻和垂直翻等操作。 # 水平翻 out = im.transpose(Image.FLIP_LEFT_RIGHT) # 垂直翻 out = im.transpose(Image.FLIP_TOP_BOTTOM) 随机缩放 缩放:对图片随机进行不同比例大小的缩放 随机裁剪 以固定尺寸裁剪图像,但是每次裁剪的图像内容不同。 在pytorch中,实现随机裁剪的是RandomCrop类。定义如下: torchvision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant') size:裁剪尺寸 padding:在裁剪之前,是否对图像进行填充,可以填充图像的左、上、右、下。 pad_if_needed:如果图像小于所需大小,它将填充图像以避免引发异常。 fill :用于恒定填充的像素填充值。 padding_mode :指定填充模式,填充模式有:constant、edge、reflect、symmetric。 示例如下: import torchvision.transforms as tf import torch MyTransfrom = tf.RandomCrop([224,224]) input = torch.randn(3, 256, 256) output = MyTransfrom(input) 编程要求 根据提示,在右侧编辑器补充Begin-End段中的代码,你所需要完成的功能是: 完成随机水平翻 完成缩放 完成裁剪 将增强后的图像保存至 ./train-2/Imgs/Test/Pass3/img_aug.png 测试说明 平台会对你编写的代码进行测试: 测试输入: 预期输出: 数据增强成功! 开始你的任务吧,祝你成功!# 导入库 import torchvision.transforms as tf import torch from PIL import Image, ImageOps import random # 随机翻和随机缩放 class MyCoTransform(object): def __init__(self, augment=True, base_size=320, scale=True,crop = True): self.scale = scale self.augment = augment self.base_size = base_size self.crop = crop def __call__(self, input): ''' :param input: 图片 :return: ''' if (self.augment): # Random hflip random.seed(1) if random.random() < 0.5: # 请在此添加你的代码实现左右翻 # ********** Begin *********# input = # ********** End **********# # 随机缩放 if self.scale: # 请在此添加你的代码实现缩放,缩放比例为0.75-2.0 # ********** Begin *********# short_size = # ********** End **********# else: short_size = self.base_size w, h = input.size if h > w: ow = short_size oh = int(1.0 * h * ow / w) else: oh = short_size ow = int(1.0 * w * oh / h) input = input.resize((ow, oh), Image.BILINEAR) # 随机裁剪 if self.crop: # 请在此添加你的代码实现随机裁剪,裁剪大小为224x224 # ********** Begin *********# input = # ********** End **********# w, h = input.size # 请在此添加你的代码存储图片 # ********** Begin *********# # ********** End **********#
最新发布
05-28
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值