? ?
ubuntu是目前最為流行的linux的發(fā)行版,安裝簡單,可視化,傻瓜化。目前的相關(guān)社區(qū)也比較完善,網(wǎng)上資料豐富,是新手上手linux環(huán)境下開發(fā)比較不錯的一個版本。
ubuntu目前一般每隔兩年會發(fā)行一版LTS版本,即長周期支持版,往往在4月份發(fā)布。普通版本一般支持18個月,而LTS能夠支持三年以上。
??????? 目前最新的版本是18.04LTS,但是目前還比較新,所以我還是用16.04LTS為主。
從智能家居到智能無人機(jī),機(jī)器人,工業(yè)系統(tǒng),Ubuntu是嵌入式Linux的新標(biāo)準(zhǔn)。全球最好的安全性,定制品牌應(yīng)用商店,龐大的開發(fā)者社區(qū)和可靠的安全更新。
小巧的體積且完整的OpenGL支持使Ubuntu Core成為安全數(shù)字標(biāo)牌的理想平臺。
在Ubuntu上使用ROS做機(jī)器人開發(fā)。自動化運(yùn)載工具和智能制造亦如此。
豐富的網(wǎng)絡(luò)和通訊協(xié)議支持使Ubuntu成為工業(yè)網(wǎng)關(guān)平臺的理想選擇。
專為關(guān)鍵嵌入式系統(tǒng)設(shè)計,Ubuntu重塑汽車。
先到ubuntu的官網(wǎng),也可以搜索引擎中搜索,ubuntu歷史版本中找到ubuntu16.04,下載iso文件(沒必要去踩別的坑)。使用軟碟通或者rufus(超級棒的一款免費(fèi)軟件,被作者的免費(fèi)精神簡直感動到哭)制作U盤啟動盤。
設(shè)置電腦的BIOS,U盤啟動安裝。安裝過程中還是比較傻瓜式的。
其中關(guān)于硬盤的分配問題,之前還會就掛載目錄的“/”(系統(tǒng)根目錄,主要用以安裝系統(tǒng))、“/home”(用戶目錄,如果分配了這個掛載目錄,那用戶的存儲空間會被從系統(tǒng)目錄的空間中獨立出來)、“/boot”(存儲安裝過程和升級過程中的一些文件)做一下去區(qū)分,一般根目錄30G左右,boot分200M-400M,其余都給home——但現(xiàn)在我一般安裝就是分配一個統(tǒng)一的根目錄,格式選擇EXT4,然后剩下大概1-2倍于物理內(nèi)存的SWAP空間作為系統(tǒng)的虛擬內(nèi)存。
然后下一步到底,完成安裝。
一般最新的linux內(nèi)核都會支持比較新的硬件設(shè)備,所有安裝完成后網(wǎng)卡驅(qū)動之類就已經(jīng)完成,所以還是比較簡單,但是如果是NVIDIA的顯卡,還是需要再安裝一下的,詳見NVIDIA顯卡驅(qū)動安裝部分。
Ubuntu安裝完后會發(fā)現(xiàn)系統(tǒng)有不少的預(yù)安裝軟件,有些十分雞肋,可以選擇刪除之。
命令: sudo apt-get remove XXX
如: sudo apt-get remove libreoffice-common gnome-mines gnome-sudoku unity-webapps-common等等
ubuntu默認(rèn)安裝的是開源的顯卡驅(qū)動,一般安裝完成后大概率是用的CPU中集成的顯卡驅(qū)動來完成顯示的。
我摸索的安裝方式有兩種,一種是上英偉達(dá)的官網(wǎng)下載你顯卡對應(yīng)的驅(qū)動文件,選擇.run類型的文件。一種是在線的PPA安裝方式。
先第一種:
首先是要終止目前的X服務(wù)(桌面顯示服務(wù)): Ctrl+Alt+F1切換到tty1,輸入賬號密碼,然后終止服務(wù):
sudo service lightdm stop (當(dāng)然貌似 sudo systemctl stop lightdm 也可以有一樣功效),可以切換至F7看一下圖形界面是否終止。
然后,需要禁用目前的開源nouveau的服務(wù):
sudo vim /etc/modprobe.d/blacklist.conf
在最后添加:
也可以創(chuàng)建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進(jìn)入終端安裝顯卡驅(qū)動,安裝驅(qū)動時,先關(guān)閉可視化界面,sudo service lightdm stop,
將系統(tǒng)進(jìn)行更新升級
sudo apt-get dist-upgrade #dist-upgrade相比較apt-get upgrade更為智能,能夠根據(jù)庫的相互依賴性來決定安裝、刪除一些庫
sudo add-apt-repository ppa:graphics-drivers/ppa #嘗試了add-apt-repository和apt-add-repository都可以實現(xiàn)這個功能
sudo apt-get update
sudo apt-get install nvidia-384 #目前最新的為nvidia-390
輸入nvidia-smi,打印顯卡信息和驅(qū)動版本,ok
如果啟動時有問題則安裝上面的步驟將開源驅(qū)動列入黑名單
1.cuda
(本次安裝的版本為cuda8.0,cudnn6.0)
下載相應(yīng)的cuda版本,將chmod 777 *.run,除了詢問是否安裝驅(qū)動選擇no,其他都是默認(rèn)或yes
執(zhí)行,后邊為響應(yīng)的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
安裝完畢后,進(jìn)入 sudo gedit ~/.bashrc,聲明環(huán)境變量
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}}
設(shè)置環(huán)境變量和動態(tài)鏈接庫
sudo gedit /etc/profile
文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
保存之后,創(chuàng)建鏈接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
文件中添加
/usr/local/cuda/lib64
執(zhí)行
sudo ldconfig
保存退出,運(yùn)行source ~/.bashrc
測試安裝是否成功
cd /usr/local/cuda/samples/1_Utilities/deviceQuery ##可以使用tab補(bǔ)全,可能目錄有字母錯了
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/ # 復(fù)制頭文件
cd ../lib64
sudo cp lib* /usr/local/cuda/lib64 # 復(fù)制動態(tài)鏈接庫
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6 # 刪除原有動態(tài)文件
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 # 生成軟連接
sudo ln -s libcudnn.so.6 libcudnn.so
后邊的數(shù)字可以根據(jù)版本修改
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)直接安裝最新的,如果覺得比較慢可以使用清華的鏡像,執(zhí)行
pip install -i https://pypi.tuta.tsinghua.edu.cn/simple/ tensorflow-gpu==1.3
安裝缺少的庫,再安裝補(bǔ)上
打開python,
import tensorflow
ok安裝完成
4.安裝pytorch
因為墻的原因,最好翻一下,或者直接下載安裝包,
鏈接: https://pan.baidu.com/s/1elmOk2 密碼: qrcf
sudo pip install 安裝包
sudo pip install torchvision
然后進(jìn)入python命令界面,
import torch
import torchvision
不報錯,完成
因為框架會用到ctcloss,因此百度需要安裝百度的warp_loss,這個運(yùn)行速度快,git項目代碼,又因為要支持pytorch,可以取下面git
如果沒有安裝git,需要安裝,執(zhí)行
sudo apt-get install git
git clone https://github.com/Amore-HDU/warp-ctc
cd warp-ctc
mkdir build
cd build
如果使用gpu運(yùn)算,設(shè)置環(huán)境變量,執(zhí)行
export CUDA_HOME=/usr/local/cuda
如果沒有cmake,sudo apt-get install cmake,進(jìn)行安裝
cmake ../
make
切換到../pytorch_binding
安裝pytorch的一些相關(guān)包,
sudo pip install lmdb
sudo pip install cffi
sudo pip install mahotas
warp-ctc關(guān)聯(lián)到pytorch,需要執(zhí)行一個setup.py腳本,首先進(jìn)入warp-ctc/pytoch_bedding,修改setup.py中的第一個enable_gpu=True,如果為True,則不需要修改,執(zhí)行
sudo python setup.py install
完成后重新打開一個控制臺窗口,執(zhí)行python命令行,執(zhí)行import warpctc_pytorch,不報錯,完成
我目前開發(fā)比較常用的是python,雖然linux有萬能的VIM,但畢竟vi的門檻還是比較高的,用不熟練的還是使用一些優(yōu)秀的IDE(或者稱之為軟件)會比較合適一些,比如Pycharm,Anaconda等。
在這我記一下Pycharm的使用。
到pycharm的官網(wǎng)下載linux的安裝包,我們米少就下載社區(qū)版的就可以了。
下載完成后,解壓下載的tgz文件:
如果涉及到權(quán)限問題可以先改變文件的權(quán)限:sudo chmod 777 XXX (XXX表示你需要改變權(quán)限的文件目錄及文件名)
解壓壓縮包: tar -xvzf XXX -C ~ (XXX表示需解壓的文件名, -C的命令表示解壓到指定的路徑,此處示例中解壓到home,所以用~,當(dāng)然解壓完成后你也可以去更改目錄的名字方便記憶)
進(jìn)入執(zhí)行文件所在的目錄,即 cd XXX/bin (此處的XXX即上一步你所解壓的文件目錄),可以ls一下,看到有一個pycharm.sh文件
執(zhí)行 sh pycharm.sh
這個時候我們的pycharm就開始執(zhí)行了,以后運(yùn)行pycharm就可以如此用 sh pycharm.sh執(zhí)行。pycharm開啟后應(yīng)該先到設(shè)置里的默認(rèn)設(shè)置添加python的環(huán)境,并將添加好的環(huán)境設(shè)置為你當(dāng)前開發(fā)文件的環(huán)境。
當(dāng)然現(xiàn)在有了更為方便的snap的包管理工具,就可以使用sudo snap install XXX 來安裝需要的軟件,pycharm的官網(wǎng)有專門的snap安裝的指令,當(dāng)然也能到snap的官網(wǎng)找軟件,但是目前snap的速度是相當(dāng)?shù)牟焕硐耄绻衋pt包還是安裝apt的比較快一些。遺憾的是,目前在國內(nèi)使用snap安裝你必須忍受那難以想象的網(wǎng)絡(luò)速度,且用且珍惜!