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