? ?
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安裝你必須忍受那難以想象的網絡速度,且用且珍惜!