# 简介
PyTorch 中的三个重要概念:
- Tensor 张量
- AutoGrad 自动求导
- Module 层 / 网络
# AutoGrad
压缩感知:
nuclear norm: 低秩
1-norm: 稀疏
机器学习 | Schatten 范数 - Xinyu Chen 的文章 - 知乎
# 计算图
# 动态图 & 静态图
# nn.Module 类
# 模型搭建、训练和测试
# 模型搭建
# 数据加载与 DataLoader
在模型训练过程中,数据流向如下:
- 硬盘:数据的存储位置
- 内存:数据读取到内存中
- CPU: 数据在 CPU 上进行预处理
- GPU: 数据在 GPU 上进行模型计算
PyTorch 提供了 torch.utils.data.Dataset
和 torch.utils.data.IterableDataset
两种常见的数据集形式,分别称为映射式数据集和迭代式数据集。其中,前者用于常见的有限数据集的情况,后者则用于数据大小未知或流形式输入的数据集,此时需要借助迭代器实现样本索引。
torch.utils.data.Dataset
是 PyTorch 中表示映射式数据集的抽象类。在使用 PyTorch 构建自己的数据集时,需要继承这个类,并实现 __len__
和 __getitem__
方法。其中, __len__
方法指定数据集的大小, __getitem__
方法用于实现数据样例的索引。