系列文章目录
- pytorch学习1-数据加载以及Tensorboard可视化工具
- pytorch学习2-Transforms主要方法使用
- pytorch学习3-torchvisin和Dataloader的使用
- pytorch学习4-简易卷积实现
- pytorch学习5-最大池化层的使用
- pytorch学习6-非线性变换(ReLU和sigmoid)
- pytorch学习7-序列模型搭建
- pytorch学习8-损失函数与反向传播
- pytorch学习9-优化器学习
- pytorch学习10-网络模型的保存和加载
- pytorch学习11-完整的模型训练过程
一、pytorch数据加载
#加载数据并显示
from torch.utils.data import Dataset
from PIL import Image
class Mydata(Dataset):
def __init__(self,root_dir,label_dir):
#root_dir是根地址(目录),lobel_dir是图片目录
self.root_dir=root_dir
self.label_dir=label_dir
self.path=os.path.join(self.root_dir,self.label_dir)#地址拼接
self.img_path=os.listdir(self.path)#将这个目录下的东西变成一个列表
def __getitem__(self, idx):
img_name=self.img_path[idx]
img_item_path=os.path.join(self.root_dir,self.label_dir,img_name)#这一次拼接就得到了个体图片的路径
img=Image.open(img_item_path)
label=self.label_dir
return img,label
def __len__(self):
return len(self.img_path)
root_dir="dataset/hymenoptera_data/train"
ants_label_dir="ants"
ants_dataset=Mydata(root_dir,ants_label_dir)
img,label=ants_dataset[1]#也可以写成img,label=ants_dataset.__getitem__(1)
img.show()
print(img.size)
#加载数据并显示
二、Tensorboard可视化工具的使用
#Tensorboard(可视化工具)的使用
from torch.utils.tensorboard import SummaryWriter
writer=SummaryWriter("logs")#这个类是用来保存训练过程中的各种信息,第一个参数是要保存到哪儿去
img_path="data/train/bees_image/16838648_415acd9e3f.jpg"
img=Image.open(img_path)
img_array=np.array(img)
writer.add_image("test",img_array,2,dataformats="HWC")#此函数对于图片的参数有要求(默认接收tensor数据类型的图片),比如说这个图片是(高h,宽w,通道数c),需要在后面指定参数位置,默认是(通道数,高,宽)
for i in range(100):
writer.add_scalar("y=2x",2*i,i)#前三个参数分别是标题、y轴(数值),x轴(训练的第几步)
writer.close()
#Tensorboard(可视化工具)的使用
总结
以上就是今天要讲的内容,使用pytorch进行数据加载以及Tensorboard可视化工具的基础使用方法