首页 > 系统相关 >【AI白身境】深度学习从弃用windows开始

【AI白身境】深度学习从弃用windows开始

时间:2022-10-12 15:41:30浏览次数:77  
标签:AI 从弃 Windows windows 初识 白身境 Linux


【AI白身境】深度学习从弃用windows开始

今天是新专栏《AI白身境》的第一篇,所谓白身,就是什么都不会,还没有进入角色。

给大家准备了10期左右的文章来完成这个身份的转变,今天是第一篇,关于开发环境的选择(另外,接受粉丝们的意见,暂时以三天一篇的频率更新)。

要想正式进入AI行业发展,离不开称手的软硬件兵器,其中操作系统就是“软”兵器,本文给大家的建议是彻底放弃Windows,只用Linux与Mac

作者 | 言有三,微信Longlongtogo

编辑 | 言有三

 

01 windows写代码不如linux

【AI白身境】深度学习从弃用windows开始_深度学习

很多人会说,Windows不适合写代码?各种各样类似于visual studio的IDE那么牛逼,还不适合写代码?

【AI白身境】深度学习从弃用windows开始_Windows_02

莫急,且听我说几个理由。

当今大部分程序员,开始一个任务时的流程是什么?我想应该是这样的!

【AI白身境】深度学习从弃用windows开始_开发环境_03

我们看看上面这些操作都要干什么。

1.1 github找代码

最常用的操作包括git clone,git push,git pull等,这些在命令行下操作是最简洁优雅的,如果你说每次从github上面下载代码采用的是download模式,如下:

【AI白身境】深度学习从弃用windows开始_深度学习_04

那么少年,下次我们说github的时候好好看看,这样做有多么外行。一句话,windows不合适。

1.2 配置所需环境

几乎没有一个开源项目是能够下下来直接就能用的,尤其是你的电脑还处于初段水平的时候,配置环境是新手们的大敌

 

【AI白身境】深度学习从弃用windows开始_Linux_05

windows中要装一个新的软件包真的好麻烦(要自己找软件,看版本,下载安装,配置环境变量),版本控制和更新更麻烦(就是把前面的操作重来一遍嘛),给python装各种依赖库好麻烦(想都不敢想),反正就是很麻烦,巨麻烦,超级麻烦。而Linux,通常就是一条命令。

1.3 开发,迭代

这个周期就长了,解决bug,编译运行等等。看起来,visual studio之类的IDE好像很方便,但是这一切都建立在你还不认识VIM之类编辑器的强大的前提下。

【AI白身境】深度学习从弃用windows开始_Linux_06

随随便便说几个功能,比如列编辑模式,比如复杂的字符替换。

【AI白身境】深度学习从弃用windows开始_VIM_07

写起代码来真的是会舒服很多,高效很多。

1.4 模型部署

开发的最后一步就是环境部署,代码经常需要跨平台迁移的,能想象一个依赖于Windows下面IDE的项目能够毫无隐患,顺利地迁移到嵌入式平台吗?

