网络训练积累 -- 如何跑通第一个模型

讲得很好,记下来以后可以借鉴:

如何跑通第一个模型

面对一个全新的任务时,可能会遇到深度神经网络的训练不收敛的情况:loss不下降或者计算过程中浮点数越界,处理这种情况有一些常见的技巧。总体的思路是尽量简化训练,使得网络参数很容易学,即使性能不够优,切忌在跑通第一个模型前就做很多为性能优化服务的、增加训练难度的事项,例如数据增强、网络加宽加深等

模型参数选择

  • 尽量找一个已经跑通过的、与当前任务相似的任务,借鉴其模型、超参数。任务相似主要包括:数据规模、训练目标(代价函数)、视觉任务的难度上相近。
  • 优先使用复杂度较低的网络,一方面可以排除参数太多学不动的问题(Res-Net在这方面有很大优势,几乎不会学不动),一方面可以加快实验迭代效率。
  • 用其他任务学好的模型参数做初始化,可以大大加速收敛,即使任务不同也没关系。
  • 先调低learning rate,可以等模型收敛后再把learning rate调高。

数据集

  • 减小训练集,先在训练集上测试,让模型overfit训练集。
  • 确认数据做了random shuffle(特别注意:caffe DataLayer的shuffle是不充分的)。
  • 确认数据做了归一化(在使用BN的情况下这一点不太重要),像素的灰度值较大(0-255),容易造成模型参数振荡并越界。

输出调试信息

  • 在训练流程中显示输入数据,包括图片和label,这是最容易出错的地方。
  • 查看每一层模型权重、每一层的输出是否合理,一般的DL工具会提供绝对值均值、方差。
  • loss层输出一些细化的统计量,例如在分类、检测中,输出每个类别的数据量、平均score等。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORB-SLAM2是一种基于视觉的单目、双目和RGB-D SLAM系统,可以用于实现实时定位和地图构建。EuRoC数据集是一个常用的SLAM数据集,包含了基于激光雷达和相机的传感器采集的图像序列和位姿数据。在这里,我们将介绍如何使用ORB-SLAM2跑通EuRoC数据集,并对其结果进行结论分析。 具体步骤如下: 1. 下载EuRoC数据集,并解压缩到本地计算机中。 2. 下载ORB-SLAM2的代码,并按照说明进行编译和安装。 3. 修改ORB-SLAM2的参数配置文件,以便正确读取EuRoC数据集。配置文件位于Examples/Monocular目录下,其中有一个名为EuRoC.yaml的文件。主要修改以下参数: - Vocabulary文件路径:修改为ORB-SLAM2的词袋文件路径。 - Camera calibration文件路径:修改为EuRoC数据集中的相机标定文件路径。 - 数据集文件路径:修改为EuRoC数据集的文件路径。 4. 运行ORB-SLAM2,对数据集进行处理。运行以下命令: ``` cd Examples/Monocular ./mono_euroc PATH_TO_VOCABULARY PATH_TO_SETTINGS.yaml PATH_TO_SEQUENCE_FOLDER ``` 其中,PATH_TO_VOCABULARY是ORB-SLAM2的词袋文件路径,PATH_TO_SETTINGS.yaml是ORB-SLAM2的配置文件路径,PATH_TO_SEQUENCE_FOLDER是EuRoC数据集的文件夹路径。 5. 等待ORB-SLAM2完成数据集处理。处理完成后,ORB-SLAM2会输出定位结果、重建的3D地图等信息。我们可以对这些结果进行分析和评估。 结论分析: 在运行ORB-SLAM2的过程中,我们可以得到一些性能评估指标,例如定位精度、重建的地图质量等。通过这些指标,我们可以对ORB-SLAM2在EuRoC数据集上的表现进行评价和分析。 此外,我们还可以使用其他数据集来对ORB-SLAM2进行测试和评估,以验证其鲁棒性和泛化能力。同时,我们还可以对ORB-SLAM2的参数进行调整,以优化其性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值