菜鸡程序员的一天都在折腾些什么?

在影视作品中,程序员多以技术大神的形象出现。

他们经常在电脑上随意插一个U盘,对着黑色的界面飞速敲下绿色的代码,10秒钟后合上电脑,冲主角邪魅一笑表示“我已经黑进五角大楼了。”

邪魅一笑.gif

 别急着崇拜。当我入了这一行后,发现根本不是这么回事!

事实上,如果我键盘敲得噼里啪啦响,那绝对是在微信上跟妹子聊天。如果敲一会就停半天,抱着一杯茶,表情拧巴,那才是在编程。

对我们菜鸡来说,编程debug的时间真的比coding的时间长多了

但最近我发现,在一群程序员里,集体相拥debug反而成了一件快乐的事。

debug的意义绝不仅仅是让一段代码跑通,它更是一种技巧的攀比,一种精进的机会,甚至是一种感情的升华!今天,我就来复盘我的一个下午,让大家感受一下我每天的时间都在折腾些啥。


毕导篇

众所周知,我们调包侠有一种常用的科研思路:在前人论文代码的基础上一通魔改,性能提升了2个点,nice可以发文章了

调包侠的学术循环

最近我看到一篇不错的文献,而且作者很贴心地公布了代码。我最喜欢的就是这种有开源精神的作者了!我当场下载他的代码一个run!深度学习就像呼吸一样自然!

咦,怎么第一行就Error啊……仔细一看,的确是我的问题。

众所周知,深度学习有两个主要的库,一个是Google家的Tensorflow,一个是Facebook家的Pytorch(不会有caffe党和theano党喷我吧不会吧不会吧)。我用的是更加轻松易学的Pytorch,但这篇文献的代码是用Tensorflow写的,在我的环境里无法运行。

这解决方法很简单啊:只要给我的服务器上安装Tensorflow就行了(你也可以选择import torch as tf)。我用华丽的手法打下一行pip install tensorflow,然后当场重启jupyter内核一个run!深度学习就像呼吸一样自然!

结果是这样的……

怎么还是Error?当然,我对此早有预料。写代码就像人生,有些人出生就会coding,有些人生来就是warning。—— 毕·猛子

这次系统提示说我没有安装tensorflow.contrib这个包。这我就傻了,不应该是装tensorflow的时候自动一起装的么……

我当场一通咕狗,咕到Stackoverflow上有人问过一模一样的问题。Stackoverflow是一个技术问答网站。编程就这点好,不管遇到多蠢的问题,在Stackoverflow上一定有人已经问过并且有大神已经解决了。

大神的回答

破案了,我刚装的Tensorflow是最新版2.7,但这篇文献的代码是用Tensorflow1.0系列写的。

类似于你打算烤串,买了个无敌全自动核聚变烧烤机,但你手上的鸡翅只支持用柴火烤。那你只能卖了核聚变烧烤机,重新买柴火。

所以现在解决方案就很简单了啊:卸载Tensorflow2.7,重新安装1.0系列版本就行了,比如1.15。

这我最擅长了,深度学习写代码我虽然菜,但它的安装与卸载对我就像呼吸一样自然!我当场给图灵老祖烧了点纸求保佑,然后一个pip uninstall tensorflow再一手pip install tensorflow==1.15!

然后当然是Error啊……这次的Error说的是,找不到Tensorflow1.15这个版本……怎么会这样的呢

我咕狗了一通又破案了:Tensorflow1.0版本在python3.6以上版本无法运行。而我,作为一个喜欢更新一切的先锋青年,用的是python3.8。

类似于你现在买来了柴火打算开始烤鸡翅,结果发现这个柴火不支持打火机引燃,只能用钻木取火。

这时候不可能为了这破事卸载python3.8去装3.6。其实解决方案也很简单:只要用Anaconda创建一个python3.6虚拟环境,在这个虚拟环境里装上Tensorflow1.0就行。类似于你在旁边新建了一个钻木取火机,然后烤翅。

我给Guido van Rossum的照片磕了三个响头,然后反手一个

conda create -n tf1 python=3.6conda env listconda activate tf1pip install tensorflow==1.15

