百度AIStudio深度学习集训营CV部分结业录

南城的风吹起了窗外的落叶,这个冬天显得格外寂静。 看着空旷的街角,不知不觉间,我的思绪又回到了去年的夏夜。


缘起Paddlepaddle,情定AIstudio

第一次结识百度Aistudio,纯属机缘巧合。出于对人工智能的好奇,我在网上查找着入门的文章,重复地翻阅着大量枯燥的介绍和生僻的理论知识,左手托腮注视电脑屏幕,右手把头发揉的乱七八糟。可以想见对于一个中学生以这种方式自学入门的困难。

直到第二天早上,我在CSDN一篇文章下的评论处关于Paddlepaddle的只言片语,论主粗略地提到了自己在百度集训营学习入门的经历,并有介绍这是国产的框架,方便好用。我想,与其查阅大量英文文档阅读来学习Pythorch、tensorflow等框架来增大自己的学习成本,不妨看一下国产的框架。

我打开了Paddlepaddle官网。
详尽的中文文档,养眼的网页设计风格,深深地吸引了我。
百度Paddlepaddle官网
于是我查阅了一些与Paddlepaddle有关的文章,准备开始着手学习这个国产的框架。在这个过程中我了解到百度的Aistudio平台能够提供免费的在线算力,这样一来就省去了自己安装环境的烦恼。
打开百度Aistudio:百度Aistudio
令人欣喜,这个平台有着各阶段的学习资源,其中关于入门的内容最为丰富,正合我的需求。
丰富的案例、可以直接跑的demo,入微的代码注释,大量可直接使用的数据集,一下子给了我入门的信心。
还记得我第一次跑demo,是关于mnist手写数字识别的
mnist手写数字识别
fork并点击启动环境,可以看到我们能直接免费使用奢华的V100显卡(虽然我当时并不知道这卡很贵,以为是块普通的卡,还想着等我换了好显卡就装本地环境肯定会跑的更快呢,手动滑稽)
v100
点击确定,进入了我们熟悉的Notebook界面

好吧,我承认,当时第一次启动Notebook的感受是:
“我x,这玩意看起来好复杂,咋用的呀。”notebook
当然,复杂只是表象,是纸老虎。主要功能其实还是很容易的摸索出来
我其实当时Python只学过语法基础,于是就一边补习Python知识,一边阅读手写数字识别demo的代码
第一次用模型成功识别图片时,我高兴坏了!难道这就是人工智能的强大魅力!!mnist-infer
当然高兴归高兴,对于我这个AI新手加Python新人来说,demo中的代码我还是有很多读不懂的地方。
一连几周,我都在类似demo中困惑着,特别是对于我自己创建的手写甲骨文数据集,我根本搞不懂如何自己写数据增广和读入部分。
接下来的很长一段时间里我在网上查阅了大量有关Paddlepaddle的资料,最终才得以借鉴一位大大的代码完成了我想要实现的项目。

那以后,我很少再查阅有关AI的资料,也几乎没有再来Aistudio玩。因为我知道,以我现在的能力和所能接触的学习资源,根本不够独立完成哪怕最简单的手写数字识别。网上能查阅到的资料,要么太高深、要么很碎片化无法系统学习,一旦遇到一个小问题就要查阅半天百度结果,耗时耗力。

可能是我的相关底子太低了,迫切需要一些关于细节内容的学习资料,比如数据读入、数据处理、标签处理、优化器的选择、参数的调整经验、网络结构的设计等,但通过自己的长时间摸索也只是掌握了一点点,甚至对于部分知识囫囵吞枣。

那时我深深清楚:一旦没有了demo代码作参考,我几乎什么也写不了!而且即使给了我demo,我只是知道那些代码是做什么的,却不知道为什么这样写,更无法理解背后的原理。


转机: 阴云密布,是为了等待雨后的花开

11月底,我看到微信群有网友转发了AIStudio开课的链接,于是就随缘点开了一下,没想到上面的介绍让我瞪大了双眼
js1
woc,真的吗?于是我接着往下看
js2
OMG,这不就是我一直想要的细节?!!!

js3
看起来还能打怪升级,讲的不只是细节上的操作

课程有关于CV经典网络的讲解,老师会提网络结构背后的实现。比如LeNet,GoogLeNet,VGG,还重点讲解了Yolo v3的原理

jsL
学到最后似乎就可以像大大们一样了,心动的赶脚~!!!
简直是解决了我的难言的痛苦,于是赶紧开始愉快地学习

CV的课程是这样的:
cv
目前已经学完啦,最大的收获就是两个:

一、掌握了数据处理、网络结构、恢复训练、调参优化等技能

二、老师讲的很认真详细,理解了很多以前不懂或囫囵吞枣的知识,比如网络背后的计算过程,卷积计算的演示、池化计算的演示,通道数的计算以及为什么需要用这个数目的卷积核,卷积之后图像大小变成了多少,跟步长有什么关系,感受野的大小计算,dropout的思想等等。

这次还参加了课程的测试比赛,放一张收获感满满的图片:
insects
虽然比赛成绩不好,但这段比赛的时光里努力的日夜也让我有了很多收获(主要是经验上的,关于学习率调整、正则化系数调整、anchor、数据增广、优化器、衰减器、读入、预测、增量训练、取优微调、backbone、dropout之类的)

特别是每一次提交result.json后,刷新网页查看mAP时都会满怀期待,当看到自己准确率提升时会喜悦、会激动;也会有发现自己想了一个新方案跑了一夜的代码,第二天早上醒来测一下mAP反而更低的苦恼。

还学会了本地预测mAP最高的模型不一定就是最优的模型;最好模型的往往不是出现在靠后的epoch,而是中间过半的位置;跌倒了不要灰心,在此模型基础上微调参数增量训练反而会超越原本最好的模型等等…这样可以映射到为人处世大道理上的教训。

值得一提的是这次比赛大神层出不穷呢,打开比赛榜:

game
虽然只是练习赛,但可以见得大家都打得十分认真。
我也意识到了大大们有很多人比我学习的更加认真,参加同一个集训营的课程他们学到的水平却更高这一点。


终章,亦或是开始

我很喜欢集训营的学习氛围,只要虚心请教,有很多大大愿意帮助你,抽出他们宝贵的时间给你解答,还有老师们也都很认真负责。

以前自己一个人摸索时遇到问题可能查半天都没有解决,现在有一个学习环境,认识了一群人,度一段集训营的时光。

真的好多了。

这可能就是代码里的诗与远方吧。

Anyway, do n’t be discouraged, do n’t be discouraged
Because everything just started
Tomorrow has not yet come to an end.
Everywhere we go is blooming
Unpredictable, waiting for you to come
不管怎么样,不要灰心,不要丧气
因为一切,还只是开始
明天还没有划上句号,年华所到之处正遍野开花
乾坤未定,等你来踏

Dream what you want to dream; go where you want to go; be what you want to be, because you have only one life and one chance to do all the things you want to do.
加油吧,少年


谨以此纪念我在百度AIstudio深度学习集训营的CV学习旅程。

发布了1 篇原创文章 · 获赞 2 · 访问量 183

猜你喜欢

转载自blog.csdn.net/GeekS356/article/details/104442272