【杂谈】菜鸟误入linux会有哪些惨痛的经历

要想AI学的好,那就得linux系统用的好。放弃windows系统,只用linux系统是你学习AI,或者说做一个合格程序猿的基础。今天我的目的不是教大家如何使用linux,而是带大家吐槽下linux让你难受的地方。当你从windows过渡到linux系统时,会有这样的感受吗?被它的坑难受到怀疑人生,难受到我只想学AI,为什么我被一个系统坑的想放弃学AI了。下面我就带大家回顾下曾经遇到的坑。相信总有一款让你记忆尤新。

作者&编辑 | 汤兴旺 

1 吐槽大杂烩

在写这篇文章之前,我采访了几个同学,目的是了解他们从windows转到linux系统过程中遇到的各种坑,我们首先看下各位同学对linux的吐槽:

下面我从三个方面来总结下linux系统让人不愉快的地方。

2 linux系统各种依赖问题

当我们使用linux系统做深度学习时,如Ubuntu系统,一开始我们需要安装深度学习框架或者各种好用的python库。当我们安装这些程序时,会遇到各种头疼的dependency问题!像protobuf、boost、gfalgs、glog、OpenBLAS、hdf5等等,你遇到过吗?

对于一个linux老司机来说,这些都是so easy!但是对于Ubuntu新手来说,或者说对于依赖项都不知道是什么的菜鸟来说真是一个致命的打击呀!当程序安装时出现依赖项缺失或者错误时,小白才不管这是依赖还是什么,直接把错误百度一下就知道解决方案了,你是这样做的吗?你被这种做法坑过吗?

说到依赖项,我相信大家在Ubuntu上配置caffe时会有很深刻的感受。简直怀疑人生呀!对于小白来说配置caffe,一天能配置好那就很牛逼了!

这是一个朋友之前配置环境时的经历,不说了,有点心疼我的小伙伴!你配置caffe时花费了多长时间呢?

3 显卡驱动安装问题

提到显卡驱动的安装我心中有一肚子的怒火,从我入手“神船”开始,我的机子显卡是RTX2070,我前前后后因为显卡驱动系统崩了不少于5次,基本上该有的坑我都趟过了。

在安装显卡驱动时我遇到如下问题:

1、显卡驱动安装后,出现在登录界面无限循环,死活进不去桌面

2、显卡驱动安装后,分辨率变得非常低,而且无法调整

3、显卡驱动安装后,直接卡在登录界面,无法输入登录密码

4、显卡驱动安装后,reboot后开机无法进入图形界面,直接黑屏

5、显卡驱动安装后,可以进入图形界面,但是驱动不工作,nvidia-smi没有作用

一直无法理解如今AI这么火,为啥Ubuntu和NVIDIA之间这么难兼容,难受呀!当然对于这些问题应该如何解决,可以和我交流下,希望能给你点帮助。

4 linux系统软件生态

为啥linux不如windows受欢迎,我想它的软件生态要背一定的锅吧,如今linux系统上并没有许多常用的娱乐或者社交软件,这也是许多人不喜欢使用的原因之一,你想想微信和QQ这个中国第一大社交软件却不能在电脑上使用,会不会很难受!

你希望腾讯开发linux版本的微信或者QQ吗?欢迎吐槽!

对于软件,还有一个不得不说,那就神的编辑器VIM。这是几乎所有程序猿的标配。但是它对于小白很不友好,因为要想让VIM更加高效,你就必须安装众多插件,但是VIM的插件是非常难装的,尤其是YouCompleteMe。如果之前一直使用pycharm或者VS,当你听说VIM是神的编辑器后,你就想去试试,如果你没有很强的毅力,会被VIM插件安装吓跑的,心想我离神还有很远的距离,还是用我的VS或者pycharm吧。不知道你是否有这样的经历,欢迎交流一波!

5 吐槽解决方案

(1) 显卡驱动安装

1.下载官网内Linux版本的.run安装包

2. cd xxx/xxx #以目录usr/ser为例,通过cd usr/ser进入安装包存放目录

3. sudo service lightdm stop #关闭图形界面

4. ctrl+alt+F1 #若此时长时间黑屏,通过此命令进入命令行

5. cd xxx/xxx #在命令行进入安装包存放目录

6. sudo bash NVIDIA-Linux-x86_64-xx.xx.run --no-opengl-files  

#只安装驱动文件,默认enter选项,进入命令行 

#–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要

7. sudo reboot #重启电脑。

8. nvidia-smi或nvidia-settings  #显示驱动详细信息,即安装成功

(2) 安装OpenCV

1. 下载OpenCV3.1.0

下载地址https://opencv.org/releases.html,选择3.1.0版本sources下载,解压到/home根目录下,文件夹重命名为opencv

2.安装OpenCV依赖项

sudo apt-get install build-essential

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

3. 修改OpenCV配置文件

进入到opencv/cmake 目录下,找到OpenCVDetectCUDA.cmake文件并打开,定位到21行,修改set(HAVE_CUDA 1)为set(HAVE_CUDA 0)。这里修改的目的是为了避免后面执行sudo make install出现如下的错误信息。

nvcc warning : The 'compute_20', 'compute_20','sm_21' architectures are deprecated

4. 安装OpenCV

在OpenCV目录下新建build文件夹

cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

sudo make

sudo make install

(3) ubuntu16.04系统安装

对于Ubuntu系统安装,安装包如下,可以自取,对于安装方法或者过程中你出现的问题,可以联系我一起交流。

https://pan.baidu.com/s/1eJN0_Mi_ftNVDJrqVQwv1g 

提取码:63au 

总结

要想成为大神,linux系统是要用的,坑是要走的,吐槽也要做的,这样学习才有乐趣,不知到您对linux系统有哪些吐槽的地方,欢迎留言。

如果想加入我们,后台留言吧

转载文章请后台联系

侵权必究

技术交流请移步知识星球

更多请关注知乎专栏《有三AI学院》和公众号《有三AI》

你可能感兴趣的:(【杂谈】菜鸟误入linux会有哪些惨痛的经历)