编程之路,须铸金蝉之势
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程之路,须铸金蝉之势相关的知识,希望对你有一定的参考价值。
作者:神的孩子在歌唱
大家好,我叫运智
这篇文章主要讲的是我大三这一年的比赛生活
编程之路,须铸金蝉之势
前言:
大三转眼而逝,整整一个大三都在忙碌中度过,比赛,驾照等,这一年是我收获最多的一年,也是我觉得最有意义的一年,五月份获得了博客专家称号:一年成为博客专家? 致!奋斗的自己
大三初的我
大三,对于很多专业来说,是一个能决定一个人未来的一年,很多人刚开始和我一样都以为大学有四年时光,可其实不然,我老师对我说过,大三结束后你就得去实习,去找工作,留给你学习的时间其实不多了,很多人都会说到了工作后在学也一样,可是谁又能坚持每天工作后晚上还要学习,你只学工作中用到的,趁着大三这段时间多学学,打好自己的基础。
我其实对工作没什么概念,因为我还没实习过,不知道社会需要的是何种人,我就像一个井底之蛙,渴望着去外面的世界看看,虽然危险,可却无悔,但我知道,你没有匹配的实力,你连出去的机会都没有,所以大三加入了我学校的一个实验室,听说这个实验室会有队员们自己组队,老师带队比赛,所以大三刚开始我就报名进去了,值得一提的是当时报名进去人数有二十几人,最后坚持下来能提交作品的也就9个人。不过这都是些小插曲,我在这里认识了卢老师,和很多跟我一样为了梦想奋斗的同学。
大三,梦开始的地方,我选择在这里开始!!!
初识软件杯
大三上学期的时候,实验室里还有几个大四的学长,整学期基本都是那几个大四学长在实验室,老师很少见到,从学长那里我了解到,我们实验室主要做的比赛是软件杯,从这里开始,我才逐渐了解软件杯这个比赛,它是在下学期的时候可以报名参加,不过现在就得提前准备,比赛用的最多的语言是Python,在这之前我没接触过Python这门语言,说到底在这之前我脑袋里的编程知识都是学校教的,都是些基础的c语言入门和java语言入门,数据库基础我提前学了,可是还不会用到项目中(说到这里我都觉得自己菜),可是有了点基础学Python语言也没那么难,后来学了django,爬虫,数据分析等,期间也做了一个小的可视化项目,获得了省三,也算是练练手吧。
随着上学期的结束,老师开始叫我们自己组队,为下学期软件杯做准备,我当时也不知道自己学的怎么样,也不知道找谁,后来一个大四学长找到我,我叫他鹏哥,他是那个我第一次去实验室带我学Python的人,之后给学习资料后…人不见了,我还以为他工作去了,后来我,鹏哥和一个他找的队友三个人组队了。从这里还是,才是我软件杯之旅的起点。
迷茫和奋斗
刚开始天真的我们报了百度的人形追踪比赛,因为之前鹏哥学习过yolo算法等,并且有些现成的模型可以用(这里说一下,刚开始我对于人工智能完全是小白,模型什么的都是不知道的),然后我就开始学习,好准备接下来的项目,我当时就很虎,直接跳过机器学习基础,两天时间去百度课堂过了一遍YOLO
花了一个多星期学深度学习,没基础学起来真的艰难,听得糊里糊涂,然后找文档各种研究卷积层,池化等,渐渐的有了眉目,也学了很多东西,就开始研究百度里给的那些代码,比如手写数字识别,一个个代码研究,慢慢弄懂,最后全部都看懂了,当时的时候真的肝,一天都坐在电脑前。可是…,问题来了,看完百度的深度学习后,还是对这个人形追踪比赛没有一点头绪,无法下手。你们问我鹏哥呢?他不是会么?其实他转行学java了,Python只能说以前用过,也得从新开始学。
没办法,深度学习看完没头绪说明基础不够,得要找类似做这种人形追踪的视频学习一下,然后我又开始肝了,去b站上找了黑马教程学习,看了整整一百集的深度学习的视频,代码一步步跟着敲,渐渐思路一步步理清,从开始的小白到懂得其原理,不过…,学完之后发现还是很难将这个人形追踪做好。
后来…,你以为还有反转?没啦,后来就改题目了,实在是肝不动了,鹏哥说他一整天被迫摸鱼,无从下手。于是我们及时止损换了题目,叫新闻文本分类,好了,新的目标又开始了,又得开始肝了。这回学自然语言处理NLP,不过有了深度学习的基础,还是很好学的,还是去黑马教程里面学,不就是112个视频么,到医院打几瓶吊针就学会了,之后就是学了lstm,fsttext,seq2seq等文本处理的算法,刚开始lstm处理官方文本准确率79%,用了fasttext直接飙到94%不过那是用了测试集测试的而已,验证集就不咋地了,后来学完这些东西后,就开始自己调模型,说是调模型就是这里凑一点,那里凑一点,训练完后效果还没fasttext好,后来尝试了textcnn,只能说我唯独中意fasttext。这里学习时间就不说了,一直到比赛结束,我都在陶腾这个模型,就是效果不咋地,我人都傻了,然后训练时间又久,很花时间,我的电脑兄弟都没有好好休息过,我终于知道为什么把训练模型的都叫炼丹师这一梗的由来了。
最后为了能更好的打好基础,还是乖乖的去学了机器学习,掌握决策树,线性回归等算法,能够熟练的运用pandas和numpy进行数据处理
金蝉的初显
有人会问了,一般比赛不是有队名的么?小智你们队名是什么?其实刚开始我们已经想好队名,都报名上去了了,为什么不说呢?请由我慢慢道来。
因为我们的前端迟迟不来学校,没有和我们一起做,毕竟比赛嘛,得要团队合作,不然很难完成需求,所以我和鹏哥"跳槽"了,换了个人,这回我当队长(激动中略带点紧张)。说起这个人,他是我的老乡(都是海南的靓仔),我叫他能能。
他在实验室也组队了,也是弄得新闻文本分类题目,可是他们队伍进度很慢,也很懒散,经常有事不能一起干活,然后就我们就上演了一波金蝉脱壳,三人合在一起组成新的队伍。大家看到这里明白我题目金蝉的由来了吧!你想的没错,我们的队名就叫金蝉。
金蝉初显,条件给好。我们就要造势,蓄力,开始准备,等待反击,破壳而出。
苦战和内卷
有人会问,为什么苦战?内卷又是啥玩意?别急,在次听我慢慢解释。
原本软件杯一般情况下都是在七月底前就要结束了,可是今年不一样,突然通知七月八号交,好吧,没关系,我七月三号放假,我肝到七月六号才回家不过分吧?回到轨道上来,鹏哥和能能两个人真给力,一个新闻网站架构被他们一步步做出来了,点赞收藏推荐功能不缺。而我,为了让模型效果更好,且分析出题方的想法,自己去写了爬虫代码,爬取各大新闻文章,让我们看看受害者名单:
(1)人民网: 教育,游戏
(2) 中国教育网:教育
(3) 3dm游戏,游民星空:游戏
(4) 和讯:汽车,房产
(5) 新浪:科技,军事,财经,体育,娱乐
(6) 中华网:游戏
以上就是被我 “玷污” 过的网站.还有一些被我 “调戏” 过,可是不好下手,就放过它了。
不得不说数据集的收集太难了,编写了很多爬虫代码,通过lxml,re,selenium等爬虫技术,期间还遇到反爬,设置代理ip,sleep,通过re正则获取json格式的数据
以上是我爬取和讯新闻网时候的截图,这是我印象最深刻的,获取他的json数据后,无法解析,因为他的json格式不对,然后我通过正则,尝试了好多次,才将它修改成json数据,而且由于访问频率过快过多ip还被拦截,我用上了代理,保险起见我还加了sleep。
值的一提的是百度paddle真香,免费算力可以用,之前去他那里学习深度学习没白费,发现了个好东西,给我的电脑兄减少点压力,不然什么东西都在电脑上跑,cpu得炸掉。
特征工程决定模型上限,模型只是让他逼近这个上限而已,所以数据分析少不了,我通过pandas,numpy等数据分析工具,将爬取到的数据结合在一起,然后通过分析比较将数据划分成等分,每一个类有三万数据可以训练,有2000条数据可以测试,在对数据进行去重,去除标点符号等操作,刚开始我只对数据进行简单的清洗,后来发现可以通过jieba来分词,还可以使用停用词来对数据进行操作
为了模型效果更好,我将英文字母和数字通过sub给去除了,可是效果没想象中的好,我们在通过比较分词好还是单个词好,对模型进行训练比较。
这还不够,要不断的进行炼丹训练,寻找最优的结果,尝试用不同的数据对模型进行测试,这期间真是苦的不行,数据量不够还得各种爬,有些网站能爬的也就几百条,爬完还得找别的,数据也不能太老,最好是这一年的。刚开始写爬虫分析还挺开心的,最后一边写一边说某某新闻网站的反爬真垃圾。
好了,说到这里苦已经说完了,不对,这苦是说不完的,只能说,最苦的也就这些,其他的就不一一解释了
那么我们来讲讲关于如何内卷?上面不是说延迟到了七月八号么,到了七月底的时候又改了,改成七月十五号才交,完蛋了!本来我这个赛题报名的人又多,这一延长,大家又开始优化了,本来我们做的差不多了,有些瑕疵和功能也就那样吧,现在不行了,我们亲爱的卢老师嘱咐我们要抓紧,不能松懈,一松懈就被人家落下了,所以内卷开始了,不断的跟着假想敌斗争,鹏哥就跟产品经理一样,一直给我能哥加功能,加需求,一点时间都不能放过。这里说一件有趣的事情,由于我们已经买好机票了,这突然延迟打乱了我们阵脚,因为做项目是要一起的,不然无法很好的交流沟通,回家更加不方便了,老师也建议我们不要回家,退票钱他来出,不得不说老师真的很尽责。
不过我们最后还是回去了,其实回去也可以做,我把项目部署到服务器,让前端调用,就是有点不方便交流,我通过pycharm软件实时更新服务器上的代码,因为我的模型要不断做调整,而且我是通过django调用模型返回给前端的,比如单条识别,批量识别,文档的导入导出,现在才发现pycharm的香。
最后就是视频整理,文档整理,没日没夜花了三天,每天两点才睡,一直到比赛结束的那天,交完之后,才终于安下心来,这里得夸一下能能,文档一半以上都是他弄得,我就写写算法而已。
至此,大三生活圆满结束
感谢和成长
大三,如做梦般一下就过去了,现在回想起来,在项目上经历的一切焦虑,忧愁,困难都是那么的珍惜难得,它让我有了飞快的成长,促进了我的进步,如果没有这次比赛,我也不能如此拼命去学,去探索,可能在学深度学习卷积层就放弃了。
我在这里认识了可爱的卢老师,说可爱这词其实也不太行,不过我不知道用什么词来表述,因为他亦师亦友,说话也很逗,我们有过错,他从不会严厉的责罚我们,而是跟我们讲道理,就如那种谈人生,聊理想的感觉,在比赛的最后几天,虽然他很忙,当会抽空叮嘱着我们,帮我们这里文档,一直到提交的那一刻,而且他给了我很多帮助,使我对自己的方向不迷茫,有动力学下去,很感谢老师的教导。
再有就是我的队员了,鹏哥现在比赛完后就找工作了,工作还挺可以的,不得不说鹏哥组织能力真的可以,有时候虽然你知道他在吹牛皮,可是无形中却给了你动力,如果没有他,我的队伍恐怕就和其他队一样是一盘散沙,无法做的很好,通过这次比赛和我的观察,我才知道一个领袖是多么重要。至于能能,都是老乡,就不说什么了
作品的展示
说了那么多,看看我们金蝉队辛苦的成果吧,各位大佬勿喷,真的尽力了,其实我们自我感觉还行,哈哈
这是用户界面
这是管理员界面
这是手机端
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。
以上是关于编程之路,须铸金蝉之势的主要内容,如果未能解决你的问题,请参考以下文章