今天更新小土堆Pytorch深度学习:常见的Transforms(二)。
Resize的使用
# 打印img的大小
print(img.size)
# 定义trans_resize为resize变换,将img的大小变为(1314, 520)
trans_resize = transforms.Resize((1314,520))
# 对img进行resize变换
img_resize = trans_resize(img)
# 打印resize后的img
print(img_resize)
# 将resize后的img转换成tensor类型
img_resize = trans_totensor(img_resize)
# 将resize后的img作为参数,添加到名为"Resize"的图像中,第三个参数为global_step(可选参数,表示当前训练的步数)
writer.add_image("Resize", img_resize, 0)
# 关闭writer
writer.close()
Compose-resize-2的使用
# 定义trans_resize_2为resize变换,将img的大小变为宽度或高度为520,另一边按比例缩放
trans_resize_2 = transforms.Resize(520)
# 定义trans_compose为组合变换,将trans_resize_2和trans_totensor组合起来使用,先进行resize,再转化为tensor类型
trans_compose = transforms.Compose([trans_resize_2, trans_totensor])
# 对img进行组合变换
img_resize_2 = trans_compose(img)
# 将组合变换后的img作为参数,添加到名为"Resize"的图像中,第三个参数为global_step(可选参数,表示当前训练的步数)
writer.add_image("Resize", img_resize_2, 1)
# 关闭writer
writer.close()
RandomCrop的使用
# 定义trans_random为RandomCrop变换,随机裁剪img的一部分,大小为300x300
trans_random = transforms.RandomCrop(300)
# 定义trans_compose_2为组合变换,将trans_random和trans_totensor组合起来使用,先进行随机裁剪,再转化为tensor类型
trans_compose_2 = transforms.Compose([trans_random, trans_totensor])
# 对img进行组合变换,裁剪10次,每次裁剪后将结果作为参数添加到名为"RandomCrop"的图像中,第三个参数为global_step
for i in range(10):
img_crop = trans_compose_2(img)
writer.add_image("RandomCrop", img_crop, i)
# 关闭writer
writer.close()