文章目录
- 写在前面
- Pytorch加载数据初认识
- Tensorboard
- Transform
- dataloader的使用
本系列内容主要是对小土堆的《Pytorch》课程的笔记整理。
b站地址:https://www.bilibili.com/video/BV1hE411t7RN?spm_id_from=333.337.search-card.all.click
1、pytorch加载数据主要涉及两个类,dataset、dataloder
假如有一堆数据
Dataset : 就是将需要的数据获取出来,并且进行相应的编号。
提供一种方式去获取数据及其label
– 如何获取每一个数据及其label
– 告诉我们总共有多少个数据
Dataloader : 对需要的数据进行一个打包。
为后面的网络提供不同的数据形式。
2、torch.utils(torch这个大工具箱里面的常用工具)
3、class MyData(Dataset): // 创建一个MyData类,继承Dataset这个类
def _ _ init_ _(self, root_dir, label_dir):
// 初始化类,根据这个类去创建一个特例实例的时候,就要调用这个函数。
为整个class提供一个全局变量,为后面的函数提供一些量。
这个方法可以留在后面写。
为什么要用self?一个函数的变量是不能传递给其他函数,self指定了一个类当中的全局变量。
def _ _ getitem _ _(self, idx):
4、root_dir = “dataset/train” 、Label_dir = “ants”
Path = os.path.join(root_dir, label_dir) 将两个路径拼接,主要是函数可以自动转化在linux与windows下面的不同格式
1、模型训练过程中,loss是如何变化的,可以根据loss的变化来判断训练是否是按我们预想的变化
2、tensorboard – logdir=logs --port 6007
3、opencv读取的数据类型就是numpy型
import cv2
cv_img = cv2.imread(img_path)
1、图像变换,transform
transform是一个.py文件,里面有很多类,往类里面输入一张图片,就可以得到相应的结果。
常用类:
ToTensor : 将不同类型图片转换成Tensor类型
思路:
通过tramsforms.ToTensor 去看两个问题
一、transform该如何使用(python)
创建具体的工具
tool = transforms.ToTensor( )
tensor_img = tool(img)
二、为什么我们需要Tensor数据类型
SummaryWriter(“logs”)
2、常见的Transforms
3、from torchvision import transforms
4、_ _call _ _语法
即,调用的时候,可以不需用 .函数名 *** 作
3、总结使用教程:
1、关注输入和输出类型,多关注官方文档;
2、关注方法需要什么参数;
3、不知道返回值的时候,可以使用1、print;
dataloader的使用常用相关参数:
dataset: 告诉程序数据集在哪些地方,包括第一张数据、第二张数据是什么,数据集包含多少张数据;
batch_size:一次取多少个数据进行训练,比如一摞牌,batch_size=2就是指每次取两张牌;
shuffle: 打乱数据集的顺序
num_works:采用单进程或多进程进行加载数据,在windows下>0 容易出错;
drop_last:比如有一百张牌,每次取3张,最后会剩下一张,那这一张是要舍弃还是不舍弃,true就是舍弃,false就是不舍弃;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)