![MIT](https://camo.githubusercontent.com/83d3746e5881c1867665223424263d8e604df233d0a11aae0813e0414d433943/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)
深度学习模型
本项目讲述了深度学习中的结构、模型和技巧,使用的深度学习框架是 TensorFlow 和 PyTorch,代码和图文都以 Jupyter Notebook 的形式编写。
传统机器学习
多层感知器
卷积神经网络
基本
概念
全卷积
数据集介绍
数据集 |
中文名称 |
样本数 |
图像尺寸 |
官方网站 |
MNIST |
手写数字数据集 |
训练集 60000,测试集 10000 |
(28, 28) |
MNIST |
CIFAR-10 |
加拿大高等研究院-10 |
训练集 50000,测试集 10000 |
(32, 32) |
CIFAR-10 |
SVHN |
街景门牌号 |
训练集 73257,测试集 26032,额外 531131 |
尺寸不一,裁剪后 (32, 32) |
SVHN |
CelebA |
名人面部属性数据集 |
202599 |
尺寸不一,图像宽度超过 200 |
CelebA |
Quickdraw |
快速涂鸦数据集 |
5000 万 |
原始尺寸是 (256, 256),裁剪后为 (32, 32) |
Quickdraw |
模型搭建与训练
数据集 |
模型 |
任务 |
地址 |
测试集准确率 |
CIFAR-10 |
AlexNet |
图像分类 |
PyTorch |
66.63% |
CIFAR-10 |
VGG-16 |
图像分类 |
PyTorch |
75.43% |
CIFAR-10 |
VGG-19 |
图像分类 |
PyTorch |
74.56% |
CIFAR-10 |
Network in Network |
图像分类 |
PyTorch |
70.67% |
CIFAR-10 |
ResNet-101 |
图像分类 |
PyTorch |
76.50% |
CIFAR-10 |
DenseNet-121 |
图像分类 |
PyTorch |
76.70% |
MNIST |
ResNet 残差模块练习 |
数字分类 |
PyTorch |
97.91% |
MNIST |
ResNet-18 |
数字分类 |
PyTorch |
99.06% |
MNIST |
ResNet-34 |
数字分类 |
PyTorch |
99.04% |
MNIST |
ResNet-50 |
数字分类 |
PyTorch |
98.39% |
MNIST |
DenseNet-121 |
数字分类 |
PyTorch |
98.50% |
CelebA |
VGG-16 |
性别分类 |
PyTorch |
90.72% |
CelebA |
ResNet-18 |
性别分类 |
PyTorch |
97.38% |
CelebA |
ResNet-34 |
性别分类 |
PyTorch |
97.56% |
CelebA |
ResNet-50 |
性别分类 |
PyTorch |
97.40% |
CelebA |
ResNet-101 |
性别分类 |
PyTorch |
97.52% |
CelebA |
ResNet-152 |
性别分类 |
PyTorch |
|
度量学习
自编码器
全连接自编码器
卷积自编码器
变分自动编码器
条件变分自动编码器
生成对抗网络 (GANs)
递归神经网络 (RNNs)
多对一:情感分析、分类
- 一个简单的单层RNN(IMDB)[PyTorch]
- 一个简单的单层RNN,带有打包序列,用于忽略填充字符(IMDB) [PyTorch]
- 带有长短期记忆(LSTM)的RNN(IMDB) [PyTorch]
- 带有长短期记忆(LSTM)的RNN,使用预训练 GloVe 词向量 [PyTorch]
- 带有长短期记忆(LSTM)的RNN,训练 CSV 格式的数据集(IMDB)[PyTorch]
- 带有门控单元(GRU)的RNN(IMDB) [PyTorch]
- 多层双向RNN(IMDB) [PyTorch]
多对多 / 序列对序列
- Char-RNN 实现的文本生成器(Charles Dickens) [PyTorch]
序数回归
- 序数回归 CNN -- CORAL w. ResNet34(AFAD-Lite) [PyTorch]
- 序数回归 CNN -- Niu et al. 2016 w. ResNet34(AFAD-Lite) [PyTorch]
- 序数回归 CNN -- Beckham and Pal 2016 w. ResNet34(AFAD-Lite) [PyTorch]
技巧和窍门
- 循环学习率 [PyTorch]
- 动态增加 Batch Size 来模拟退火(在 CIFAR-10 上训练 AlexNet) [PyTorch]
PyTorch 工作流程和机制
自定义数据集
- 使用 torch.utils.data 加载自定义数据集 -- CSV 文件转换为 HDF5 格式 [PyTorch]
- 使用 torch.utils.data 加载自定义数据集 -- 来自 CelebA 的面部图像 [PyTorch]
- 使用 torch.utils.data 加载自定义数据集 -- 来自 Quickdraw 的手绘图像 [PyTorch]
- 使用 torch.utils.data 加载自定义数据集 -- 来自街景门牌号数据集(SVHN)的图像 [PyTorch]
- 使用 torch.utils.data 加载自定义数据集 -- 亚洲面部数据集 (AFAD) [PyTorch]
- 使用 torch.utils.data 加载自定义数据集 -- 照片年代追溯数据集(Dating Historical Color Images) [PyTorch]
训练和预处理
并行计算
- 使用 DataParallel 进行多 GPU 训练 -- 在 CelebA 上使用 VGG-16 训练性别分类器 [PyTorch]
其他
Autograd
TensorFlow 工作流程和机制
自定义数据集
训练和预处理
- 保存和加载模型 -- 保存为 TensorFlow Checkpoint 文件和 NumPy npz 文件 [TensorFlow 1]