6 搭建一個友好的可塑性計算機視覺工具集

對于計算機視覺,深度學習是一個您始終繞不開的話題刹衫,本文將告訴您如何從零開始搭建一個友好的可塑性的計算機視覺環(huán)境斟冕,當然它也支持深度學習乱顾。為什么要從零開始搭建環(huán)境呢?因為宫静,別人建立的環(huán)境也許并不適合您,而您想要改變其的環(huán)境也許會花費很多時間還不一定有用券时。為了解決您的這個煩惱孤里,本文考慮搭建一個具有可以定制性并可以靈活改變環(huán)境的計算機視覺工具集。因為深度學習在計算機視覺中占據(jù)十分重要的地位橘洞,所以本文將以深度學習為基礎進行工具集組裝捌袜。

1 在您的機器上搭建一個深度學習環(huán)境

本文考慮分別在 Windows10 與 Ubuntu18.04 這兩個系統(tǒng)上搭建深度學習環(huán)境。下面提到的軟件包的具體功能先不說明炸枣,先安裝配置好之后再一一闡述其功能虏等。

1.1 在 Windows10 上配置軟件工具

由于 Windows10 系統(tǒng)的配置相對于 Ubuntu來說是簡單的,所以我們先考慮 Windows10适肠。首先霍衫,我們需要下載一些必備軟件:

圖1 CUDA 下載的選擇界面

這些軟件下載好之后,按照提示進行安裝即可嘲碧。不過稻励,安裝過程中可能出現(xiàn)一些選項需要按照本文接下來展示的圖示進行操作。

  1. 安裝 CUDA 時愈涩,需要選擇安裝選項自定義(高級)望抽,見圖示2。
圖2 安裝 CUDA 時需要選擇 自定義
  1. 安裝 CuDNN 時履婉,只需要解壓 cudnn-10.0-windows10-x64-v7.6.4.38.zipC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 目錄之下煤篙。接著,設置 Path 的環(huán)境變量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64毁腿。安裝完畢之后辑奈,打開 Power Shell 輸入 nvcc -V 驗證是否與圖3 顯示一致。如果一致已烤,恭喜您安裝完成鸠窗!
圖3 驗證 nvcc 是否正確安裝
  1. 安裝 Anaconda 需要注意按照圖4 選擇將 Anaconda 添加到環(huán)境變量。安裝完成之后胯究,找到開始菜單中的 Anaconda Navigator 圖標(即圖示5)便可以使用 Anaconda稍计。
圖4 Anaconda 安裝
圖5 找到 Anaconda 啟動的圖標
  1. 為了將 Git 與 vscode 緊密結合,需要先安裝 vscode裕循,再安裝 Git臣嚣。為了方便 vscode 更好的管理您的文件,安裝 vscode 時需要按照圖6 進行選擇剥哑。安裝 Git 需要按照圖7 進行選擇將 vscode 作為 Git 的默認編輯器硅则。
圖6 選擇方便 vscode 管理的選項
圖7 將 vscode 作為 Git 的默認編輯器

這樣 vscode 與 Git 緊密結合在一起了。

1.2 在 Ubuntu18.04 上配置軟件工具

在 Ubuntu 系統(tǒng)上搭建深度學習系統(tǒng)是很多人的噩夢株婴,為了大家少走彎路抢埋,趕走噩夢,本文接下來介紹如何從安裝 Ubuntu 開始搭建 Ubuntu 深度學習環(huán)境。和 Windows10 一樣揪垄,我們同樣需要先下載一些必備軟件:

