本文共 3890 字,大约阅读时间需要 12 分钟。
感谢NVIDIA,感谢GPUS!!!
参赛队名:学深会
L同学
主要数据获取方法为:网络爬取。主要通过Google搜索引擎,书写网页爬取程序,从而获得交通路面的相关照片,然后下载到本地。该方法的优点为:1.速度快,短时间内可以获取大量数据,节约团队消耗人力物力实地考察,上街拍摄;2.照片对于分析对象的拍摄角度很全面,各个角度的照片都有,可以较好地训练模型。该方法的缺点是:1.网络上的照片质量参差不齐,偶尔有不是目标的照片也被爬取出来了,需要后期人工挑选出来。2.Google上的照片以国外的路面状况为主,训练时对于交通路标的识别存在影响。
T同学
基本上有以下的方法
其他需要注意的事项
L同学
团队采用目标检测的方法,使用在(离)线的VGG工具标准数据集。该方法的优点为:1.节约数据标准的时间,同时也能较好地完成识别目标对象的工作;2.数据标注的工具同时支持在线和离线,且十分轻便,在无网络的情况下也能开展数据标注工作。该数据标注方法的缺点为:1.获取区域目标比较费时;2.往往需要重复计算区域的特征值,数据不共享,存在大量冗余计算。
T同学
对于json文件转换kitti文件,需要注意的是做好json文件的格式规范,如果每一个json文件都有不同的数据结构,那么使用脚本进行转换就有很大的困难。在转换中,需要用到三个元素,第一是label,也就是ROI里的东西是什么;而后面两个是具体的坐标。
img
,T同学和Y同学
把基本网络搭建好了,请参考官方TLT 文档
https://docs.nvidia.com/metropolis/TLT/tlt-getting-started-guide/
T同学
官方教程踩坑实录
下载数据
image-20201217173627850
Linux百度网盘下载还是挺快的
准备数据
image-20201217173658745
解压官方数据集,ipython notebook设计真人性化
下载预训练模型
image-20201217173921101
导入模型配置文件
image-20201217174057218
运行TLT文件
image-20201217174008396
训练模型,这个过程需要至少需要一个小时,如果训练80个epoch的话
image-20201217174124293
反正最后最重要的是这个mAP,我也不太清楚这个具体的意思,反正这个数字越靠近1越好,反正看着跑的感觉还是挺爽的。
模型重训练
image-20201217174405212
我的理解是NVIDIA有一个工具,在TLT里面,他自动给你加了一些“盐”一样的东西,让你的网络generalization的程度更好,比如说prune或者drop out.(在这里就是仅仅做了剪枝)
剪枝结束的时候的样子是这样的
image-20201217174554266
推理的图片
image-20201217174627046
部署到nano上面
先说一下步骤
image-20201217174855775
image-20201217174910822
image-20201217175013752
image-20201217175142587
image-20201206212154429
image-20201206212139178
有了这个USB线,以后就可以直接通过我电脑的网卡来桥接使得jetson上网,通过jupter notebook,此外,直接通过我的电脑控制nano,非常的方便,再也不需要通过外接键盘,鼠标,显示器,网卡,ifconfig读取ip地址,之后通过谷歌浏览器输入ip地址的端口:8888进去jupter notebook来实现了呢
我们现在直接连接山,注意这个USB线需要有数据传输的功能,不能是普通的充电线,这样我们就能直接通过在我的电脑上输入http://192.168.55.1:8888 来控制我的nano了,真的很神奇,虽然我也不知道背后的原理,但是,通过浏览器控制本机实际的硬件,这样的体验还是很棒的!
by the way, 那个如果这个小绿灯没有亮,先检查电源哈,这是nano电源检测灯
image-20201206212123835
S同学
T同学
Y同学
知道常用的CNN模型以及它们的区别
了解模型的构建流程
了解模型的一些优化方法
熟悉了常用的数据增强技巧
学会了在jetson nano上部署模型、检测模型识别效果
L同学
T同学
知道怎么标注数据
自动化标注不靠谱
认识到了四种计算机视觉问题
图像分类
目标检测
语义分割
实例分割
知道怎么链接notebook
知道怎么调整模型的一些参数
知道了先跑docker,再再docker里面跑程序的逻辑
知道大概模型走多少个epoch能够有足够好的精度
知道了jupter notebook 和 jupter lab的区别是啥
知道了label要在一开始的时候要很强的同一在一起(强共识,一开始一定要和组里面强共识)
Linux怎么看系统配置
100张V100训练80epoch,7000张,resnet18大概需要1小时
Prune 之后Retrain需要的时间更多步骤200步
上了好多NVIDIA的课程,学会了jupiter notebook和lab怎么用,这为我以后在kaggle上跑很多模型,训练集提供了可能
知道了怎么用teamviewer来控制计算机
知道了怎么用teamviewer传文件
练习了linux终端的命令
cd
cat
mkdir
ls
知道了linux终端操作的意义的价值,因为当你的训练集里面有10000个文件,甚至只是10000个txt文件的时候,你要是通过图形界面打开,你的file应用程序就会崩
备了以后在nano上面搭建AIOT的能力
知道NVIDIA DIGITS本质上就是把输入放到了那个配置文件的格式里面
S同学
T同学
Y同学
L同学
T同学
S同学
T同学
Y同学
L同学
T同学
转载地址:http://pbccf.baihongyu.com/