深度学习项目构建(持续更新)

一. 数据集

1.1 获取数据集

Kaggle, 竞赛, Github以及Sklearn内置

1.2 导入PyTorch

数据, 图像打包,表格 和标签转化为Tensor

1.3 数据预处理

分割批次(分割训练集和测试集)

数据预处理主要包括以下四个方面内容:

数据清洗(缺失值以及异常值的处理)
特征工程(基于对现有数据特征的理解构造的新特征,以挖掘数据的更多特点)
同组识别(找出具有明显同组效应且违背整体规律的数据,对其数据进行修正)
筛选子集(对数据进行降维,选择子集)

图像归一化,图像尺寸重调, 图像去重,去除无效图片, etc.
定义数据导入函数

1.4 定义训练需要的一切元素

定义损失函数
定义评估指标, 循环所需要的超参数
定义优化算法及其超参数

1.5 定义训练函数

修正数据结构
正向传播
计算损失
迭代当前权重
清空本轮梯度
完成模型进度与效果监控
测试
迭代停止

1.5 Baseline

建立Baseline, epoch设置>=10

二. 模型选择 (分类网络)

2.1 原图尺寸接近30X30 (特征数量接近1000)

样本量小于6w

数据增强->批次分割->迁移学习->控制网络层数

推荐AlexNet基础上修改ResNet18及以下网络, 谨慎使用VGG

注: VGG不会改变图像尺寸

样本量>=6万

批次分割->GPU计算

ResNet18或者34, VGG13, 16都可尝试

2.2 原图尺寸接近224X224(特征数量接近4w)

样本量小于6w

数据增强->批次分割->迁移学习->控制网络层数

ResNet34及以上Inception系列

样本量>=6万

批次分割->GPU计算

VGG以上任意架构可以尝试各种ResNet和Inception的变体

三. 依据精度和效率选出基准模型, 基于基准模型自建架构以供训练使用

3.1 有GPU

大batch_size 64或者128

大epochs 50或者100

3.2 无GPU

小batch_size 一般是16, 最小是4

小epochs 一般是10, 最小可设置2或者5

是否迁移学习

模型微调

四. 调参

4.1 模型微调(fine-tuning)

参数调整(训练参数)
模型优化
学习率调整
参数初始化
正则化等操作
模型融合

4.2 无法达标

操作错误

忽略,或无法实现论文中某些重要细节
基准模型选择错误
微调思路有误

客观上限

数据质量,数量不达标
论文结构有待考证

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值