Python_pytorch
Posted Han Gang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_pytorch相关的知识,希望对你有一定的参考价值。
python_pytorch
小土堆pytotch学习视频链接
from的是一个个的包(package)
import 的是一个个的py文件(file.py)
所使用的一般是文件中的类(.class)
第一步实例化所使用的类,然后调用类中的方法(def)
Dataset
数据集处理
import os
from PIL import Image
from torch.utils.data import Dataset
class MyData(Dataset):
def __init__(self,root_dir,label_dir):
self.root_dir=root_dir
self.label_dir=label_dir
self.path=os.path.join(self.root_dir,self.label_dir)
self.datalist=os.listdir(self.path)
def __getitem__(self,idx):
label=self.label_dir
img_path=os.path.join(self.root_dir,self.label_dir,self.datalist[idx])
img=Image.open(img_path)
return img,label
数据集调用
root_dir='/content/hymenoptera_data/train'
label_dir='ants'
ants=MyData(root_dir,label_dir)
img,label=ants[1]
img.show()
img,label
zip解压
import zipfile
zip_file=zipfile.ZipFile('/content/hymenoptera_data.zip')
zip_extract=zip_file.extractall('/content')
zip_file.close()
TensorBoard
from torch.utils.tensorboard import SummaryWriter
# help(SummaryWriter)
writer=SummaryWriter("/content/log")
for i in range(100):
writer.add_scalar('y=x',i,i)
writer.close()
#经常用add_iamge()方法
# tensorboard --logdir="log" 在服务器显示记录的数据(终端输入)
Transform
1,Transform 如何使用
from torchvision import transforms
from PIL import Image
img_path="/content/QQ图片20210203204459.jpg"
img=Image.open(img_path)
print(type(img))
tensor_trans=transforms.ToTensor()
tensor_img=tensor_trans(img)
print(tensor_img)
tensor_img.shape
2,我们为什么要使用tensor数据类型
包装了我们神经网络中很多(反向传播,梯度计算等)所必须的数据处理类型。
import cv2
from torch.utils.tensorboard import SummaryWriter
img_cv=cv2.imread(img_path)
print(type(img_cv))
tensor_trans2=transforms.ToTensor()
tensor_image=tensor_trans2(img_cv)
print(type(tensor_image))
writer=SummaryWriter("/content/log")
writer.add_image("tensor_img",tensor_image)
writer.close()
3,常见的Transforms
Totensor
from torchvision import transforms
#totensor 把narray和PIL类型转化为tensor类型
trans_tensor=transforms.ToTensor()
print(type(img))
img_tensor=trans_tensor(img)
print(type(img_tensor))
resize
from torchvision import transforms
#Resize 把输入的图片尺寸更改为任意的尺寸a or (a,b)...
trans_resize=transforms.Resize((512,551))
print(img.size)
img_resize=trans_resize(img)
print(img_resize.size)
compose
from torchvision import transforms
# compose 结合多种transforms的转换方法
trans_compose=transforms.Compose([trans_resize,trans_tensor])
img_compose=trans_compose(img)
print(img_compose.shape,type(img_compose))
待补充…
以上是关于Python_pytorch的主要内容,如果未能解决你的问题,请参考以下文章