栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pytorch框架学习记录3——Transform的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch框架学习记录3——Transform的使用

Pytorch框架学习记录3——Transform的使用 1. 导入
from torchvision import transforms
2.ToTensor的用法

作用:将PIL图像或者numpy转换成tensor格式

from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
from PIL import Image

img_path = "C:\Users\hp\PycharmProjectspythonProject\Pytorch_Learning\flower_data\traindaisy\5547758_eea9edfd54_n.jpg"
img = Image.open(img_path)
tensor = transforms.ToTensor()
tensor_img = tensor(img)

writer = SummaryWriter("logs")

writer.add_image("tensor_img", tensor_img, 1)

writer.close()

3. Normalize的用法

用均值和标准差归一化张量图像,参数:mean, std;输入图像类型为tensor,输出类型为tensor
o u t p u t [ c h a n n e l ] = ( i n p u t [ c h a n n e l ] − m e a n [ c h a n n e l ] ) / s t d [ c h a n n e l ] output[channel] = (input[channel] - mean[channel]) / std[channel] output[channel]=(input[channel]−mean[channel])/std[channel]

# Normalize
transform_normal = transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
img_normal = transform_normal(img_tensor)
print(type(img_normal))
writer.add_image("Normalize", img_normal, 1)

4. RandomCrop 的用法

随机裁剪,参数size表示随机裁剪图片的大小,输入的图像类型为PIL类型,输出的类型也为PIL类型。

下面的这个例子是随机对图像剪裁10次,每次剪裁后的图像大小为32*32

# RandomCrop
transform_randomCrop = transforms.RandomCrop((32, 32))
for i in range(0, 10):
    img_randomCrop = transform_randomCrop(img_PIL)
    # print(type(img_randomCrop))
    img_randomCrop = transform_tensor(img_randomCrop)
    writer.add_image("RandomCrop", img_randomCrop, i)

5. Resize的用法

将输入的PIL图像裁剪成指定大小,输入参数为size(int类型或者turple类型),输出为PIL图像

# Resize
transform_resize = transforms.Resize((128, 128))
img_resize = transform_resize(img_PIL)
img_resize = transform_tensor(img_resize)
writer.add_image("Resize", img_resize, 1)

6. Compose的用法

该方法将所有方法集合到一起,按照顺序依次执行,用法示例如下:

# Compose
transform_compose = transforms.Compose([transform_resize, transform_tensor])
img_resize_2 = transform_compose(img_PIL)
writer.add_image("Compose", img_resize_2, 1)
writer.close()
7. 所有代码
from torch.utils.tensorboard import SummaryWriter
from PIL import Image
from torchvision.transforms import transforms

img_path = "C:\Users\hp\PycharmProjectspythonProject\Pytorch_Learning\flower_data\traindaisy\5547758_eea9edfd54_n.jpg"

writer = SummaryWriter("logs")
img_PIL = Image.open(img_path)

# ToTensor
transform_tensor = transforms.ToTensor()
img_tensor = transform_tensor(img_PIL)

# Normalize
transform_normal = transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
img_normal = transform_normal(img_tensor)
print(type(img_normal))
writer.add_image("Normalize", img_normal, 1)

# RandomCrop
transform_randomCrop = transforms.RandomCrop((32, 32))
for i in range(0, 10):
    img_randomCrop = transform_randomCrop(img_PIL)
    # print(type(img_randomCrop))
    img_randomCrop = transform_tensor(img_randomCrop)
    writer.add_image("RandomCrop", img_randomCrop, i)

# Resize
transform_resize = transforms.Resize((128, 128))
img_resize = transform_resize(img_PIL)
img_resize = transform_tensor(img_resize)
writer.add_image("Resize", img_resize, 1)

# Compose
transform_compose = transforms.Compose([transform_resize, transform_tensor])
img_resize_2 = transform_compose(img_PIL)
writer.add_image("Compose", img_resize_2, 1)
writer.close()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1029216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号