self-learning
wangzhong
-
- 机器学习手写算法和实战,如线性回归,LR,SVM,KMEANS等
- 异常检测实战和推荐算法实战等
- 吴恩达机器学习作业
-
- 深度学习主要模型复现,主要是CNN方向
- 深度之眼论文精读代码复现
- alex:alexnet-pytorch复现实战
- vgg: vgg-pytorch复现实战
- resnet: resnet-pytorch-cifar实战
- yolov3: yolov3-pytorch-voc2007实战,详情参考yolov3下的readme
-
- 算法数学原理推导
-
- 阅读过的经典论文
- 深度学习巨头Lecun论文主页
-
- dask分布式计算框架教程和使用
-
- basic-operate: pytorch简单基础操作和操作导图
- regression-practice:简单的linear神经网络搭建
- CNN: 卷积神经网络实战
- RNN: 循环神经网络实战
- GAN: 对抗生成网络实战
- tensor-board: pytorch可视化工具
- videoprocess: c3d网络模型实战
- template:数据load + 网络模型 + 模型训练的模板
数学公式推导的md文件用typora写的, 如果无法正常显示,请用typora打开查看
- yolov3-pytorch-voc2007实战
- 具体请查看dlmodel/yolov3下的readme文档
- 后续可能会在其他平台放出我预训练好的model,可以自行下载进行迁移学习,比如训练coco数据集
- 论文增加fast-rcnn和yolo v3
- yolo-v3的pytorch的简单实战的开源项目学习
- 地址:yolov3
- 增加论文resnet-cifar代码复现实战
- cifar数据集自行下载:cifar-10
- 模型为针对cifar数据集的resnet20,已经在tools文件夹中
- 增加混淆矩阵,方便查看训练和测试结果,也可以统计recall和precision
- GPU1070耗时2小时多一点,best acc为91.79%,跟论文上差不多,很真实!
- 增加resnet论文
- 增加论文googlenet v1和v2
- v1为第一个正式的goolenet的网络模型,2014分类第一(多模型下)
- v2主要是提出了革命性的Batch Normalization
- pytorch-vgg-16代码复现实战
- 数据集同样为kaggle猫狗大战,抽取这个数据放到DATA中,请自行下载数据
- vgg-16预训练模型,自行下载,地址在src下的init.py里
- 一个epoch就能达到99%以上的准确率
- pytorch-alexnet代码复现实战
- 数据集为kaggle猫狗大战,数据不上传,自行到官网下载,地址在代码文件里
- 采用官方预训练模型,模型自行下载,地址在代码文件
- 项目分层为 data/results/src/tools
- 增加数据读取,模型创建,模型训练的一体化模板,只需更改json文件,输入配置化参数即可
- 入口为train.py
- parse_config.py读取参数,并且会写入当前运行的文件夹下,提供函数自行创建类
- base文件夹下是loader和trainer的基类,拥有基础的一些变量和函数
- loader文件夹下是实际的loader类,直接进行data的读取
- logger文件夹是日志相关和可视化工具
- model文件夹下是实际的网络模型
- trainer文件夹下继承了trainer的基类,主要是实现每个epoch的训练过程,字典形式返回loss,acc,topKacc的average
- saved文件夹保存网络模型和可视化数据还有打印的日志
- 注意,模板不支持cpu和gpu跨读取模型数据,需要自行处理map_location参数
- 新增阅读论文c3d网络模型进行视频动作分类
- c3d-UCF-101项目实战(论文代码复现)
- 视频动作101个分类,训练时间非常久,GPU也需要训练2-3天
- 数据集UCF-101压缩包有6个多G,请进入下面的网址自行下载
- UCF-101
- 重点是理解三维卷积网络
- CycleGAN图像转换模型开源项目代码学习(阅读为主)
- 原项目github
- 主要是看生成器和判别器的搭建,和loss函数的学习
- GAN对抗生成网络简单实战
- BCE-loss理解
- 简单GAN网络MNIST数据实战
- 增加新的大模块:dl-model
- 该模块主要是运用成熟框架进行主流模型的搭建
- 目前计划使用框架为pytorch
- 模型主要偏CNN和CV方向
- pytorch可视化工具tensorboardX学习
- tensorboardX gitHub主页
- pip install tensorboardX进行安装
- 注意该三方库依赖tensorflow,需要安装tensorflow
- 运行代码后,需要在命令行进行tensorboard启动,具体语句在其github主页
- pytorch文本分类项目代码
- open-source文件下为开源项目,非本人所写代码
- 旨在了解pytorch是如何去搭建RNN网络模型的
- resnet迁移学习实战
- model为resnet152
- 102图片分类
- 切记使用GPU进行训练,CPU非常非常慢
- 先进行FC的参数训练,再进行全参数训练
- transform数据扩充实战,ImageFolder和DataLoader
- 通过transform变换数据后,通过loader还原为图像类型并打印
- 迁移学习数据处理部分
- 迁移学习未完成,只是做了数据的transform和batch(一个函数)
- 计划迁移resnet进行部分训练
- 更新了pytorch上的首个卷积神经网络搭建和mnist分类实战
- 两层卷积 + RELU + max polling + 一层全连接
- batch size为64
- 损失函数为交叉熵损失函数
- 最外层迭代次数为3,内部每训练100个batch size进行一次测试集测试和准确率打印
- 更新了torch的网络模型回归实战
- 手写梯度下降进行模型训练
- 使用nn模块进行模型训练,优化器为adam,会自动调整学习率
- 更新了torch的基础tensor练习
- tensor不同维度的创建,以及dim和shape或者size的查看
- 二维矩阵的矩阵乘法和对应位置乘法
- 增加已读经典论文AlexNet
- 增加线性回归基于pytorch的demo练习
- 可以让模型和数据在GPU上进行训练
- 通过torch.optim生成迭代器进行权重优化
- 增加pytorch自动求导机制练习
- 增加pytorch使用模块
- pytorch简单基础操作
- pytorch基础操作导图
- windows配置cuda+cudnn+pytorch查看GPU版是否安装成功
- 增加论文模块 1.增加了CNN中最经典的lenet-5论文
- 手写推荐算法
- 应用场景为用户推荐电影
- 对一个新用户,随机给部分电影打分,初始化权重
- 训练之后预测新用户给所有电影的打分,从而推荐电影
- 异常检测手写算法
- 多元正态密度函数
- 选取最佳阈值epsilon
- math增加PCA算法步骤和原理
- 增加PCA算法
- 手写PCA,并计算降维后剩余方差,进行简单实战
- sklearn库的PCA实战
- 使用PCA对照片进行降维显示
- 线性回归茅台股价预测
- 基于天数单特征预测,效果极差
- 根据股票多特征预测,准确率97%
- 数据集来自tushare三方库
- 部分代码增加注释,方便查看是哪个项目的代码
- 优化kmeans代码
- 线性回归boston房价预测实战
- 数据和标准化来自sklearn库
- train集和test集切分来自sklearn库
- 模型也是直接调用sklearn库
- 优化项目模块结构
- dask分布式计算框架教程和实战
- 更新疫情预测实战
- 使用sklearn的linear model进行简单预测
- 使用sklearn多项式函数进行预测(随着degree增加会过拟合)
- 更新无监督模型kmeans手写代码
- 手写kmeans算法
- 讨论随机初始点选取的影响
- 用kmeans对图片进行压缩
- 用sklearn的Kmeans进行模型训练
- 更新SVM算法的代码,非手写,使用sklearn,主要是熟悉工具的使用
- 线性SVM
- 非线性SVM,RBF核函数,了解gamma超参数的意义
- 确认C和gamma的最优参数
- 用SVM进行垃圾邮件分类
- 更新方差和偏差代码
- 随着样本的增加更新训练集和验证集误差,高偏差
- 随着多项式数目增加,出现高方差
- 加入正则化,选取最佳正则化
- 用最佳lambda和测试集查看泛化能力
- 增加线性回归相关公式推导,md和pdf两个格式
- back propagation为手写反向传播识别手写数字
- neural network为体验神经网络的推算流程,已给定weights,使用forward propagation得到最后的决策曲线。
- linear regression为手写线性回归并画出决策曲线
- logistic regression为手写逻辑回归并画出决策曲线,用scipy进行迭代得到theta,另外用logistic手写一对多分类,识别1到10的数字。