深度学习 图像识别 〇、一、二

传送门





〇、前言

关于本次竞赛的规则、需要做识别的任务场景、所采用的数据集,请查看卓老师的博文

第十六届智能汽车竞赛AI视觉组分赛区数据集发布
第十六届全国大学智能汽车竞赛竞速比赛规则





一、机器学习基础

在开始做软件之前,我通过阅读周志华教授的西瓜书大致了解了一些机器学习的基础概念。

西瓜书的前3章是公共基础。后面4~10章讲解的是不同的机器学习方法,我所涉及的是神经网络相关的知识,于是我从中选读了第5章神经网络

本文最后决定还是以操作为主,而不引入过多的数学内容,毕竟,每多一个数学表达式,读者就会减少一半。如有需要自行研读这4章,着重关注 §2 当中的数据集分割与检验方法§5 当中的感知机数学模型、误差逆传播算法

尽管我是非常享受把数学共性映射到具体学科,从而降维理解抽象的数学理论这一过程的





二、开发环境搭建

CPU 和 GPU 环境不能同时存在,建议先用CPU环境运行,熟练之后再尝试GPU环境。

1. CPU环境入门

百度搜一搜到处都是类似的言论:“CPU主要用于串行运算,而GPU则是大规模并行运算。由于深度学习中样本量巨大,参数量也很大,所以GPU的作用就是加速网络运算。”

但是为什么我们不直接避开CPU而使用GPU训练网络呢?因为逐飞没给教程啊(泪)。刚进入一个陌生的开发环境,面对一大堆拼起来就不认识的汉语单词,没有手把手的指导是非常困难的。并且,你不知道网络上到底哪个教程是真正可行、全程无bug、适用于你的显卡型号的。

CPU环境的开发就对着逐飞的教程照做,防止有人没有参加过NXP,链接放在下面,跟着无脑照就能搭建好可行的训练环境。如果链接出现问题请私信。

链接:https://pan.baidu.com/s/1NkKtPk5PvVmMlrZo5oQmnA
提取码:sdxx

对照教程 PDF 做到 1.5 即可,环境配置完毕。1.6 往下暂时不用

2. 插叙:GPU与深度学习入门

按照时序来说,我配置出GPU环境应该在学习过程的中后期,但是按照内容分类,还是插叙放在这里吧。

网上冲浪的时候见着有位前辈说,“如果你开始使用GPU训练神经网络,那么恭喜你开始入门了”。

出处有些难寻,但的确见过,以我之见来看确实有道理。GPU环境的配置难在各个环境之间的兼容性,python、CUDA、CUDNN、TensorFlow-gpu、Keras之间版本务必版本对应

python的开发以库文件为主,用户很少去追究底层代码逻辑,都是查到一个库,最多去找他的定义,查看输入返回是哪些,不会仔细阅读构造代码。

这种库文件开发优点就是非常简洁,而缺点就在于对库文件之间的兼容性要求很高。如果你的文件之间变量定义不一致(尤其是具有从属关系的文件之间),那么只能报错。

闲话少说,开始构建

诚然,我是一个学生,构建过程是在网络学习的。诸多博文讲解都不够清楚,跟着做之后或多或少都会遇到bug。

最后有幸在知乎上遇到一位大师,而且刚巧我的电脑配置竟与他大抵相仿!显卡驱动最高支持 CUDA 10.2。于是(嘿嘿嘿)我就照做即可。

原文链接:
全新电脑Keras+TensorFlow的GPU环境搭建

几点注解

  • 不建议直接上手GPU环境!

  • 查看CUDA版本方法

    电脑右下角点开NVDIA控制面板
    在这里插入图片描述

    帮助里面打开系统信息
    在这里插入图片描述

    点击组件查看CUDA版本
    在这里插入图片描述

  • 我在安装python3.6.5的时候容易报错,经过测试,3.6.8是可以兼容3.6.5的。

  • 先按照知乎博文一步步安装、测试好keras环境、tensorflow-gpu环境。然后一步步跟着上文CPU环境入门中百度网盘里面的PDF文件,依次安装其他python包即可完成。

  • 建议先用CPU环境入门,等熟悉之后再配置GPU环境,更容易上手。

好的环境是成果的基石。耐下心来!仔细阅读文中分享的PDF文件、知乎博文,一定可以配置好开发环境!亲测有效!





传送门

〇、前言

一、机器学习基础

二、开发环境搭建

三、逐行学习代码,熟悉开发环境

四、学习Keras构建网络,尝试各种模型

五、TensorBoard 可视化,更可靠

六、克服过拟合的第一步 实现过拟合

七、与导师闲言小叙,忽有灵光

八、发现神器,但功力不够,反造成内伤

九、老老实实调参师,挨个尝试架构

十、发现妙解!量化装载!超内存!

十一、最后的灵丹

十二、在线预测百分百,量化之后二百五?

十三、量化之后表现差?在线运行试试

十四、甲方又来催了…租个服务器加急

十五、寻了千百遍,原因竟不在于神经网络太傻

十六、尾声