菜鸡程序员的一天都在折腾些什么?
在影视作品中,程序员多以技术大神的形象出现。
他们经常在电脑上随意插一个U盘,对着黑色的界面飞速敲下绿色的代码,10秒钟后合上电脑,冲主角邪魅一笑表示我已经黑进五角大楼了。
邪魅一笑。gif
别急着崇拜。当我入了这一行后,发现根本不是这么回事!
事实上,如果我键盘敲得噼里啪啦响,那绝对是在微信上跟妹子聊天。如果敲一会就停半天,抱着一杯茶,表情拧巴,那才是在编程。
对我们菜鸡来说,编程debug的时间真的比coding的时间长多了〔泪奔〕
但最近我发现,在一群程序员里,集体相拥debug反而成了一件快乐的事。
debug的意义绝不仅仅是让一段代码跑通,它更是一种技巧的攀比,一种精进的机会,甚至是一种感情的升华!今天,我就来复盘我的一个下午,让大家感受一下我每天的时间都在折腾些啥。
毕导篇
众所周知,我们调包侠有一种常用的科研思路:在前人论文代码的基础上一通魔改,性能提升了2个点,nice可以发文章了〔狗头〕
调包侠的学术循环
最近我看到一篇不错的文献,而且作者很贴心地公布了代码。我最喜欢的就是这种有开源精神的作者了!我当场下载他的代码一个run!深度学习就像呼吸一样自然!
咦,怎么第一行就Error啊仔细一看,的确是我的问题。
众所周知,深度学习有两个主要的库,一个是Google家的Tensorflow,一个是Facebook家的Pytorch(不会有caffe党和theano党喷我吧不会吧不会吧〔狗头〕)。我用的是更加轻松易学的Pytorch,但这篇文献的代码是用Tensorflow写的,在我的环境里无法运行。
这解决方法很简单啊:只要给我的服务器上安装Tensorflow就行了(你也可以选择importtorchastf)。我用华丽的手法打下一行pipinstalltensorflow,然后当场重启jupyter内核一个run!深度学习就像呼吸一样自然!
结果是这样的
怎么还是Error?当然,我对此早有预料。写代码就像人生,有些人出生就会coding,有些人生来就是warning。毕猛子
这次系统提示说我没有安装tensorflow。contrib这个包。这我就傻了,不应该是装tensorflow的时候自动一起装的么
我当场一通咕狗,咕到Stackoverflow上有人问过一模一样的问题。Stackoverflow是一个技术问答网站。编程就这点好,不管遇到多蠢的问题,在Stackoverflow上一定有人已经问过并且有大神已经解决了。
大神的回答
破案了,我刚装的Tensorflow是最新版2。7,但这篇文献的代码是用Tensorflow1。0系列写的。
类似于你打算烤串,买了个无敌全自动核聚变烧烤机,但你手上的鸡翅只支持用柴火烤。那你只能卖了核聚变烧烤机,重新买柴火。
所以现在解决方案就很简单了啊:卸载Tensorflow2。7,重新安装1。0系列版本就行了,比如1。15。
这我最擅长了,深度学习写代码我虽然菜,但它的安装与卸载对我就像呼吸一样自然!我当场给图灵老祖烧了点纸求保佑,然后一个pipuninstalltensorflow再一手pipinstalltensorflow1。15!
然后当然是Error啊这次的Error说的是,找不到Tensorflow1。15这个版本怎么会这样的呢〔惊呆〕
我咕狗了一通又破案了:Tensorflow1。0版本在python3。6以上版本无法运行。而我,作为一个喜欢更新一切的先锋青年,用的是python3。8。
类似于你现在买来了柴火打算开始烤鸡翅,结果发现这个柴火不支持打火机引燃,只能用钻木取火。
这时候不可能为了这破事卸载python3。8去装3。6。其实解决方案也很简单:只要用Anaconda创建一个python3。6虚拟环境,在这个虚拟环境里装上Tensorflow1。0就行。类似于你在旁边新建了一个钻木取火机,然后烤翅。
我给GuidovanRossum的照片磕了三个响头,然后反手一个condacreatentf1python3。6condaenvlistcondaactivatetf1pipinstalltensorflow1。15
深度学习创建虚拟环境就像呼吸一样自然!
但创建了之后我也不知道为什么,Tensorflow还是安装失败。
时光飞逝,不知不觉半小时过去了,我的呼吸早已不像当初那般自然。我忍不住举手了:冬冬,请过来一下!
冬冬篇
冬冬是我组的博五大师兄,比我小三岁,码力深不可测。他日常1个人就可以负责一整个化工厂的横向项目,他训练神经网络时会口算验证GPU的反向传播对不对,他失眠的时候会用Mapreduce并行化数羊!
通常,你可以从一名程序员桌子上的书来判断他的水平。这是冬冬的桌子,虽然大部分书好像没拆封,但还是一看就知道他很厉害。
他听了我的需求,表示这不是像呼吸一样自然!然后反手就是一个condacreatentf1python3。6condaenvlistcondaactivatetf1pipinstalltensorflow1。15
然后Tensorflow1。15就安装成功了!
我说你这几行代码跟我刚才有任何区别吗???
冬冬说,手不一样〔得意〕
可恶哇,给他装到了!
但总之折腾这么久,终于搞定了,我的脸上露出了胜利的微笑!调包侠,变身!
怎么还Error!系统提示我没有安装ipykernel,没有这玩意Jupyter就无法运行代码。
此时我已经心存喜乐,见招拆招,只要安装上ipykernel应该就临门一脚,彻底搞定了!我当场两行condainstallntf1ipykernelupdatedepsforcereinstallpipinstallipykernel
ipykernel显示成功装上了,但系统依然继续提示需要安装ipykernel
我将正在表演真男人从不回头。jpg的冬冬抓了回来。他说这ipykernel不是有手就能装?然后冬冬用刚才的金手指打下了和我一样的代码condainstallntf1ipykernelupdatedepsforcereinstallpipinstallipykernel
这回系统一视同仁,没有鸟他。冬冬表示,不知道,搞不定。可能他手刚刚抠了鼻屎吧。
正当我陷入迷茫之时,一旁的向帅突然举手了!他淡淡地说了一句:我想试试。
向帅篇
向帅是我们组研二的师弟,比我小7岁,很帅,单身,码力震古烁今,只要单手就可以写出一个化工厂的故障诊断软件。导师扔给他n个任务,他可以在O(1n)的时间复杂度内完成!
而且你不管什么时候打开Steam,他都在线,他《刺客信条》全系列白金!虽然这两点好像和他编程厉害没啥关系,但一个连刺客信条都能白金的人,显然不是什么正常人。
我邀请向帅坐在我的座位上,我跪在旁边安静地看着。向帅打开了一个我看不太明白的界面,双手在键盘上飞快地敲linux命令,不过仔细看的话好像大部分时候是敲错了在往回删。
大概20分钟后,他长叹了一口气。
我凑上去看了一眼,挺厉害的,不仅刚才装ipykernel的问题没解决,现在连刚建的虚拟环境都进不去了。
向帅的声音有些颤抖,表示Everythingisundercontrol。他又埋头敲下更多的命令,cdlsrm满天乱飞。在我们这个暖气很差的办公室里,他的额头上竟然流下了汗水。
我说,我能不解决这个问题了吗?我不想调这个包了,你给我把一切恢复到你来之前的样子就行。
他说,有些事情是回不去的,而且码农精神就是要不服输,我们应当征服linux而不是被linux征服,不是吗?
听到这里,一直沉默的阳仔突然说话了:linux?谁在说linux?
阳仔篇
其实大家在上文中已经见过阳仔了
阳仔今年博四,比我小4岁,码力炉火纯青,基本是Linus先生中国分Li。他的人生0error0warning,我丝毫不怀疑他真的可以10分钟黑进五角大楼,他就是服务器的化身!
这是他自己说的
阳仔看都没看,就拿起一个U盘插入我的主机,让我安装这个mstoolsai。jupyter2021。8。2041215044。
我说你刚不是在睡觉么,你知道发生了什么事吗?他说你这个问题我太懂了,睡着觉都能给你解决。
这一切熟练得仿佛他就是为了解决这个问题而生的。
此时我桌边的人已经越来越多,大家甚至组成了一个人大校徽。
这个bug已经超越了bug本身,变成了一个武侠擂台,小小的ipykernel成了一屋人码力的试金石。看来阳仔才是最终的擂主啊。
过了一会,阳仔问我,那个有点不好意思,你刚才是什么问题来着?我说虚拟环境装不上ipykernel。阳仔说哦原来不是我想的那个问题啊,那我撤了。
已经4点了,而我的电脑还是一团浆糊。旁边的黄宝已经在下班吃饭倒计时1小时报时了。
大家围着我的工位一片欢声笑语,吃着零食,聊起了F1、网球和冰冰最近水的视频,相约哪天一定要去温州现场看一次温网。仿佛没人记得,他们围着我工位的初心是为了debug的。
这时向帅若有所思地说:我想再试试。他梅开二度,又坐在了我的工位上。
我已经不报什么希望了,开始在边上带领大家做起了拉伸运动。突然,向帅猛敲了一下我2000块的键盘,怒吼一声搞定了!
我定睛一看,Jupyter的代码单元格左下角,出现了一个小小的绿勾。那是一个神圣的绿勾,一个胜利的绿勾!我的键盘上还残留着向帅手指的清香!
此时向帅已经以真男人从不回头。jpg的姿势回到了自己的工位,整个办公室爆发出了雷鸣般的掌声。
向帅说,不知道为啥今天conda默认安装的ipykernel不是最新版的。所以在condainstallipykernel后面加一行condaupgradeipykernel就好了这bug真的很诡异,很难发现
5点整,黄宝进行了下班吃饭准点报时。折腾了一下午,大家都筋疲力尽(主要是聊天和笑累了)。我们开心地复盘了今天的全过程,可惜无人能分享,只好讲给呋喃听。
呋喃说ipykernel在12月1号从6。5。1版Release了6。6。0版,你们的bug可能来自于这。
最后给大家两点经验:
1、代码跑不出来,先检查各种版本问题!
2、人啊,还是要有好兄弟!
参考文献
1、Zheng,Shaodong,andJinsongZhao。ASelfAdaptiveTemporalSpatialSelfTrainingAlgorithmforSemiSupervisedFaultDiagnosisofIndustrialProcesses。IEEETransactionsonIndustrialInformatics(2021)。
2、Wu,Deyang,andJinsongZhao。Processtopologyconvolutionalnetworkmodelforchemicalprocessfaultdiagnosis。ProcessSafetyandEnvironmentalProtection150(2021):93109。
3、Xiang,Shuaiyu,YimingBai,andJinsongZhao。MediumtermPredictionofKeyChemicalProcessParameterTrendwithSmallData。ChemicalEngineeringScience(2021):117361。
科维曲粉底液脱妆吗科维曲粉底液适合什么肤质科维曲粉底液是香港的一个品牌,这个品牌听过的人应该不算很多,它有几个色号可以选,使用效果怎么样呢,下面一起来看看吧。科维曲粉底液脱妆吗科维曲粉底液遮暇效果比较好,不会很干……
怎么化妆不吃妆化妆不脱妆正确步骤化妆吃妆是很多人都遇到过的一个问题,化妆吃妆和肤质有关,一般油皮的朋友化妆就会容易吃妆脱妆,好不容易化好的妆一下子就没了。怎么化妆不吃妆1。高效保湿基础换季皮肤干燥……
亚平宁最强11人浩瀚的天蓝,伟大的左后卫蓝衣军团意大利,拥有众多的球迷和超高的人气,其历史战绩也是相当彪悍,长期处于世界足坛顶级强队行列,曾赢得过4届世界杯冠军、2次亚军和1次季军,夺冠次数和德国并列第二,仅次于五星……
鼻子卡粉什么原因鼻子周围卡粉怎么回事卡粉是很多人在化妆时极容易出现的问题,鼻子卡粉最大的原因就是肌肤干燥,鼻子卡粉就检查一下自己有没有做好妆前护肤,鼻部的皮肤是不是很粗糙。鼻子卡粉什么原因鼻子卡粉的原因很多……
如何预防鼻子卡粉如何解决鼻子卡粉服帖自然的底妆是大家都想要的,选择一款适合自己的底妆产品很重要,妆前保湿和妆后定妆也必不可少,鼻子容易卡粉的话,鼻子处要少上点粉。如何预防鼻子卡粉我们在保养的时候多会忽视……
鼻子两边老卡粉怎么办起皮卡粉浮粉解决方法鼻子两边老卡粉是很多人都有的一个问题,鼻子两边老卡粉建议用定妆喷雾定妆,因为你越补,鼻翼的粉就会越厚,也越容易卡粉,化妆就卡鼻翼。鼻子两边老卡粉怎么办可以用刷子在鼻子卡粉……
姜广涛时隔四个月再登热搜,名下仅一家企业存续,网爆其被抓原因1月20日,配音演员姜广涛突然登上热搜,这是他被抓以后首度登顶,一时间引发外界热议。据媒体报道,姜广涛曾有三家企业关联在自己名下,但现在仅剩一家处于存续状态,为光合积木。……
这个枣花馍粉嫩嫩的真漂亮,只需一次发酵,暄软又省事最近新学了一个枣花馍造型,两三片面皮摞一起,再用筷子一压、餐叉一按,一朵面花就好啦!做法简单,造型美观,一学就会。我往其中一份面粉里添了仙人掌果粉,粉嫩嫩的,清新娇……
粉底液卡粉怎么办怎么解决粉底液卡粉粉底液是我们化妆过程中需要使用的一个化妆品,我们在化妆的时候有没有遇见粉底液卡粉的情况呢?下面跟着小编我们一起来了解一下粉底液卡粉怎么办吧。妆前使用面膜在我们化妆前之前如……
欧莱雅红帽子粉底液遮瑕好吗欧莱雅红帽子粉底液卡粉吗欧莱雅红帽子粉底液最近很受美妆博主的喜欢,很多美妆博主都有推荐,喜欢化妆的人生多少都会心动吧,下面来看看欧莱雅红帽子粉底液遮瑕好吗。欧莱雅红帽子粉底液遮瑕好吗欧莱雅红帽子……
宝宝的过敏性鼻炎有哪些表现?春季,气温转暖,万物复苏,又到了过敏性鼻炎高发的季节,尤其是小儿过敏性鼻炎,严重影响了孩子们的健康和生活。过敏性鼻炎有以下症状,记得不要跟感冒混在一起。经常打喷嚏,……
杜鹃具有东方的美,美之大气杜鹃是一个特别的存在,清晰锐利的面部骨骼,清冷疏离的气质。泰然自若的神情,宠若不惊,舒适淡然的感觉,犹如遗世独立。美是自带属性的,未必五官容貌惊艳众人,而是容颜、身型形成……