ubuntu是目前最为流行的linux的发行版,安装简单,可视化,傻瓜化。目前的相关社区也比较完善,网上资料丰富,是新手上手linux环境下开发比较不错的一个版本。
ubuntu目前一般每隔两年会发行一版LTS版本,即长周期支持版,往往在4月份发布。普通版本一般支持18个月,而LTS能够支持三年以上。
目前最新的版本是18.04LTS,但是目前还比较新,所以我还是用16.04LTS为主。
从智能家居到智能无人机,机器人,工业系统,Ubuntu是嵌入式Linux的新标准。全球最好的安全性,定制品牌应用商店,庞大的开发者社区和可靠的安全更新。
小巧的体积且完整的OpenGL支持使Ubuntu Core成为安全数字标牌的理想平台。
在Ubuntu上使用ROS做机器人开发。自动化运载工具和智能制造亦如此。
丰富的网络和通讯协议支持使Ubuntu成为工业网关平台的理想选择。
专为关键嵌入式系统设计,Ubuntu重塑汽车。
先到ubuntu的官网,也可以搜索引擎中搜索,ubuntu历史版本中找到ubuntu16.04,下载iso文件(没必要去踩别的坑)。使用软碟通或者rufus(超级棒的一款免费软件,被作者的免费精神简直感动到哭)制作U盘启动盘。
设置电脑的BIOS,U盘启动安装。安装过程中还是比较傻瓜式的。
其中关于硬盘的分配问题,之前还会就挂载目录的“/”(系统根目录,主要用以安装系统)、“/home”(用户目录,如果分配了这个挂载目录,那用户的存储空间会被从系统目录的空间中独立出来)、“/boot”(存储安装过程和升级过程中的一些文件)做一下去区分,一般根目录30G左右,boot分200M-400M,其余都给home——但现在我一般安装就是分配一个统一的根目录,格式选择EXT4,然后剩下大概1-2倍于物理内存的SWAP空间作为系统的虚拟内存。
然后下一步到底,完成安装。
一般最新的linux内核都会支持比较新的硬件设备,所有安装完成后网卡驱动之类就已经完成,所以还是比较简单,但是如果是NVIDIA的显卡,还是需要再安装一下的,详见NVIDIA显卡驱动安装部分。
Ubuntu安装完后会发现系统有不少的预安装软件,有些十分鸡肋,可以选择删除之。
命令: sudo apt-get remove XXX
如: sudo apt-get remove libreoffice-common gnome-mines gnome-sudoku unity-webapps-common等等
ubuntu默认安装的是开源的显卡驱动,一般安装完成后大概率是用的CPU中集成的显卡驱动来完成显示的。
我摸索的安装方式有两种,一种是上英伟达的官网下载你显卡对应的驱动文件,选择.run类型的文件。一种是在线的PPA安装方式。
先第一种:
首先是要终止目前的X服务(桌面显示服务): Ctrl+Alt+F1切换到tty1,输入账号密码,然后终止服务:
sudo service lightdm stop (当然貌似 sudo systemctl stop lightdm 也可以有一样功效),可以切换至F7看一下图形界面是否终止。
然后,需要禁用目前的开源nouveau的服务:
sudo vim /etc/modprobe.d/blacklist.conf
在最后添加:
也可以创建blacklist-nouvean.conf文件:sudo vim /etc/modprobe.d/blacklist-nouvean.conf
添加:blacklist nouveau
options nouveau modeset=0
再更新一下
sudo update-initramfs -u
reboot
lsmod | grep nouveau
懒人安装法:
Ctrl+alt+F1进入终端安装显卡驱动,安装驱动时,先关闭可视化界面,sudo service lightdm stop,
将系统进行更新升级
sudo apt-get dist-upgrade #dist-upgrade相比较apt-get upgrade更为智能,能够根据库的相互依赖性来决定安装、删除一些库
sudo add-apt-repository ppa:graphics-drivers/ppa #尝试了add-apt-repository和apt-add-repository都可以实现这个功能
sudo apt-get update
sudo apt-get install nvidia-384 #目前最新的为nvidia-390
输入nvidia-smi,打印显卡信息和驱动版本,ok
如果启动时有问题则安装上面的步骤将开源驱动列入黑名单
1.cuda
(本次安装的版本为cuda8.0,cudnn6.0)
下载相应的cuda版本,将chmod 777 *.run,除了询问是否安装驱动选择no,其他都是默认或yes
执行,后边为响应的cuda版本
sudo ./cuda8.0*.run
Do you accept the previously read EULA? accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48? (y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit? (y)es/(n)o/(q)uit: y
Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 8.0 Samples? (y)es/(n)o/(q)uit: y
安装完毕后,进入 sudo gedit ~/.bashrc,声明环境变量
export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
设置环境变量和动态链接库
sudo gedit /etc/profile
文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
保存之后,创建链接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
文件中添加
/usr/local/cuda/lib64
执行
sudo ldconfig
保存退出,运行source ~/.bashrc
测试安装是否成功
cd /usr/local/cuda/samples/1_Utilities/deviceQuery ##可以使用tab补全,可能目录有字母错了
sudo make
./deviceQuery
打印cuda和显卡信息
2.cudnn
下载cudnn,解压文件,
tar -xvf cudnn-8.0-linux-x64-v6.0.tgz
cd cuda/include文件夹,看到cudnn.h
sudo cp cudnn.h /usr/local/cuda/include/ # 复制头文件
cd ../lib64
sudo cp lib* /usr/local/cuda/lib64 # 复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6 # 删除原有动态文件
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 # 生成软连接
sudo ln -s libcudnn.so.6 libcudnn.so
后边的数字可以根据版本修改
3.安装tensorflow-gpu
首先安装pip
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
然后使用pip命令安装tensorflow-gpu,直接安装可以用
sudo pip install tensorflow-gpu==1.3
(也可以不加==1.3)直接安装最新的,如果觉得比较慢可以使用清华的镜像,执行
pip install -i https://pypi.tuta.tsinghua.edu.cn/simple/ tensorflow-gpu==1.3
安装缺少的库,再安装补上
打开python,
import tensorflow
ok安装完成
4.安装pytorch
因为墙的原因,最好翻一下,或者直接下载安装包,
链接: https://pan.baidu.com/s/1elmOk2 密码: qrcf
sudo pip install 安装包
sudo pip install torchvision
然后进入python命令界面,
import torch
import torchvision
不报错,完成
因为框架会用到ctcloss,因此百度需要安装百度的warp_loss,这个运行速度快,git项目代码,又因为要支持pytorch,可以取下面git
如果没有安装git,需要安装,执行
sudo apt-get install git
git clone https://github.com/Amore-HDU/warp-ctc
cd warp-ctc
mkdir build
cd build
如果使用gpu运算,设置环境变量,执行
export CUDA_HOME=/usr/local/cuda
如果没有cmake,sudo apt-get install cmake,进行安装
cmake ../
make
切换到../pytorch_binding
安装pytorch的一些相关包,
sudo pip install lmdb
sudo pip install cffi
sudo pip install mahotas
warp-ctc关联到pytorch,需要执行一个setup.py脚本,首先进入warp-ctc/pytoch_bedding,修改setup.py中的第一个enable_gpu=True,如果为True,则不需要修改,执行
sudo python setup.py install
完成后重新打开一个控制台窗口,执行python命令行,执行import warpctc_pytorch,不报错,完成
我目前开发比较常用的是python,虽然linux有万能的VIM,但毕竟vi的门槛还是比较高的,用不熟练的还是使用一些优秀的IDE(或者称之为软件)会比较合适一些,比如Pycharm,Anaconda等。
在这我记一下Pycharm的使用。
到pycharm的官网下载linux的安装包,我们米少就下载社区版的就可以了。
下载完成后,解压下载的tgz文件:
如果涉及到权限问题可以先改变文件的权限:sudo chmod 777 XXX (XXX表示你需要改变权限的文件目录及文件名)
解压压缩包: tar -xvzf XXX -C ~ (XXX表示需解压的文件名, -C的命令表示解压到指定的路径,此处示例中解压到home,所以用~,当然解压完成后你也可以去更改目录的名字方便记忆)
进入执行文件所在的目录,即 cd XXX/bin (此处的XXX即上一步你所解压的文件目录),可以ls一下,看到有一个pycharm.sh文件
执行 sh pycharm.sh
这个时候我们的pycharm就开始执行了,以后运行pycharm就可以如此用 sh pycharm.sh执行。pycharm开启后应该先到设置里的默认设置添加python的环境,并将添加好的环境设置为你当前开发文件的环境。
当然现在有了更为方便的snap的包管理工具,就可以使用sudo snap install XXX 来安装需要的软件,pycharm的官网有专门的snap安装的指令,当然也能到snap的官网找软件,但是目前snap的速度是相当的不理想,如果有apt包还是安装apt的比较快一些。遗憾的是,目前在国内使用snap安装你必须忍受那难以想象的网络速度,且用且珍惜!