深度学习创建虚拟环境就像呼吸一样自然!

但创建了之后我也不知道为什么,Tensorflow还是安装失败。

时光飞逝,不知不觉半小时过去了,我的呼吸早已不像当初那般自然。我忍不住举手了:“冬冬,请过来一下!”


冬冬篇

冬冬是我组的博五大师兄,比我小三岁,码力深不可测。他日常1个人就可以负责一整个化工厂的横向项目,他训练神经网络时会口算验证GPU的反向传播对不对,他失眠的时候会用Mapreduce并行化数羊!

通常,你可以从一名程序员桌子上的书来判断他的水平。这是冬冬的桌子,虽然大部分书好像没拆封,但还是一看就知道他很厉害。

他听了我的需求,表示这不是像呼吸一样自然!然后反手就是一个

conda create -n tf1 python=3.6conda env listconda activate tf1pip install tensorflow==1.15

然后Tensorflow1.15就安装成功了!

我说你这几行代码跟我刚才有任何区别吗???

冬冬说,手不一样

可恶哇,给他装到了!

但总之折腾这么久,终于搞定了,我的脸上露出了胜利的微笑!调包侠,变身!

怎么还Error!系统提示我没有安装ipykernel,没有这玩意Jupyter就无法运行代码。

此时我已经心存喜乐,见招拆招,只要安装上ipykernel应该就临门一脚,彻底搞定了!我当场两行

conda install -n tf1 ipykernel --update-deps --force-reinstall
pip install ipykernel

ipykernel显示成功装上了,但系统依然继续提示需要安装ipykernel……

我将正在表演真男人从不回头.jpg的冬冬抓了回来。他说这ipykernel不是有手就能装?然后冬冬用刚才的金手指打下了和我一样的代码

conda install -n tf1 ipykernel --update-deps --force-reinstallpip install ipykernel

这回系统一视同仁,没有鸟他。冬冬表示,不知道,搞不定。可能他手刚刚抠了鼻屎吧。

正当我陷入迷茫之时,一旁的向帅突然举手了!他淡淡地说了一句:“我想试试。”


向帅篇

向帅是我们组研二的师弟,比我小7岁,很帅,单身,码力震古烁今,只要单手就可以写出一个化工厂的故障诊断软件。导师扔给他n个任务,他可以在O(1/n)的时间复杂度内完成!

而且你不管什么时候打开Steam,他都在线,他《刺客信条》全系列白金!虽然这两点好像和他编程厉害没啥关系,但一个连刺客信条都能白金的人,显然不是什么正常人。

我邀请向帅坐在我的座位上,我跪在旁边安静地看着。向帅打开了一个我看不太明白的界面,双手在键盘上飞快地敲linux命令,不过仔细看的话好像大部分时候是敲错了在往回删。

大概20分钟后,他长叹了一口气。

我凑上去看了一眼,挺厉害的,不仅刚才装ipykernel的问题没解决,现在连刚建的虚拟环境都进不去了。

向帅的声音有些颤抖,表示Everything is under control。他又埋头敲下更多的命令,cd ls rm满天乱飞。在我们这个暖气很差的办公室里,他的额头上竟然流下了汗水。

我说,我能不解决这个问题了吗?我不想调这个包了,你给我把一切恢复到你来之前的样子就行。

他说,有些事情是回不去的,而且码农精神就是要不服输,我们应当征服linux而不是被linux征服,不是吗?

听到这里,一直沉默的阳仔突然说话了:“linux?谁在说linux?”


阳仔篇

阳仔今年博四,比我小4岁,码力炉火纯青,基本是Linus先生中国分Li。他的人生0 error 0 warning,我丝毫不怀疑他真的可以10分钟黑进五角大楼,他就是服务器的化身!

这是他自己说的

阳仔看都没看,就拿起一个U盘插入我的主机,让我安装这个ms-toolsai.jupyter-2021.8.2041215044。

我说你刚不是在睡觉么,你知道发生了什么事吗?他说你这个问题我太懂了,睡着觉都能给你解决。

这一切熟练得仿佛他就是为了解决这个问题而生的。

此时我桌边的人已经越来越多,大家甚至组成了一个人大校徽

