当前位置:网站首页>PyTorch②---transforms结构及用法、常见的Transforms
PyTorch②---transforms结构及用法、常见的Transforms
2022-08-02 14:07:00 【伏月三十】
常见的Transforms
PIL类型:用PIL读入,Image.open()
tensor类型:用transforms转,ToTensor()
narrays类型:用opencv读入,cv.imread()
常见的方法
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
writer=SummaryWriter("logs")
img=Image.open("images/3.jpg")
print(img)
'''ToTensor()'''
trans_totensor=transforms.ToTensor()
img_tensor=trans_totensor(img)
writer.add_image("ToTensor",img_tensor)
'''Normalize(torch.nn.Module)'''
#输入两个参数,是平均值和方差,图片是三维的。(input-mean)/std
#output[channel] = (input[channel] - mean[channel]) / std[channel]
print(img_tensor[0][0][0])
trans_norm=transforms.Normalize([1,5,8],[3,2,1])
img_norm=trans_norm(img_tensor)
print(img_norm[0][0][0])
writer.add_image("Normalize",img_norm,1)
'''Resize(torch.nn.Module)'''
print(img)
trans_size=transforms.Resize((512,512))
#img PIL->resize->img_resize PIL
img_resize=trans_size(img)
#img_resize PIL->img_resize tensor
img_resize=trans_totensor(img_resize)
print(img_resize)
writer.add_image("Resize",img_resize,1)
'''Compose:对一张图片的多种操作合并成一种'''
trans_resize_2=transforms.Resize(512)
#先进行裁剪,再变成tensor的类型
trans_compose=transforms.Compose([trans_resize_2,trans_totensor])
img_resize_2=trans_compose(img)
writer.add_image("Resize2",img_resize_2,1)
'''RanDomCrop:随机裁剪'''
trans_random=transforms.RandomCrop((200,400))#裁剪正方形的话直接(512),一个括号
#先进行裁剪,再变成tensor的类型
trans_compose_2=transforms.Compose([trans_random,trans_totensor])
for i in range(10):#随机裁剪10步
img_crop=trans_compose_2(img)
writer.add_image("RanDomCrop1",img_crop,i)
writer.close()
边栏推荐
猜你喜欢
随机推荐
Scala学习总结
ConstraintLayout从入门到放弃
spark(standalone,yarn)
2. Basic use RecyclerView
“自主可控”的正确姿势
vscode编译keil工程,烧录程序
profiler network乱码
【目标检测】YOLO v5 安全帽检测识别项目模型
MySQL知识总结 (八) InnoDB的MVCC实现机制
Kubernetes架构和组件
内存申请(malloc)和释放(free)之上篇
AAPT: error: duplicate value for resource ‘attr/xxx‘ with config ‘‘, file failed to compile.
redis入门-1-redis概念和基础
PyTorch(15)---模型保存和加载
RN开发时遇到的问题
语言模型(NNLM)
投资组合理论的简单介绍
内存申请(malloc)和释放(free)之下篇
华为路由交换
华为防火墙









