当前位置:网站首页>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()
边栏推荐
猜你喜欢
随机推荐
绕过正则实现SQL注入
Win10不能启动WampServer图标呈橘黄色的解决方法
PyTorch(14)---使用现有的模型及其修改
spark(standalone,yarn)
自定义圆形seekBar,超简单
最小树高度
国内IT市场还有发展吗?有哪些创新好用的IT运维工具可以推荐?
spark中RDD与DF的关系
Redis database related commands
CTF-XSS
可以拖拽的ViewGroup,仿微信拖拽缩放关闭
In the Visual studio code solutions have red wavy lines
flutter中App签名
深度学习之 卷积网络(textCNN)
我理解的学习金字塔
语言模型(NNLM)
LLVM系列第二十六章:理解LLVMContext
LLVM系列第二十四章:用Xcode编译调试LLVM源码
profiler network乱码
数据乱码问题—更改mysql字符编码