这个bug已经超越了bug本身,变成了一个武侠擂台,小小的ipykernel成了一屋人码力的试金石。看来阳仔才是最终的擂主啊。

过了一会,阳仔问我,那个有点不好意思,你刚才是什么问题来着?我说虚拟环境装不上ipykernel。阳仔说哦原来不是我想的那个问题啊,那我撤了。

已经4点了,而我的电脑还是一团浆糊。旁边的黄宝已经在下班吃饭倒计时1小时报时了。

大家围着我的工位一片欢声笑语,吃着零食,聊起了F1、网球和冰冰最近水的视频,相约哪天一定要去温州现场看一次温网。仿佛没人记得,他们围着我工位的初心是为了debug的。

这时向帅若有所思地说:“我想再试试。他梅开二度,又坐在了我的工位上。

我已经不报什么希望了,开始在边上带领大家做起了拉伸运动。突然,向帅猛敲了一下我2000块的键盘,怒吼一声“搞定了!”

我定睛一看,Jupyter的代码单元格左下角,出现了一个小小的绿勾。那是一个神圣的绿勾,一个胜利的绿勾!我的键盘上还残留着向帅手指的清香!

此时向帅已经以真男人从不回头.jpg的姿势回到了自己的工位,整个办公室爆发出了雷鸣般的掌声。

向帅说,不知道为啥今天conda默认安装的ipykernel不是最新版的。所以在conda install ipykernel后面加一行conda upgrade ipykernel就好了……这bug真的很诡异,很难发现……

5点整,黄宝进行了下班吃饭准点报时。折腾了一下午,大家都筋疲力尽(主要是聊天和笑累了)。我们开心地复盘了今天的全过程,可惜无人能分享,只好讲给呋喃听。

呋喃说ipykernel在12月1号从6.5.1版Release了6.6.0版,你们的bug可能来自于这。

最后给大家两点经验:

1、代码跑不出来,先检查各种版本问题!

2、人啊,还是要有好兄弟!

本文来自“毕导“

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/56875.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

半路出家的菜鸡程序员,北漂五年,给刚入行朋友的一些忠告,发自肺腑

大家好,我是陈哈哈。认识我的朋友们知道,我是非科班出身,半路出家,大学也很差!这种背景来北漂,你都不知道你会经历什么🙃🙃。   如今虽没有风生水起,但在技术这块儿也算…

无监督学习 — — 聚类方法分类