你很可能不自觉写了一些依赖于Windows窗体之类的代码(比如有人喜欢用C#,MFC),目录可能也是不上心胡乱配置的,更别说各种日志,到时候就等着重写代码吧。

 

02 windows没有Linux干净

Windows本就是一个桌面级的应用系统,不是开发环境。Windows是给普罗大众用户用的,不是给程序员用的。是开发好了软件给你用的,而不是开发软件的。

2.1 诱惑太多,没有仪式感

将这个放在第一条貌似有点喧宾夺主,但实际上我觉得是最重要的。

在Windows下面搞开发,写着写着就不知道干什么去了,反正不写代码也不会死。

【AI白身境】深度学习从弃用windows开始_Windows_08

在windows下面搞开发就没有仪式感好吗!居然还用鼠标,说出去逼格都降低了。

总之,Windows下开发效率很低,处于鄙视链底层。

2.2 多用户 

Linux实现了用户之间完全的隔离,在同一台机器上,每个人可以有自己独立的目录,如/home/zhangsan,/home/lisi,除非有root权限,否则一个用户是看不到别人目录的东西的。

除了公共的软件库和硬件资源,大家在同一台机器上既可以相互协作,又互不干扰,这是Windows办不到的。

它带来的好处很明显,有几个突出的;

(1) 可以各自配置独立的环境,你喜欢python2,我喜欢python3,互不侵犯,尊重个性嘛。

【AI白身境】深度学习从弃用windows开始_开发环境_09

这一点非常重要,而一些小团队仍然不重视这个问题。还可以通过配置不同的权限,让小白们权限低一点,老司机们权限高一点,避免出现小白手贱滥用apt-get之类的命令随意更改系统软件库,造成系统崩溃的情况。

(2) 合理利用资源,比如小实验室买了一块24G显存的卡,买不起第2块了,总不能放在Windows下面分时用吧。

【AI白身境】深度学习从弃用windows开始_Linux_10

2.3 高效率 

Linux没有复杂的桌面渲染,能更专注地将服务器的硬件优势表现出来,有各种各样的命令来进行检测。

对于从事计算密集型的深度学习算法工程师来说,GPU就是命,硬盘都是钱呐。8G显存,恨不能用到7.99G。

 

03 windows没有linux靠谱

这要从两方面来说。

第一是安全,linux系统是开源系统,人多力量大,bug往往都被及时发现了。平时很少听到Linux中毒的,Windows在早些年动不动就中毒了。

第二是稳定,Windows和Mac,死个机什么的就是毛毛雨,家常便饭习以为常。但是Linux突然死机是很罕见很罕见的,我见过最多的就是小白手贱把系统搞死了,类似于rm -rf /这种。

哪有人这么傻直接运行rm -rf /,当时是手指在高速运行敲代码,删除其他东西的时候,不小心带上了,然后就......

【AI白身境】深度学习从弃用windows开始_深度学习_11

以上理由,已经足够让你放弃Windows了,更多Linux的好处,用着用着,就会知道了。

 

总结

长痛不如短痛,如果有做开发者的觉悟了,就尽快换上Linux吧。

下期预告:下一期我们会讲Linux的常用基础,如果你有建议,欢迎留言,我们会及时采纳的。

转载文章请后台联系

侵权必究

【AI白身境】深度学习从弃用windows开始_VIM_12

AI白身境系列完整阅读:

第一期:​​【AI白身境】深度学习从弃用windows开始​

第二期:​​【AI白身境】Linux干活三板斧,shell、vim和git​

第三期:​​【AI白身境】学AI必备的python基础​

第四期:​​【AI白身境】深度学习必备图像基础​

第五期:​​【AI白身境】搞计算机视觉必备的OpenCV入门基础​

第六期:​​【AI白身境】只会用Python?g++,CMake和Makefile了解一下​

第七期:​​【AI白身境】学深度学习你不得不知的爬虫基础​

第八期: ​​【AI白身境】深度学习中的数据可视化​

第九期:​​【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分​

第十期:​​【AI白身境】一文览尽计算机视觉研究方向​

​第十一期:【AI白身境】AI+,都加在哪些应用领域了​

第十二期:​​【AI白身境】究竟谁是paper之王,全球前10的计算机科学家​

AI初识境系列完整阅读

第一期:​​【AI初识境】从3次人工智能潮起潮落说起​

第二期:​​【AI初识境】从头理解神经网络-内行与外行的分水岭​

第三期:​​【AI初识境】近20年深度学习在图像领域的重要进展节点​

第四期:​​【AI初识境】激活函数:从人工设计到自动搜索​

第五期:​​【AI初识境】什么是深度学习成功的开始?参数初始化​

第六期:​​【AI初识境】深度学习模型中的Normalization,你懂了多少?​

第七期:​​【AI初识境】为了围剿SGD大家这些年想过的那十几招​

第八期:​​【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?​

第九期:​​【AI初识境】如何增加深度学习模型的泛化能力​

第十期:​​【AI初识境】深度学习模型评估,从图像分类到生成模型​

第十一期:​​【AI初识境】深度学习中常用的损失函数有哪些?​

第十二期:​​【AI初识境】给深度学习新手开始项目时的10条建议​

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI

【AI白身境】深度学习从弃用windows开始_Windows_13

 

标签:AI,从弃,Windows,windows,初识,白身境,Linux
From: https://blog.51cto.com/u_14122493/5750905

相关文章

  • 【AI白身境】深度学习中的数据可视化
    今天是新专栏《AI白身境》的第八篇,所谓白身,就是什么都不会,还没有进入角色。上一节我们已经讲述了如何用爬虫爬取数据,那爬取完数据之后就应该是进行处理了,一个很常用的手段是......
  • 【AI白身境】一文览尽计算机视觉研究方向
    今天是新专栏《AI白身境》的第10篇,所谓白身,就是什么都不会,还没有进入角色。相信看了前面的几篇文章后很多朋友已经等不及快速入行了,今天就来介绍一下计算机视觉的各大研究方......
  • Docker, containerd, CRI-O and runc之间的区别?
    1、概述在容器生态系统中充斥着各种各样的术语,今天就来为你,一一解码! Docker开启了容器的时代,但不久之后,工具、标准和首字母缩略词似乎在这一领域爆发。那么,“docker”......
  • 【AI初识境】给深度学习新手做项目的10个建议
    这是专栏《AI初识境》的第12篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。在成为合格的深度学习算法工程师,尤其是工业界能够实战的调参选手之前,总会踏足......
  • MYSQL explain详解
    xplain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。虽然这篇文章我写的很长,但看起来真的不会困啊,真的都是干货啊!!!!......
  • vulnhub靶机 AI WEB 2
    vulnhub靶机AI:WEB:2靶场介绍靶场地址:https://www.vulnhub.com/entry/ai-web-2%2C357/主要内容:文件读取、join爆破、命令注入、命令注入传shell、(隐藏文件)敏感文件......
  • mac big sur 运行cocos报raise ValueError, ‘unknown locale: %s‘ % localename错误
    ndk,ant,sdk,java_home环境配置正确情况下运行cocos报: raiseValueError,'unknownlocale:%s'%localename ,系统语言为英文版本 控台台输入open-e.bash_profile增......
  • wamp 报错:The configuration file contains a syntax error on line
    wamp报错TheconfigurationfilecontainsasyntaxerroronlineTheconfigurationfilecontainsasyntaxerroronline29:[EParseError]Notrayiconwasspecif......
  • 12.NIO-AIO文件异步
    1.5.6、文件异步AIO@Slf4jpublicclassAIOTest{publicstaticvoidmain(String[]args){try{AsynchronousFileChannelchannel=Async......
  • leetcode 219. Contains Duplicate II 存在重复元素 II(简单)
    一、题目大意给你一个整数数组nums和一个整数k,判断数组中是否存在两个不同的索引i和j,满足nums[i]==nums[j]且abs(i-j)<=k。如果存在,返回true;否则,返......