type
status
date
slug
summary
tags
category
icon
password

从PyTorch中加载数据

Data set

用于获取数据以及lable

内容

  1. 如何获取数据以及lable
  1. 总共的数据数量
 

Data loader

为网络提供不同的数据形式
 

常见的文件组织形式

用 Lable 命名

一组文件

Lable与文件对应

一组文件,一组对应的记录lable的文件
 

Dataset代码实战

  1. 导入各种包
  1. 传入根路径和相对路径
  1. 合并路径,找到对应文件
  1. 将文件与lable对应
 

Tensorborad使用

绘制函数图像

在命令行启动
 

展示图像

 

Torchvision中的transforms

这里转化成 tensor 后,像素值会被归一化到 0-1 之间
writer中默认格式和 tensor的格式相符
 

常见的 transforms 的使用

Normalize

功能:对 Tensor 数据按通道归一化到标准分布
公式
关键参数
mean:通道均值(如 [0.5, 0.5, 0.5])
std:通道标准差(如 [0.5, 0.5, 0.5])
注意:输入需为 Tensor,值范围为 [0.0, 1.0]

Compose

功能:将多个变换按顺序组合为一个流水线
关键参数:变换列表 [transform1, transform2, ...]
作用:简化数据预处理流程。

Resize

功能:调整图片大小(强制或等比例缩放)
关键参数
size:目标大小(如 256 或 (224, 224))
interpolation:插值方式,默认 BILINEAR
作用:调整图像尺寸以符合模型输入要求。

RandomCrop

功能:随机裁剪图片到指定大小,用于数据增强
关键参数:
1. size:裁剪的目标大小(int 或 (height, width)) 2. padding:可选,对图像边界进行填充,默认为 0(无填充)
可以是单个值(所有边相同)或 4 个值(分别为左、上、右、下的填充) 3. pad_if_needed:如果图像尺寸小于目标裁剪大小,是否自动填充,默认为 False
 

Torchvision 中的数据集使用

 

DataLoader

DataLoader中的各个参数

dataset

数据来源,某个地址

batch_size

每次加载的数据样本数量

shuffle

是否打乱顺序
  • 训练阶段:一般为True——提高模型泛化能力
  • 测试阶段:一般为False,无需打乱

num_workers

用于加载的子进程数

drop_last

是否丢弃最后一个不完成批次
  • 训练:可以丢弃——防止不平衡
  • 测试:一般保留所有数据

nn.Module——神经网络的基本骨架

model类:必须从nn.module继承
 

卷积层

  • in_channels (int) – Number of channels in the input image
  • out_channels (int) – Number of channels produced by the convolution
  • kernel_size (int or tuple) – Size of the convolving kernel
  • stride (int or tuple, optional) – Stride of the convolution. Default: 1
  • padding (inttuple or str, optional) – Padding added to all four sides of the input. Default: 0
 
基本就是用 kernel 套在输入的矩阵上一次次移动,每次计算对应位置相乘的值,放在输出的对应位置

池化层

最大池化

  • kernel_size:池化窗口的大小(例如,2x2)
  • stride:窗口滑动的步长(默认为与 kernel_size 相同)——也就是说默认不重叠
  • padding:在输入边界添加的像素数量(默认为 0)
  • dilation:池化窗口中元素间的间距(默认为 1)
 

非线性激活

ReLu

Sigmoid

 

线性层和其他层

线性层

 

Sequential

用于按顺序执行运算
 

实战:CRFAR10

CRFAR-10
 

损失函数

  1. 计算预测和真实之间的差距
  1. 为更新参数提供依据(反向传播)
CS61A4.1 多层感知机
Loading...
昊卿
昊卿
一个普通的干饭人🍚
最新发布
大一上学期总结
2025-3-9
4.1 多层感知机
2025-3-7
3.4 softmax 回归
2025-3-5
3.3 线性回归的简洁实现
2025-3-5
3.2 线性回归的从零开始实现
2025-3-5
3.1 线性回归
2025-3-5