无监督学习 — — 聚类方法分类 0. 聚类1. K均值聚类(1). K均值聚类存在问题:(2). K均值聚类实现代码: 2. 凝聚聚类(1). 凝聚聚类实现代码: 3. DBSCAN 聚类(1…

菜鸡教程(1):简易游戏每周推荐小程序制作

写在前面: 1. 阅读本文最好具备一定htmlcssjs基础,并已成功注册微信小程序,成功下载了开发工具   2.菜鸡菜笔,如有不正,还请大佬们不吝惜赐教 接下来开始小程序的制作 1.首先需下载小程序所需图片 2.hello world(万物的起源&…

HFSS学习日记

(纯纯菜鸡,不懂理论和专业术语,单纯记录遇到的问题,欢迎大家批评指正) 1.仿真天线模型,工作频率与预期有偏差,可能的原因有: 空气盒子的长度设置过小。当对天线在一定的频率范围内进…

菜鸡前端2022年总结

我正在参加2022年,博客之星评比,请投我一票。 点此链接,投我一票 再过两年回家种地啦,年总结,写一年,少一年。 简单回顾一下今年,有哪些遗憾,有哪些成果。 工作 今年工作上的内…

三种常见的移动底盘运动学模型分析

目录 前言 一、四轮差速运动模型 二、麦克纳姆轮运动学模型 三、两轮差速运动学模型 总结 前言 现在大三暑假,开学就要着手准备毕设了,接手了实验室师兄的激光SLAM小车项目,先从下位机学起,争取把整个项目接受下来&#xff…

菜鸡学Unity 之 坑神之路 (记录坑点,不断更新中~)

LZ-Says:万事儿开头难,枪在手,不得不发~ 前言 最近在了解Unity这块的内容,不得不说,新的领域,陌生的代码世界,初入茅庐,太多的陌生与不适,唯有咬紧牙关,坚持…

如何从零学习游戏开发

如何做游戏?从哪里开始学习?找工作需要会哪些东西?我已经工作只想业余时间做游戏该学什么?不知道你是不是和当初的我一样有很多困惑。根据我自身的经验带你去了解如何开始学习游戏开发。 我目前已经 工作2年了,大学时期…

菜鸡学Unity 之 Unity中的坐标系(世界坐标系和局部坐标系)

LZ-Says:哎呦喂,时间,时间,慢点过~ 前言 Today,一起来了解下在Unity中的坐标系。 首先,我们要清楚的是,在Unity中,坐标系分为俩种: 世界坐标系;局部坐标系…

菜鸡学Unity 之 汇总撸码过程中遇到的低级错误(一)

LZ-Says:不畏艰难,一起干!!! 前言 对于任何一门新接触的语言,我们总会因为不熟悉从而导致犯一些基本的低级错误,对于错误,我们要秉承拥抱的态度,遇到的越多,…

菜鸡学Unity 之 Unity中对游戏物体的常用操作旋转移动放缩

LZ-Says:愿时光依旧,美好前方~ 前言 本小节,我们一起来看下Unity中对游戏物体的常用操作旋转移动放缩这些基本骚操作吧~ 基本骚操作 全程都可以简单操纵鼠标完成,当然,直接有效是直接设置数值喽~ 鼠标控制完成基本…

菜鸡学Unity 之 Unity中的基本模型和场景操作

LZ-Say:努力,只是为了有个更好的未来~ 前言 如果我们要做一个3D游戏,那么就会需要一些模型,而模型的设计工具有玛雅,3D MAX,通常由美工和专业人员为我们设计好模型,然后导入Unity&#xff0c…

菜鸡学Unity 之 了解 Unity 中的五个视图窗口

LZ-Says:书山有路勤为径,学海无涯苦作舟~ 简述 本文作为Unity学习的第四篇博文,诣在通过简单了解本质,说白了,让我们一起一步步的熟悉Unity的使用,其次愉快的开启我们的撸码之路。 而今天,我们…

潘云鹤院士获吴文俊人工智能最高成就奖!第十一届“吴文俊人工智能科学技术奖”揭晓...

来源:中国人工智能学会 文章整理:自央视新闻、北京日报 链接: https://content-static.cctvnews.cctv.com/snow-book/video.html?item_id7729020039002188616&t1657962648440&toc_style_idvideo_default&share_towechat&tra…

程序员用300行代码,让外婆实现语音搜索购物

“阿强,手写板怎么又不见了?” 最近,程序员阿强的那位勇于尝试新事物的外婆,又迷上了网购。在不太费劲儿地把购物软件摸得门儿清之后,没想到,本以为顺畅的网购之路,卡在了搜索物品上。 在手写…

Android App开发语音处理之系统自带的语音引擎、文字转语音、语音识别的讲解及实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留下QQ~~~ 一、系统自带的语音引擎 语音播报的本质是将书面文字转换成自然语言的音频流,这个转换操作被称作语音合成,又称TTS(从文本到语音)在转换过程中,为了避免机械合成的呆板和停顿…

自动聊天挂机项目

三木智能聊天云控脚本

拼多多顶级佣金助手-微信群自动发单

注意:微信版本必须使用软件根目录下的安装包安装 1.进入多多进宝网站-注册多多进宝-并创建推广位... 2.打开软件点击-多多授权-授权页面-授权成功会跳转百度,复制百度地址栏code后面的code码... 3.粘贴到软件CODE输入框-点击-确定授权... 4.推广位ID框中出现你自…

30行python代码实现微信自动陪女盆友聊天(itchat-uos + 无限制调用)

先放代码: 再放个文字的(方便复制): import itchat import requestsdef get_reply(keyword):try:url f"https://open.drea.cc/bbsapi/chat/get?keyWord{keyword}&userNametype%3Dbbs"res requests.get(url)data…

[做初中数学题做到打起来了]跟同事为了他小孩的数学题杠上了

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,…