如果您的下載速度很慢谅将,您可以考慮使用 IDM(https://www.internetdownloadmanager.com/)漾狼,該軟件被人戲稱為國外的迅雷,它的下載速度是很快的饥臂。

下載好軟件之后逊躁,我們需要使用 U 盤制作一個 Ubuntu 啟動盤。

我們使用 rufs 制作 Ubuntu 啟動盤:

  1. 雙擊 rufs 軟件包隅熙,彈出的界面稽煤,設置如下:
圖8 rufs 軟件界面

制作完畢關閉 rufs 軟件,并彈出 U 盤囚戚。

  1. 關閉待安裝的機器酵熙,之后上插入 U 盤,再啟動機器弯淘,選擇 Install Ubuntu,即如圖界面:
圖9 進入安裝界面
  1. 進入安裝界面:
圖10 開始安裝
  1. 選擇系統(tǒng)語言為中文
圖11 選擇系統(tǒng)語言為簡體中文
  1. 不斷點擊繼續(xù)吉懊,直至出現(xiàn)如下界面庐橙,選擇清除整個磁盤并安裝 Ubuntu(如果您想要安裝雙系統(tǒng),可選擇 安裝 Ubuntu借嗽,與其他系統(tǒng)共存):
圖12 選擇安裝的磁盤
  1. 接著按照界面的提示進行操作即可态鳖。直到提示您重啟電腦時,您點擊確認恶导,之后等到屏幕關閉拔掉 U 盤浆竭,讓機器自動重啟。如此,您便完成了 Ubuntu 的安裝邦泄。

電腦重啟之后需要配置網(wǎng)絡連接删窒,配置好之后,我們需要做一些準備工作顺囊。

  1. 智能升級肌索。安裝新軟件包并刪除廢棄的軟件包:
$ sudo apt-get dist-upgrade
$ sudo apt-get autoremove
  1. 刪除一些不需要的內置軟件:
$ sudo apt-get remove libreoffice-common
$ sudo apt-get remove unity-webapps-common
$ sudo apt-get autoremove
  1. 啟用圖標點擊最小化操作:
$ gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
  1. 更新和升級系統(tǒng)
$ sudo apt update
$ sudo apt upgrade
  1. 安裝 Git
$ sudo apt-get install git

配置 git 的兩個重要信息,user.nameuser.email特碳,終端輸入如下命令即可設置

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
  1. 支持掛載 exfat
$ sudo apt-get install exfat-fuse
  1. 安裝 g++ gcc 開發(fā)必備編譯庫(為之后安裝 CUDA 做準備)
$ sudo apt-get install build-essential
  1. 為了支持 ssh server诚亚,需要:
$ sudo apt-get install openssh-server
$ sudo /etc/init.d/ssh start
$ sudo service ssh start
  1. 為了防止 Ubuntu 系統(tǒng)被玩壞了,我們需要一個可以進行備份和還原的工具:TimeShift
$ sudo apt-add-repository -y ppa:teejee2008/ppa
$ sudo apt update
$ sudo apt install timeshift
  1. 接著午乓,我們需要安裝 Anaconda:
$ sh Anaconda3-2019.10-Linux-x86_64.sh

安裝過程中需要注意選擇 conda init 以方便我們管理 Python 環(huán)境:

圖13 運行 conda init

設置圖1.6 選擇為 yes站宗,則將 Ubuntu 系統(tǒng)的 Python 環(huán)境設置為 Anaconda,如果您還想要使用原來的 Python 環(huán)境益愈,可以這樣:

$ conda config --set auto_activate_base false

Anaconda 的打開使用命令:anaconda-navigator梢灭。

  1. 最后,我們還需要安裝 vscode:
$ sudo dpkg -i code_1.39.2-1571154070_amd64.deb

vscode 的打開使用命令 code 即可腕唧。

OK! Ubuntu 系統(tǒng)的深度學習基礎環(huán)境已經(jīng)搭建完畢或辖!下面我們需要安裝 CUDA 與 cuDNN。

因為安裝 CUDA 是一個很危險的行為枣接,設置出錯很容易把系統(tǒng)玩崩颂暇,所以我們可以先使用 TimeShift 備份當前系統(tǒng)。做深度學習但惶,要用到 NVIDIA 的顯卡耳鸯,因此需要改顯卡驅動,禁用nouveau膀曾。即以管理員是身份打開 /etc/modprobe.d/blacklist.conf 文件县爬,然后添加內容:blacklist nouveau #添加數(shù)據(jù) 用來禁用 nouveau。而打開文件我們可以使用 vscode 進行文件編輯:

$ sudo code /etc/modprobe.d/blacklist.conf

首先進入 CUDA 安裝包所在目錄運行:

$ sudo ubuntu-drivers autoinstall
$ sudo sh cuda_10.0.130_410.48_linux.run
$ sudo sh cuda_10.0.130.1_linux.run

注意:最好不要選擇安裝 OpenGL 庫添谊,否則您可能無法順利安裝 CUDA财喳。如果下載速度很慢可以修改下載源為阿里云。安裝完畢之后斩狱,運行 nvidia-smi 檢查 CUDA 是否安裝正確耳高。

最后需要安裝 cuDNN:

sudo dpkg -i libcudnn7_7.6.4.38+cuda10.0_amd64.deb

1.3 設置清華鏡像

為了提高 pip 與 conda 安裝軟件包的速度,我們需要設置清華鏡像所踊。對于 pip泌枪,Windows10 設置的方法是一樣的,即:

$ pip install --upgrade pip -U # -U == --user
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

而對于 conda秕岛,在 Windows10 中這樣設置:

$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
$ conda config  --set show_channel_urls yes

在 Ubuntu18.04 中設置 conda碌燕,需要借助 vscode 修改用戶目錄下的 .condarc误证,即 code ~/.condarc,然后添加如下內容:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

2 安裝深度學習框架

在安裝深度學習框架之前修壕,我們先了解一下 Anaconda: 一個用于科學計算的 Python 發(fā)行版愈捅,支持 Linux, Mac, Windows, 包含了眾多流行的科學計算、數(shù)據(jù)分析的 Python 包叠殷。

Anaconda 提供了十分強大的 Python 環(huán)境與包的管理機制改鲫,本小節(jié)我們將利用它這一特性來說明如何在同一臺機器上創(chuàng)建多個深度學習框架。由于深度學習框架的安裝在 Windows10 與 Ubuntu 18.04 上是一樣的林束,所以下面我便不在言明是在哪個系統(tǒng)上進行操作了像棘。

如果我們想要使用和管理多個框架,如果將它們均安裝在同一環(huán)境之下壶冒,往往很容易發(fā)生包的沖突問題缕题。因而,為了讓深度學習框架之間不發(fā)生沖突胖腾,我們需要借助 conda 對 Python 的環(huán)境進行管理烟零。下面我們看看如何創(chuàng)建新的 Python 環(huán)境:

  1. 打開 Anaconda Navigator 并依次選擇 EnvironmentsCreate咸作,接著輸入環(huán)境的名字并選擇 Python 版本:
圖14 創(chuàng)建一個新環(huán)境

下面以 TensorFlow 為例锨阿,說明如何安裝包。

  1. 在新創(chuàng)建的環(huán)境中打開終端:
圖15 打開新的終端

然后记罚,在終端輸入命令:

$ pip install tensorflow-gpu

完成 TensorFlow 框架的 GPU 版本安裝墅诡。

我們不僅僅滿足于在終端運行 Python 程序湿刽,如果想要在 Notebook蚌卤,也可以運行新創(chuàng)建的環(huán)境豈不妙哉!

在 tensorflow 環(huán)境的終端輸入:

$ conda install ipykernel
$ python -m ipykernel install --user --name tensorflow --display-name "tensorflow"
$ pip install jupyter

此時涛浙,您在打開 Notebook说庭,則會呈現(xiàn)兩個環(huán)境:tensorflowpython 3然磷。

圖16 兩個 Python 環(huán)境

選擇 tensorflow,進入 Notebook 編輯界面刊驴,我們測試 GPU 是否可以正常使用:

圖17 測試 tensorflow gpu 是否使用正常

代碼沒有報錯姿搜,說明 GPU 配置完成。需要注意的是在 Ubuntu 系統(tǒng)上如果測試 GPU 失敗捆憎,您可以嘗試運行如下命令:

$ conda install cudatoolkit=10.0
$ conda install cudnn=7.6

這樣你便可以擁有兩個互不干擾的 jupyter 環(huán)境舅柜!為了方便以后切換不同的深度學習框架,按照上述的步驟分別創(chuàng)建 MXNet攻礼,Pytorch 深度學習環(huán)境业踢。

安裝 MXNet 的命令是:

$ conda install ipykernel
$ python -m ipykernel install --name mxnet --display-name "MXNet"
$ pip install jupyter
$ pip install mxnet-cu100

安裝 Pytorch 的命令是:

$ conda install ipykernel
$ python -m ipykernel install --user --name torch --display-name "Pytorch"
$ pip install jupyter
$ conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

3 橋接 Ubuntu 與 Windows

對于同一個局域網(wǎng)的兩臺機器栗柒,一臺安裝了 Windows10礁扮,一臺安裝了 Ubuntu18.04知举。我們想要利用 SSH 協(xié)議橋接這兩臺機器,對于 Ubuntu 系統(tǒng)我們已經(jīng)配置好了其 SSH Server太伊,而 Windows10 需要我們做一些工作雇锡。

在 Windows Server 2019 或 Windows 10 1809 上的 "設置" UI 安裝 OpenSSH,可參考微軟官方提供的教程:https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse僚焦。而對于低版本的系統(tǒng)锰提,則需要下載 https://github.com/PowerShell/Win32-OpenSSH/releases 中的代碼,然后將其解壓并將解壓后的文件目錄添加 Windows 系統(tǒng)的 Path 環(huán)境變量之中芳悲。

$ .\install-sshd.ps1
$ .\FixHostFilePermissions.ps1

詳細內容可參考:https://blog.csdn.net/hanzheng260561728/article/details/72857132立肘。

配置好 SSH Server 之后,我們便可以利用 SSH 連接這兩臺機器了名扛。

比如谅年,我們在 Windows10 系統(tǒng)打開 PowerShell 并使用 SSH 連接 Ubuntu18.04 的機器:

$ ssh xinet@192.168.42.7

其中 xinet@192.168.42.7 的組成是 用戶名@IP地址

這樣你便可以像圖 18 那樣使用 Ubuntu 系統(tǒng)的終端進行操作:

圖18 ssh 橋接 windows 與 ubuntu

對于圖18 需要做如下解釋:

  1. conda activate pytorch 啟動我們之前創(chuàng)建的 Pytorch 環(huán)境
  2. pip install 或者 conda install 是用來安裝 Python 包的命令肮韧。
  3. 待您在終端的操作完成之后融蹂,需要使用命令 exit 退出 ssh 連接。

4 Ubuntu 多用戶共享使用深度學習環(huán)境

我們可以使用命令 sudo adduser 用戶名 的方式創(chuàng)建新用戶弄企。創(chuàng)建新用戶之后超燃,便可以令其使用共享環(huán)境。比如我們在用戶 A 之中配置了深度學習環(huán)境拘领,而用戶 B 想要使用用戶 A 的深度學習環(huán)境只需要運行命令 source /home/A/.bashrc 即可激活深度學習環(huán)境意乓。

情景:我們不想建立遠程桌面且又想要使用 Ubuntu 系統(tǒng)的 Jupyter Notebook,該怎么辦院究?

我們可以使用 MobaXterm 軟件來解決該情景問題洽瞬。具體操作方法:

  1. 進入網(wǎng)站 https://mobaxterm.mobatek.net/download.html 下載軟件。安裝好之后业汰,創(chuàng)建一個 Session伙窃,見圖19:
圖19 創(chuàng)建一個 Session

點擊 OK 之后,進入 Ubuntu 系統(tǒng)下的用戶 B 所在賬戶下的終端样漆。雖然這是一個終端为障,但是此終端還可以做一些仿真的工作,比如打開 Jupyter Notebook:

圖20 在 windows 系統(tǒng)打開 遠端的 Ubuntu 系統(tǒng)的 Jupyter Notebook

是不是很神奇放祟?不僅僅如此呢鳍怨,這里打開了一個瀏覽器服務器,您可以在此瀏覽器之中下載東西跪妥,然后將您下載的東西拖曳回您的 Windows 系統(tǒng)鞋喇。更多精彩內容您可以查看 MobaXterm 官方網(wǎng)站進行了解。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
禁止轉載眉撵,如需轉載請通過簡信或評論聯(lián)系作者侦香。
  • 序言:七十年代末落塑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子罐韩,更是在濱河造成了極大的恐慌憾赁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件散吵,死亡現(xiàn)場離奇詭異龙考,居然都是意外死亡,警方通過查閱死者的電腦和手機矾睦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門晦款,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人枚冗,你說我怎么就攤上這事柬赐。” “怎么了官紫?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵肛宋,是天一觀的道長。 經(jīng)常有香客問我束世,道長酝陈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任毁涉,我火速辦了婚禮沉帮,結果婚禮上,老公的妹妹穿的比我還像新娘贫堰。我一直安慰自己穆壕,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布其屏。 她就那樣靜靜地躺著喇勋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪偎行。 梳的紋絲不亂的頭發(fā)上川背,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音蛤袒,去河邊找鬼熄云。 笑死,一個胖子當著我的面吹牛妙真,可吹牛的內容都是我干的缴允。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼珍德,長吁一口氣:“原來是場噩夢啊……” “哼练般!你這毒婦竟也來了健蕊?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤踢俄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后晴及,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體都办,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年虑稼,在試婚紗的時候發(fā)現(xiàn)自己被綠了琳钉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡蛛倦,死狀恐怖歌懒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情溯壶,我是刑警寧澤及皂,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站且改,受9級特大地震影響验烧,放射性物質發(fā)生泄漏。R本人自食惡果不足惜又跛,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一碍拆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慨蓝,春花似錦感混、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至此熬,卻和暖如春谱秽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摹迷。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工疟赊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人峡碉。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓近哟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲫寄。 傳聞我的和親對象是個殘疾皇子吉执,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355