基于mxnet和gluon实现深度学习的一些最基本模型
代码主要来自李沐博士与Aston博士开设的动手学深度学习课程以及mxnet官方tutorial
由衷感谢沐神和mxnet小伙伴们的无私奉献!
以下notebook仅需要按照沐神课程逐步安装gpu版的mxnet及其依赖便可直接运行
-
from_strat:从零实现一个简单的图像分类器
-
Gradient:梯度下降法(Gradient descend)
用numpy实现,利用梯度下降法求解高维线性分布的数据集的权重偏置
-
Gradient_Batch:随机梯度下降法(Stochastic gradient descend)
-
KNN:k=1最近邻分类cifar10数据集
-
MLP:多层感知机
用numpy以及autograd自动求导实现cifar10数据集的分类
-
LeNet:用numpy及autograd实现LeNet分类cifar10数据集
-
-
cnn_cifar10
通过gluon逐步构建复杂的卷积神经网络实现对cifar10的高精度分类(单模型95以上),详细参数以及精度对比见文件夹内README.md
代码参考了Wei Li通过keras的实现BIGBALLON/cifar-10-cnn
cifar10数据集在官网自行下载解压后将load_cifar函数的route参数改为存放解压文件的绝对路径即可,下载地址:CIFAR-10 python version
-
mlp:多层感知机
-
lenet:调整了结构的lenet
-
lenet(data augmentation):标准数据增强后的lenet
-
resnet50:前置batch normalization和relu的resnet50
-
resnet50(data augmentation):加上标准数据集增强的resnet50
-
wide resnet(16*8):wrn实现高精度分类
-
kaggle(cifar10):用wrn16*8模型参加kaggle cifar10比赛
单模型精度95.96,ensemble后精度96.98。单模型精度即可击败原比赛榜单第一
-
kaggle(house price):房价预测,沐神课程初期的一个小练习
由于同属于kaggle比赛,且训练很快,可以随手跑一跑,代码为一个简单调参后的demo,精度应在0.117左右,名次约在16%,传统机器学习方法应该可以获得更好的成绩,详细可参考实战Kaggle比赛——使用Gluon预测房价和K折交叉验证
-
-
transfer_learning:迁移学习
-
fine tuning:微调预训练模型完成热狗分类
-
neural style:样式迁移
基于VGG19预训练模型实现图片风格样式迁移
-
kaggle(dog breed identification):kaggle120种狗分类比赛
基于inception v3和resnet152 v1预训练模型通过迁移学习训练模型分类120种狗,使用原始数据集精度可达0.2673,使用stanford数据集精度可达0.0038,具体细节见文件夹内README.md
-
-
gan
generative adversarial networks / 生成对抗网络初步
-
conv_gan
使用dcgan(deep convolutional gan)生成人脸
-
condition_gan
使用conditional gan生成mnist数字
-
- gradient decend基本
- batch gradient decend
- knn 分类cifar-10
- numpy+autograd实现mlp图像分类器
- gluon实现mlp图像分类器
- lenet
- 添加了图像增强的lenet
- resnet
- resnet 图像增强
- fine tuning
- neural style
- convolutional gan
- fcn/ssd/yolo/rnn系(TODO)
- Gradient-Based Learning Applied to Document Recognition (Lenet)
- Deep Residual Learning for Image Recognition (Resnet)
- Identity Mappings in Deep Residual Networks (Resnet_v2)
- Wide Residual Networks
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- SSD: Single Shot MultiBox Detector
- You Only Look Once: Unified, Real-Time Object Detection
- Fully Convolutional Networks for Semantic Segmentation
- Generative Adversarial Networks
- Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
- Conditional Generative Adversarial Nets
- Deep Reinforcement Learning: An Overview
- Human-level control through deep reinforcement learning
扩展阅读:
- ImageNet Classification with Deep Convolutional Neural Networks (Alexnet)
- Going Deeper with Convolutions (Googlenet)
- Very Deep Convolutional Networks for Large-Scale Image Recognition (VGG)
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Rich feature hierarchies for accurate object detection and semantic segmentation (RCNN)
- Fast R-CNN
- Mask R-CNN
- Image-to-Image Translation with Conditional Adversarial Networks