文章目录

  • 任务名称
  • 任务简介
  • 详细说明
  • 作业
  • 1. 请用文字描述本周所学知识的重点,并且为每节课列出关键词,将这些本周的关键词以序号进行排序
  • 重点
  • 关键词
  • 附:直播课笔记
  • 相对路径的..和.
  • 数据读取格式不同怎么处理
  • GPU显存占用的影响因素
  • batchsize与训练时间的关系
  • 过拟合的解决方法
  • 预处理套路参考什么
  • python中变量前_的含义
  • 多进程读取数据


任务名称

本周学习任务简单总结

任务简介

温故而知新,简单回顾本周学到几个重要知识

详细说明

每一周的学习任务都比较重,第一次学过之后特别容易忘,所以在周日及时做一个要点回顾,会让学习效率大大的提升,不会的知识也会越来越少

本周所学的知识点都是属于机器学习训练模块中的数据模块,对数据进行读取,预处理,增强,在其中包含了大量的方法函数,如Dataloader,Dataset,transforms系列等等,大家需要对其中各个函数的作用和运行机制要有一个清晰的认识,认真总结本周所讲解的数据模块中的知识点。

作业

1. 请用文字描述本周所学知识的重点,并且为每节课列出关键词,将这些本周的关键词以序号进行排序

重点

  • 数据模块分为四个部分:
  1. 数据收集:Img,Label
  2. 数据划分:train valid test
  3. 数据读取:DataLoader
    再分为两个子模块:Sampler和DataSet
    Sampler的主要功能是对数据生成索引:Index
    DatsSet是根据索引读取数据:Img,Label
  4. 数据预处理:transforms
  • Epoch、Iteration与Batchsize的关系:
  1. Epoch:所有训练样本输入到模型中一次,称为一个Epoch
  2. Iteration:一批样本输入到模型中,称之为一个lteration
  3. Batchsize:批大小,决定一个Epoch有多少个lteration
  • torchvision是计算机视觉工具包,有三个主要模块:
  1. torchvision.transforms:常用的图像预处理方法,即图像增强,方法包括数据中心化数据标准化,缩放,裁剪,旋转,翻转,填充,噪声添加,灰度变换,线性变换,仿射变换,亮度、饱和度及对比度变换等,数据增强是为了提高模型泛化能力
  2. torchvision.datasets:常用数据集的dataset实现,MNIST,CIFAR-10,ImageNet等
  3. torchvision.model:常用的模型预训练,AlexNet,VGG,ResNet,GoogLeNet等

关键词

dataset的getitem
transform

附:直播课笔记

相对路径的…和.

…:返回上一级目录
.:本级目录
__file__:当前目录

  • pycharm中会按照当前运行的.py文件的目录去找相对路径
    linux的ide中会按照当前
  • windows中用“/”分隔路径
    linux中用“\”分隔路径
    所以要用os.path.jion()来生成目录

数据读取格式不同怎么处理

图片一般用PIL读取就行,PIL不行的话可以用cv2
只要把数据从硬盘读到ndarray,转换成tensor就行

GPU显存占用的影响因素

batchsize越大,显存占用越多

batchsize与训练时间的关系

batchsize越大,完成一个epoch的时间越短,总训练时间还要看epoch数量

过拟合的解决方法

过拟合往往与训练集和测试集的类别不平衡有关

  • 对类别少的样本进行过采样、数据增强
  • 对类别多的样本进行欠采样
  • 在损失函数上进行加权调整
  • 获取更多更全面的数据
  • 长尾分布(见图)

预处理套路参考什么

看论文介绍,如AlexNet

python中变量前_的含义

用来接收一个不用的变量,在返回变量但我们不需要这个变量时使用

多进程读取数据

加载数据只与CPU和RAM有关,而GPU是加速计算的

num_worker一般与CPU核心数相同,但是2就够了,主要时间花在训练而不是加载数据上

pytorch框架哪个版本好 pytorch框架班_预处理