人工智能技術及應用 課件 ch4-軟件安裝與部署_第1頁
人工智能技術及應用 課件 ch4-軟件安裝與部署_第2頁
人工智能技術及應用 課件 ch4-軟件安裝與部署_第3頁
人工智能技術及應用 課件 ch4-軟件安裝與部署_第4頁
人工智能技術及應用 課件 ch4-軟件安裝與部署_第5頁
已閱讀5頁,還剩92頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

4軟件安裝與部署INSTALLATIONDEPLOYMENTChapter04學習目標環(huán)境依賴搭建01系統(tǒng)設置02深度學習環(huán)境搭建03深度學習網絡搭建044.1環(huán)境依賴搭建4.1.1安裝Ubuntu系統(tǒng)Ubuntu是一個以桌面應用為主的Linux操作系統(tǒng),其名稱來自非洲南部祖魯語或豪薩語的“Ubuntu”一詞,意思是“人性”,“我的存在是因為大家的存在”,是非洲傳統(tǒng)的一種價值觀。Ubuntu基于Debian發(fā)行版和Gnome桌面環(huán)境,而從11.04版起,Ubuntu發(fā)行版放棄了Gnome桌面環(huán)境,改為Unity。從前人們認為Linux難以安裝、難以使用,在Ubuntu出現(xiàn)后這些都成為了歷史。Ubuntu也擁有龐大的社區(qū)力量,用戶可以方便地從社區(qū)獲得幫助。深度學習的訓練任務基本是在Ubuntu系統(tǒng)下進行的,所以下面介紹如何安裝Ubuntu系統(tǒng)。在安裝Ubuntu前我們需要做好以下準備:1)Ubuntu的鏡像(可以去官方網站上下載:DownloadUbuntuDesktop|Download|Ubuntu)2)刻錄軟件,個人建議ULtralSO(可以在官方網站上下載:/)3)容量大于4G的U盤4)EasyBCD軟件,設置系統(tǒng)引導,MBR需要EasyBCD引導,而UEFI不需要(windows雙系統(tǒng),如果是單系統(tǒng)安裝請查看請轉)4.1環(huán)境依賴搭建預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備當前市面上的電腦購買回來都是預裝的Windows,下面就以win11為例,如何在電腦上安裝Ubuntu。首先我們需要知道自己電腦的類型:1)單個硬盤、MBR傳統(tǒng)BIOS;2)雙硬盤(固態(tài)硬盤和機械硬盤)、MBR傳統(tǒng)BIOS;3)單個硬盤、UEFI新BIOS;4)雙硬盤(固態(tài)硬盤和機械硬盤)、UEFI新BIOS;目前大部分的電腦都是UEFI新BIOS的,為了確認可以在運行界面輸入“msinfo32”,再按回車查看,運行可以按住鍵盤上windows鍵+r鍵或者直接開始搜索“運行”。4.1.1安裝Ubuntu系統(tǒng)預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備在系統(tǒng)摘要內可以看到BIOS的模式,如果顯示傳統(tǒng)就說明是MBR傳統(tǒng)BIOS,UEFI就是UEFI新BIOS。購買電腦的時候一般都會注明硬盤數量和類型,若不清楚可以右擊我的電腦,點擊管理。預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備查看磁盤管理,看右下角有幾個磁盤對應的就是幾個硬盤,如果有更多可以支持鼠標滑輪下滑。若桌面沒有“此電腦”你可以右擊->個性化->主題->桌面圖標設置->選擇計算機->確認,桌面即可出現(xiàn)“此電腦”,此時右擊查看硬盤信息。預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備下面開始正式安裝步驟:

可能網上有人說UEFI用Ubuntu作引導,當需要刪除Ubuntu的時候會很煩,但其實很簡單,只需要在上文中的磁盤管理中刪除對應的卷,再使用DiskGenius刪除UEFI創(chuàng)建的EFI系統(tǒng)分區(qū)就搞定了。下面我們以UEFI用win作引導為例:1)創(chuàng)建空白磁盤分區(qū)選擇“此電腦”,右擊選擇管理->存儲->磁盤管理,便可以看到自己電腦的磁盤空間。然后找到windows磁盤管理的最后一個盤,然后右擊壓縮卷。預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備2)設置壓縮的空間量大小,如果太小的話可以把文件移動到其他地方,保證有40G左右的空間,當然越多越好,40GB換算成MB為單位后輸入對應的大小,點擊壓縮(如左圖),等待一會后就會在這個磁盤后面多出一塊未分配的黑色分區(qū)(如右圖)。預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備3)將下載好的Ubuntu鏡像刻錄至U盤打開ULtralSO,點擊箭頭處,找到鏡像保存位置,然后單擊該鏡像后會出現(xiàn)框內的文件。4)再次點擊“啟動”,選擇寫入硬盤鏡像預裝Windows的情況下安裝Ubuntu系統(tǒng)的必要準備點擊后的界面(寫入鏡像過程):這個時候你需要有幾點注意:

1.硬盤驅動器必須對應你自己的U盤。

2.鏡像是否選對

3.U盤的文件需要備份,因為這里會格式化U盤等待寫入完成后即可拔出U盤退出程序。4.1環(huán)境依賴搭建安裝Ubuntu下面開始安裝Ubuntu系統(tǒng),計算機有很多不同的廠商,每個廠商進入BIOS的方法也不盡相同,但自行百度一般都是可以進入BIOS系統(tǒng)的,這里的設置坑比較多,一定要仔細,避免返工。具體安裝Ubuntu系統(tǒng)可以在網上搜索詳細教程。4.1環(huán)境依賴搭建4.1.2安裝WSL開發(fā)環(huán)境不止一種,讀者可以直接在Ubuntu下開發(fā),也可以Windows下建立虛擬機,在虛擬機中安裝Ubuntu系統(tǒng)。本節(jié)介紹的是在win10環(huán)境下,使用WSL進行開發(fā),并附帶VSCode輔助編寫調試。1)在控制面板->程序中打開“適用于Linux的Windows子系統(tǒng)”,然后重啟。4.1環(huán)境依賴搭建4.1.2安裝WSL打開MicrosoftStore,搜索Ubuntu并安裝如下所示,不要直接選Ubuntu,因為那會下載最新版,這里用18.04LTS。3)安裝結束后,在開始菜單找到Ubuntu圖標(一般就在最上方)點擊打開,然后開始初始化Ubuntu并配置用戶名和密碼等,注意輸入密碼的時候是看不見的,但是已經輸入進去了,后面一步是讓你確認密碼。4.1環(huán)境依賴搭建4.1.2安裝WSL4)更換軟件源為國內源,并安裝必要工具#備份sudocp/etc/apt/sources.list/etc/apt/sources.list.bak#修改sudovi/etc/apt/sources.list#使用下面的源替換舊的內容。deb/ubuntu/bionicmainrestricteduniversemultiversedeb-src/ubuntu/bionicmainrestricteduniversemultiversedeb/ubuntu/bionic-securitymainrestricteduniversemultiversedeb-src/ubuntu/bionic-securitymainrestricteduniversemultiversedeb/ubuntu/bionic-updatesmainrestricteduniversemultiversedeb-src/ubuntu/bionic-updatesmainrestricteduniversemultiversedeb/ubuntu/bionic-backportsmainrestricteduniversemultiversedeb-src/ubuntu/bionic-backportsmainrestricteduniversemultiversedeb/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb-src/ubuntu/bionic-proposedmainrestricteduniversemultiverse#更新系統(tǒng)至最新(剛安裝的系統(tǒng),我總是喜歡先更新到最新,然后就不怎么更新了)sudoapt-getupdate&&sudoapt-getupgrade

#安裝cmake,zlib。交叉編譯工具鏈中的gdb依賴libpython2.7-devsudoaptinstallcmakegitbuild-essentialzlib1g-devlibpython2.7-dev--no-install-recommends4.1環(huán)境依賴搭建4.1.2安裝WSL5)配置環(huán)境變量rk1808所需要的交叉編譯工具鏈可以在本教材附贈的工具包中獲取,把下載好的交叉編譯工具鏈壓縮包存放在Ubuntu的根目錄下:/home/用戶名,然后在終端下解壓tools.tar.gz。工程編譯需要直接將交叉編譯工具鏈配置到PATH中,具體的PATH路徑因人而異,本處是將解壓后的tools文件夾放在D盤目錄下。具體操作如右圖。4.1環(huán)境依賴搭建4.1.2安裝WSL驗證交叉編譯配置是否正常。aarch64-linux-gnu-gcc--versionaarch64-linux-gnu-g++--version6)添加WSL路徑映射網絡驅動器選擇WSL路徑WSL目錄4.1環(huán)境依賴搭建4.1.2安裝WSL7)使用VSCodeRemote開發(fā)VSCode官網地址/,依據系統(tǒng)選擇對應的版本下載即可。使用VSCode在WSL下編程必要的插件是Remote-WSL。點擊右下角,選擇WSL窗口,文件->打開文件夾->選擇對應工程->確定4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置安裝好Ubuntu系統(tǒng)之后,需要修改系統(tǒng)中的某些設置和安裝必要的軟件,如修改時間、apt下載源等設置和安裝VIM等。4.1.3

.1系統(tǒng)設置Ubuntu認為BIOS的時間是UTC時間,而Windows則認為是本地時間,所以如果是雙系統(tǒng)的話,Windows和Ubuntu的時間會相差8個小時,這樣就導致在切換系統(tǒng)時,會出現(xiàn)時間差。為了使雙系統(tǒng)的時間保持一致,需要修改Ubuntu的時間。打開終端,執(zhí)行如下命令。$sudotimedatectlset-local-rtc1--adjust-system-clock4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置4.1.3

.2安裝VIM在Linux下工作怎么能離開VIM?不管是后續(xù)更換apt或者Conda下載源,還是設置環(huán)境變量等操作,都需要VIM來對文件進行讀寫等操作。1)安裝VIM$sudoaptinstallvim

2)修改VIM的配置VIM的默認配色可能不那么漂亮,但勉強能用。當然,如果想擁有更漂亮的配色方案和更多的功能、模式,使得VIM對文件的讀寫操作更加方便,可對.vimrc進行如下配置。4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置4.1.3

.2安裝VIM下載molokai配色方案并進行安裝。

下載moloka配色方案,得到的是一個molokai文件夾,需要的molokai.vim配色插件放置在molokai/colors文件夾下。 $sudogitclone/tomasr/molokai

安裝molokai,首先進入自己用戶文件夾下并新建.vim/colors文件夾。

$sudocd/myuserdir $sudomkdir.vim/colors

然后將下載的molokai.vim文件放入/myuserdir/.vim/colors中。

最后按接下來的步驟在VIM中使用molokai.vim配色方案。4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置4.1.3

.2安裝VIM

在/home目錄下使用vim命令自動創(chuàng)建.vimrc文件。$sudovim~/.vimrc在.vimrc文件中寫入需要的配置(見書本80頁)。3)VIM的一些基本操作VIM通??煞譃樗姆N模式,分別是普通模式、插入模式、命令模式和可視模式。下面介紹了進入各種模式的方式以及在不同的模式下可執(zhí)行的操作。4.1環(huán)境依賴搭建4.1.3

.2安裝VIM1.普通模式打開或者新建文件,進入普通模式,命令如下。$vimxxx.txt/.cpp/.py按Esc鍵可從任意模式回退到普通模式。在普通模式下,可進行移動、復制、粘貼、刪除等操作,命令如下。?xxx+Enter從當前位置向上查找關鍵字,按n鍵移動到下一位置。dd刪除或剪切整行D刪除或剪切一行字符,保留空行2dd/2D刪除或剪切多行:當前行和下一行dG刪除或剪切光標所在行和之后的所有行,光標定位到首行則可刪除或剪切所有內容d$刪除或剪切光標位置到行尾的內容u撤銷Ctrl+r恢復撤銷yy復制當前行,包括換行符3yy復制光標所在行和之后的兩行,包括換行符y$復制光標位置到行尾,不包括換行符y^復制光標位置到行首p小寫p可將內容粘貼到光標之后P大寫P可將內容粘貼到光標之前G移動到末行,查看有多少行gg移動到首行10G移動到第10行Home/0/shift+4/移動到行首End/$/shift+6/移動到行尾/xxx+Enter從當前位置向下查找關鍵字,按n鍵移動到下一位置。4.1環(huán)境依賴搭建4.1.3

.2安裝VIM2.插入模式在普通模式下,通過i、a、o、I、A、O鍵均可進入插入模式。在命令模式下,首先按Esc鍵退回普通模式,再通過上述鍵進入插入模式。在插入模式下,可進行文本輸入、刪除等操作,命令如下。i在光標之前插入a在光標之后追加o在光標所在行的下一行增加新的一行I在行首處插入A在行尾處追加O在光標所在行的上一行增加新的一行4.1環(huán)境依賴搭建4.1.3

.2安裝VIM3.命令模式在普通模式下,通過:(冒號)進入命令模式。在插入模式下,首先按Esc鍵退回普通模式,再通過上述鍵進入命令模式。在命令模式下,可對整個文檔進行保存、退出和行號設置等操作,命令如下。:setnu設置行號:setnonu取消行號設置:setshiftwidth?查看當前文本縮進設定值:setshiftwidth=12設置文本縮進:setautoindent/ai設置自動縮進:setautowrite/aw設置自動存檔:q直接退出:wq保存并退出4.1環(huán)境依賴搭建4.1.3

.2安裝VIM4.可視模式在普通模式下,按小寫v,大寫V和Ctrl+v進入不同的可視化模式。在其它模式下,首先按Esc進入普通模式,再通過上述鍵進入可視化模式。在可視化模式下,可對文本進行復制、剪切、粘貼等操作,命令如下。v小寫v,字符可視化模式,選擇文本是以字符為單位。V大寫V,行可視化模式,選擇文本是以行為單位。Ctrl+v塊可視化模式,選擇文本是以矩形區(qū)域為單位,按下Ctrl+v為矩形的一 角,光標最終的位置為矩形的角。4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置更換apt下載源Ubuntu默認使用的官方apt源的服務器在國外,從國內訪問速度非常慢。因此,為了加快訪問速度,需要把官方apt源更換為國內apt源。國內apt源有清華源、中科大源和阿里云源等,地址如下:

清華源:/ubuntu/。

中科大源:/ubuntu/。

阿里云源:/ubuntu/。更換apt源的步驟如下所示,以下所有命令均在終端執(zhí)行。4.1環(huán)境依賴搭建更換apt下載源1)獲取當前Ubuntu的codename$sudolsb_release-aDistributorID:UbuntuDescription:Ubuntu18.04.5LTSRelease:18.04Codename:bionic根據如上顯示結果,可以看到Ubuntu18.04.5LTS的codename是bionic,更換apt源的時候需要對應該信息。2)修改源文件source.list

1.進入source.list存放目錄Ubuntu的源文件source.list存放在/etc/apt目錄下,按如下命令進入該目錄。$sudocd/etc/apt

2.修改前備份該文件$sudocp-rsource.listsource.list.bak

3.修改source.list首先清空源文件source.list,然后打開并將如下內容復制到source.list中,可以利用vim打開文件進行復制、清空、粘貼、修改、保存并退出等操作。4.1環(huán)境依賴搭建更換apt下載源deb/ubuntu/bionicmainuniverserestrictedmultiversedeb/ubuntu/bionic-securitymainuniverserestrictedmultiversedeb/ubuntu/bionic-updatesmainuniverserestrictedmultiversedeb/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb/ubuntu/bionic-backportsmainuniverserestrictedmultiversedeb-src/ubuntu/bionicmainuniverserestrictedmultiversedeb-src/ubuntu/bionic-securitymainuniverserestrictedmultiversedeb-src/ubuntu/bionic-updatesmainuniverserestrictedmultiversedeb-src/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb-src/ubuntu/bionic-backportsmainuniverserestrictedmultiverse如果想將默認源更換為清華源之外的其它源,只需將/ubuntu/更換為其它鏡像源的地址。另外,如果使用的Ubuntu版本不是18.04.5,則需要將bionic替換成第1步中自己的codename。3)更新軟件列表和升級$sudoapt-getupdate

$sudoapt-getupgrade更改軟件源后能顯著提高軟件下載速度,有助于后續(xù)很多軟件聯(lián)網下載。4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置安裝GitGit是一個開源的分布式版本管理系統(tǒng),可以有效地、高速地管理項目版本。1)安裝Git$sudoaptinstallgit2)Git基本命令gitclonexxx(遠程倉庫地址)將遠程Git倉庫克隆至本地倉庫gitbranchdev(分支名)創(chuàng)建分支名devgitcheckoutdev切換到dev分支,可在此分支上修改項目文件,完成后提交主分支mastergitadd.將修改后的文件提交至暫存區(qū)gitcommit-m“修改了什么”將暫存區(qū)的文件提交至本地倉庫gitpush-uorigindev將本地倉庫dev分支推送到遠程倉庫gitcheckoutmaster切換到主分支gitpull將本地倉庫更新至與遠程倉庫一致gitmergedev把dev分支的項目文件合并到主分支gitpush-uoriginmaster將本地倉庫主分支推送至遠程倉庫gitdiff查看當前與上一次提交的文件修改之處gitstatus查看暫存區(qū)狀態(tài)4.1環(huán)境依賴搭建安裝Git3)Git密鑰生成,用于本地與GitHub賬戶之間通信。首先,在終端使用如下命令,引號內為GitHub的郵箱注冊地址,讀者可根據需要修改。一路回車,在/root/.ssh下生成id_rsa和id_rsa.pub兩個文件。$sudossh-keygen-trsa-C"xxx@"然后利用vim打開/root/.ssh文件夾下的rsa.pub,并復制其所有內容。最后,登錄GitHub賬戶,進入setting/SSHKeys,將內容粘貼至addsshkey中。經過上述操作,就可以建立本地與GitHub賬戶之間的通信,然后推送和拉取倉庫了。4.1.3系統(tǒng)設置4.1環(huán)境依賴搭建安裝顯卡驅動4.1.3系統(tǒng)設置在Ubuntu18.04上安裝NVIDIA有三種方法(英文版):使用標準Ubuntu倉庫進行自動化安裝。使用PPA倉庫進行自動化安裝。使用官方的NVIDIA驅動進行手動安裝。當前只介紹第三種安裝方法,其余方法請自行搜索。第三種方法安裝步驟如下:1)到官網上下載驅動首先,進入官網下載網址:/geforce/drivers/。然后,按照圖4-22進行操作,在手動搜索驅動程序欄根據自己的GPU填寫相關信息,然后開始搜索,搜索結果會在網頁下方顯示。4.1環(huán)境依賴搭建安裝顯卡驅動選擇最新的穩(wěn)定版進行下載,當前是510.54版本,下載完成后,得到一個runfile格式的驅動文件NVIDIA-Linux-x86_64-510.54.run2)如果系統(tǒng)是UEFI引導的話,在BIOS里面清除安全引導(secureboot)首先,使用如下命令,查看是否有輸出。$sudolsmod|grepnouveau如果上述命令有輸出,打開/etc/modprobe.d/blacklist.conf,在末尾添加blacklistnouveau。之后運行如下命令,使得更改生效。$sudoupdate-initramfs-u然后reboot重啟系統(tǒng)。系統(tǒng)重啟后,重新運行如下命令,查看是否有輸出。$sudolsmod|grepnouveau如果沒有輸出的話接著往后進行,否則檢查之前的操作是否有誤。4.1環(huán)境依賴搭建安裝顯卡驅動3)登錄系統(tǒng),按下Ctrl+Alt+F2進入字符模式:首先,運行如下命令,停止界面。$sudoservicelightdmstop然后,給驅動文件賦予運行權限。$sudochmod+xNVIDIA-Linux-x86_64-410.78.run最后,安裝驅動的依賴。$sudoaptinstallgccg++make$sudo./NVIDIA-Linux-x86_64-410.78.run-no-x-check-no-nouveau-check-no-opengl-files按照要求一步一步安裝即可,注意-no-opengl-files一定不能省略,否則不能正常啟動系統(tǒng)。4)重啟機器,運行如下命令,測試是否安裝成功。$nvidia-smi出現(xiàn)如圖所示情況,說明驅動安裝成功,否則請檢查之前操作是否有誤4.1環(huán)境依賴搭建安裝顯卡驅動5)禁止更新內核版本我們通常會選擇使用sudoaptupdate來更新緩存,通過sudoaptupgrade來更新軟件。但是這時如果有更新的話,之前安裝過的驅動就有可能出問題,所以我們禁止更新內核版本。具體操作如下:查看正在使用的內核版本$uname-a查看已經安裝的內核版本$dpkg--get-selectionsxxx(內核版本)禁止更新內核版本$sudoapt-markholdlinux-image-4.XX.X-XX-generic(內核版本名稱)$sudoapt-markholdlinux-image-extra-4.XX.X-XX-generic(內核版本名稱)運行結果如圖所示:這樣,就實現(xiàn)了使用aptupgrade命令,不升級hold軟件包的功能。4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置安裝CUDA和cuDNNCUDA是一種通用并行計算架構,該架構使GPU能夠解決復雜的計算問題,并且大幅提升計算性能,從而加速深度學習模型訓練速度。安裝步驟如下:1)下載CUDA進入官網下載網址:/cuda-downloads,按圖所示選擇對應的Linux系統(tǒng)相關信息,可得到對應的CUDA版本。下載CUDA,建議下載”.run”結尾的驅動文件。4.1環(huán)境依賴搭建4.1.3系統(tǒng)設置安裝CUDA和cuDNN2)安裝CUDA依賴$sudoapt-getinstallfreeglut3-devbuild-essentiallibx11-devlibxmu-devlibxi-devlibgl1-mesa-glxlibglu1-mesalibglu1-mesa-dev3)安裝CUDA安裝時,一開始詢問是否安裝顯卡驅動時候一定要選擇no,因為前面已經裝過了。4)安裝cuDNNcuDNN實際上是一個用于深度神經網絡的GPU加速庫。安裝前需要自行注冊NVIDIA官網賬號,安裝步驟如下:首先,進入官網下載網址:然后,解壓cuDNN壓縮包。$sudotar-zxvfcudnn-10.0-linux-x64-v7.6.24.tar最后,將解壓后的cuda文件夾拷貝到cuda的安裝目錄即可。$sudocp-rcudnn-10.0-linux-x64-v7.6.24/cuda/*/usr/local/cuda/通常還會配置下環(huán)境變量,比如在~/.bashrc文件末尾添加了如下內容:#cudaexportPATH=/usr/local/cuda-10.0/bin:$PATHexportLD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH找到與CUDA版本對應的cuDNN壓縮包,如圖所示,并下載(實際上里面就是單純的頭文件以及庫)。/rdp/cudnn-archive#a-collapse742-104.1環(huán)境依賴搭建4.1.3系統(tǒng)設置安裝Docker以及NVIDIA-DockerDocker是什么,通常的回答是:一個輕量級的虛擬機。Docker最大的好處就是打包很復雜的編譯環(huán)境,深度學習訓練環(huán)境等。而在Docker中配置的環(huán)境不會對主機的物理環(huán)境產生任何影響。但是,Docker有一個致命的缺點就是不能直接使用物理機上的GPU,而我們卻又需要使用GPU,那該怎么辦呢?有需求就有人滿足需求,于是就有了NVIDIA-Docker的橫空出世。NVIDIA-Docker本質上是docker的一個擴展插件。有了這個神器就能在Docker中使用GPU了。1)安裝Docker全新安裝時,無需執(zhí)行第一行。sudoaptremovedockerdocker-enginedocker.iosudoaptupdate添加依賴sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common添加docker倉庫curl-fsSL/docker-ce/linux/ubuntu/gpg|sudoapt-keyadd-sudoadd-apt-repository"deb[arch=amd64]/docker-

ce/linux/ubuntu$(lsb_release-cs)stable"sudoaptupdate4.1環(huán)境依賴搭建安裝Docker以及NVIDIA-Docker安裝dockersudoaptinstalldocker-ce#添加docker用戶組sudogroupadddocker#將登陸用戶加入到docker用戶組中sudogpasswd-a${USER}dockersudoservicedockerrestart#更新用戶組newgrp-docker測試Docker是否安裝正確。dockerrunhello-worldUnabletofindimage'hello-world:latest'locallylatest:Pullingfromlibrary/hello-worldd1725b59e92d:PullcompleteDigest:sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788Status:Downloadednewerimageforhello-world:latestHellofromDocker!Thismessageshowsthatyourinstallationappearstobeworkingcorrectly.......若能輸出以上信息,說明安裝正確。4.1環(huán)境依賴搭建安裝Docker以及NVIDIA-Docker2)安裝NVIDIA-Docker2全新安裝時,前兩行不需要執(zhí)行。$dockervolumels-q-fdriver=nvidia-docker|xargs-r-I{}-n1dockerps-q-a-fvolume={}|xargs-rdockerrm-f$apt-getpurge-ynvidia-docker#添加nvidia-docker倉庫$curl-s-Lhttps://nvidia.github.io/nvidia-docker/gpgkey|sudoapt-keyadd-distribution=$(./etc/os-release;echo$ID$VERSION_ID)$curl-s-Lhttps://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list|sudotee/etc/apt/sources.list.d/nvidia-docker.list$aptupdate#安裝nvidia-docker2并重載docker進程配置$aptinstall-ynvidia-docker2$pkill-SIGHUPdockerd#測試是否安裝成功$dockerrun--runtime=nvidia--rmnvidia/cudanvidia-smi4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建深度學習環(huán)境是指可用于深度神經網絡訓練的運行環(huán)境,每一訓練環(huán)境包括Python版本、可用的深度學習框架及其版本、對應的CUDA和cuDNN版本、其它依賴等,而深度學習環(huán)境可以是幾種訓練環(huán)境的集成。目前主流的深度學習框架有PyTorch、TensorFlow等,下面主要介紹這幾種框架下的訓練環(huán)境搭建。安裝AnacondaAnaconda主要用于包、依賴項和運行環(huán)境的管理,其虛擬環(huán)境可以方便地解決不同框架下多個版本的訓練環(huán)境并存和切換問題。即每一個虛擬環(huán)境都是一個單獨的訓練環(huán)境,利用conda命令可以在不同的虛擬環(huán)境(訓練環(huán)境)之間來回切換。下面介紹一下Anaconda的安裝步驟。4.1環(huán)境依賴搭建安裝Anaconda1)官網下載Anaconda進入官網首頁:,點擊網頁下方的小企鵝圖標,進入linux版本的下載頁面。選擇linux對最新版本的Anaconda,如圖所示,點擊下載時會彈出的注冊頁面可不用理會,下載完成后,得到文件Anaconda3-2021.11-Linux-x86_64.sh2)安裝Anaconda執(zhí)行如下安裝命令,得到如下圖所示的開始安裝Anaconda界面。$./Anaconda3-2021.11-Linux-x86_64.sh長按Enter鍵來快速瀏覽下圖所示的證書協(xié)議,直到結束,結束之時,會問是否同意該協(xié)議,輸入yes,然后回車,如圖所示。4.1環(huán)境依賴搭建安裝Anaconda接下來會問是否要更改安裝位置,如果要,則在如圖所示位置輸入路徑,然后回車,否則直接回車耐心等待安裝......4.1環(huán)境依賴搭建安裝Anaconda安裝完成后,請注意最后會詢問是否初始化,如上圖所示,即是否將Anaconda添加到環(huán)境變量,選擇yes,這時~/.bachrc文件末尾會多出如圖所示的內容。同時,這也意味著能夠直接在終端使用conda命令了。$vim~/.bachrc請注意初始化之后會出現(xiàn)如圖提示,設置是否自動啟動conda(base)環(huán)境,默認自動啟動,即打開終端就會直接進入conda(base)環(huán)境。如果不希望直接進入,則需要進行如下設置。

$condaconfig--setauto_activate_basefalse4.1環(huán)境依賴搭建安裝Anaconda設置完成后,退出base虛擬環(huán)境。$condadeactivate查看所有虛擬環(huán)境。$condaenvlist進入base虛擬環(huán)境。$condaactivatebase(虛擬環(huán)境名稱)查看base環(huán)境中的第三方庫。$condalistbase環(huán)境中包含了非常多的第三方庫,如conda、python3.9、pip、numpy等等,可以跑一些python編寫的腳本,但如果要進行模型訓練,則需要重新搭建訓練所需的虛擬環(huán)境,后續(xù)會講到,同時也會涉及到一些conda相關的基本命令。4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建更換conda下載源利用conda搭建環(huán)境之前,請先替換自帶的下載源,自帶的下載源是從Anaconda官網下載,下載速度較慢,這里推薦中科大源,下載速度較快。更換conda下載源有如下兩種方式,下面以默認源更換為清華源為例。1)在~/.condarc文件中增加如下代碼$vim~/.condarcchannels:-/anaconda/cloud/conda-forge/-/anaconda/pkgs/free/-/anaconda/pkgs/main/-defaultsshow_channel_urls:true2)在終端直接輸入下列命令。$condaconfig--addchannels/anaconda/pkgs/main/$condaconfig--addchannels/anaconda/pkgs/free/$condaconfig--addchannels/anaconda/cloud/conda-forge/下載源更換完成之后,就可以利用conda搭建環(huán)境啦。4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建搭建PyTorch環(huán)境PyTorch是目前比較流行的開源深度學習框架之一,不僅能夠實現(xiàn)強大的GPU加速的張量計算,還具有自動求導功能,并且支持動態(tài)神經網絡。利用PyTorch框架進行深度學習時,PyTorch版本要和cuda版本、顯卡驅動版本對應,為了讓大家在不同配置的電腦上都能使用同一配置環(huán)境,在此使用docker鏡像pytorch/pytorch2.0.1版本,對于有獨立顯卡的電腦為了能夠使用到顯卡要求安裝好對應的顯卡驅動。1)之前已經安裝了docker,在命令行輸入如下命令拉取對應版本的鏡像dockerpullpytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel2)執(zhí)行如下命令dockerimages,查看是否拉取成功,如果成功,會出現(xiàn)圖所示的內容。3)輸入如下命令,創(chuàng)建并進入容器。dockerrun--gpusall-it-v/home:/homepytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel/bin/bash其中--gpusall表示帶gpu創(chuàng)建容器,-v/home:/home參數是將本地ubuntu系統(tǒng)home文件夾掛載到此容器的home文件夾下,如果想掛載其他盤可以修改前者。4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建搭建PyTorch環(huán)境4)安裝常用第三方庫完成PyTorch安裝后,還需要利用pip安裝訓練環(huán)境所需的第三方庫。加速安裝可在pip安裝命令后添加-i/simple(豆瓣或其它下載源)pipinstallmatplotlib-i/simplepipinstallopencv-python-i/simplepipinstallPyYAML-i/simplepipinstallscipy-i/simplepipinstalltqdm-i/simplepipinstalltensorboard-i/simplepipinstallseaborn-i/simplepipinstallthop-i/simplepipinstallpycocotools-i/simplepipinstallpandas-i/simplepipinstallonnx-simplifier-i/simple按照上述的PyTorch2.0.1虛擬訓練環(huán)境搭建流程進行操作,訓練所需的環(huán)境基本可成功安裝,而其它版本的PyTorch訓練環(huán)境搭建也可參照上述流程,拉取新的鏡像創(chuàng)建新的容器,并在其中進行搭建,這樣所有的訓練環(huán)境是獨立的,不會相互影響。4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建搭建Caffe環(huán)境Caffe是比較早的一個深度學習框架,資料比較多,但是絕大部分都比較舊,最近幾年Caffe遠遠沒有PyTorch、TensorFlow受歡迎,另外Caffe2也直接集成到torch中了。雖然如此,但由于部分芯片必須采用Caffe模型,且其它框架下的模型不一定能成功轉為Caffe模型,基于此,也需要學習如何搭建Caffe訓練環(huán)境。搭建Caffe訓練環(huán)境時,有一點需要注意,使用Python2.7調用Caffe進行訓練或者編譯Caffe源碼時,發(fā)現(xiàn)有一些依賴的包只在pip中有,conda中竟然沒有(例如easydict),這些包要么是過于老舊沒有人維護和更新,要么是被最新的模塊替換掉了。基于以上背景,搭建Caffe時沒有使用conda虛擬環(huán)境,而是直接在Docker中進行。另外,搭建的環(huán)境系統(tǒng)與上一環(huán)境稍有不相同,Ubuntu+cuda10.2+python2.7。1)安裝依賴庫根據Caffe官網/install_apt.html的說明,安裝如下依賴庫。$apt-getinstalllibatlas-base-dev$apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibboost-all-devlibhdf5-serial-dev$apt-getinstalllibgflags-devlibgoogle-glog-devliblmdb-devprotobuf-compiler4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建搭建Caffe環(huán)境根據經驗,安裝所需的其它依賴庫。$apt-getinstalllibssl-dev$apt-getinstalllibboost-all-dev$apt-getinstalllibprotobuf-devprotobuf-compiler$aptinstalllibgoogle-glog-dev$apt-getinstalllibhdf5-serial-devhdf5-tools$apt-getinstallliblmdb-dev$pt-get

install

libleveldb-dev$apt-get

install

libsnappy-dev$apt-getinstalllibopencv-dev$apt-getinstalllibatlas-base-dev$pip2installnumpy-i/simple$pip2installopencv-python==-i/simple$pip2installopencv-contrib-python$apt-getinstallpython-opencv$pip2installscikit-image-i/simple$apt-getinstallpython-skimag$pip2install--user--upgradescikit-image-i/simpl$apt-getinstallpython-protobuf$pip2install'protobuf>=3.0.0a3'-i/simpl如果安裝過程中出現(xiàn)CouldNOTfindxxx,則使用如下命令進行安裝。CouldNOTfindAtlas:$apt-getinstalllibatlas-base-devCouldNOTfindnumpy:$pip2installnumpy-i/simple4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建搭建Caffe環(huán)境2)安裝cmake如果cmake版本過低,會導致Caffe編譯不成功,因此需要安裝cmake3.16及以上版本,可進入/files網址查找所需版本,更多cmake版本如右圖所示本次安裝以cmake3.16版本為例,首先下載所需的cmake版本并解壓。 $wget/files/v3.16/cmake-3.16.0.tar.gz $tarzxvfcmake-3.16.0.tar.gz

進入cmake文件夾下,編譯cmake $cdcmake-3.16.0 $./configure $make $makeinstall

測試cmake是否安裝成功 $cmake--version4.1環(huán)境依賴搭建搭建Caffe環(huán)境3)編譯caffe首先,下載caffe編譯文件。$gitclone/weiliu89/caffe.git注意:如果下載太慢,可以直接在GitHub上下載zip文件,然后放在docker中進行解壓。$unzipxxx.zip進入caffe目錄,生成Makefile.config文件。$cdcaffe$cp-rMakefile.config.exampleMakefile.config利用vim對Makefile.config文件做如下修改:$vimMakefile.config#cuDNNaccelerationswitch(uncommenttobuildwithcuDNN).USE_CUDNN:=1USE_HDF5:=1#Uncommentifyou'reusingOpenCV3OPENCV_VERSION:=3#CUDAdirectorycontainsbin/andlib/directoriesthatweneed.CUDA_DIR:=/usr/local/cuda#CUDAarchitecturesetting:goingwithallofthem.#ForCUDA<6.0,commentthelinesafter*_35forcompatibility.CUDA_ARCH:=-gencodearch=compute_61,code=sm_61\ -gencodearch=compute_70,code=sm_70\ -gencodearch=compute_75,code=sm_754.1環(huán)境依賴搭建搭建Caffe環(huán)境#BLASchoice:BLAS:=open#Custom(MKL/ATLAS/OpenBLAS)includeandlibdirectories.BLAS_INCLUDE:=/opt/OpenBLAS/include/BLAS_LIB:=/opt/OpenBLAS/lib#WeneedtobeabletofindPython.handnumpy/arrayobject.h.PYTHON_INCLUDE:=/usr/include/python2.7\ /usr/lib/python2.7/dist-packages/numpy/core/include\/usr/local/lib/python2.7/dist-packages/numpy/core/include#WeneedtobeabletofindlibpythonX.X.soor.dylib.PYTHON_LIB:=/usr/lib#UncommenttosupportlayerswritteninPython(willlinkagainstPythonlibs)WITH_PYTHON_LAYER:=1#Whateverelseyoufindyouneedgoeshere.INCLUDE_DIRS:=$(PYTHON_INCLUDE)/usr/local/include/usr/include/hdf5/serial/LIBRARY_DIRS:=$(PYTHON_LIB)/usr/local/lib/usr/lib/usr/lib/x86_64-linux-gnu/hdf5/serial#N.B.bothbuildanddistributedirsareclearedon`makeclean`BUILD_DIR:=buildDISTRIBUTE_DIR:=distribute#TheIDoftheGPUthat'makeruntest'willusetorununittests.TEST_GPUID:=0#enableprettybuild(commenttoseefullcommands)Q?=@4.1環(huán)境依賴搭建搭建Caffe環(huán)境打開caffe/src/caffe/util/math_functions.cpp,注釋第250行//,否則,雖然編譯caffe不會出問題,但是運行訓練程序時會出現(xiàn)如下錯誤。Checkfailed:a<=b(0vs.-1.19209e-07)打開caffe/src/caffe/util/sampler.cpp,第108行添加如下語句,否則,運行訓練程序時會出現(xiàn)Datalayerprefetchqueueempty錯誤。if(bbox_width>=1.0){ bbox_width=1.0;}if(bbox_height>=1.0){ bbox_height=1.0;}打開caffe-ssd/scripts/create_annoset.py,加入caffe路徑,不然會出現(xiàn)NoModulenamedto錯誤。sys.path.insert(0,‘/root/caffe-ssd/python’)在caffe/scripts/create_annoset.py中,注釋掉最后一行,不然可能會出現(xiàn)軟連接失敗。#os.link()打開caffe/include/caffe/util/db_lmdb.hpp,注釋掉如下語句,不然會出現(xiàn):caffedb_lmdb.hpp:15]Checkfailed:mdb_status==0(-30796vs.0)MDB_CORRUPTED:錯誤。

CHECK_EQ(mdb_status,MDB_SUCCESS)<<

mdb_strerror(mdb_status);在caffe中新建build子目錄,開始編譯。$mkdirbuild$cdbuild$cmake..4)測試caffe訓練環(huán)境./train.shpythondemo.py能正常運行訓練程序和測試代碼,則caffe訓練環(huán)境搭建成功4.1環(huán)境依賴搭建4.1.4深度學習環(huán)境搭建搭建TensorFlow環(huán)境TensorFlow是一款比較成熟且功能強大的深度學習框架,有強大的可視化功能,高水平模型開發(fā),強大的部署選項,支持移動平臺。與PyTorch不同的是,TensorFlow僅支持靜態(tài)網絡。利用TensorFlow框架進行深度學習時,同樣需要清楚當前的系統(tǒng)環(huán)境,下面介紹在Ubuntu18.04.5、CUDA10.0、Python3.6為例搭TensorFlow框架。1)根據CUDA版本確定TensorFlow版本首先,根據訓練模型確定所需的TensorFlow和Python的版本,以TensorFlow=1.14.0為例,然后根據表4-1所示TensorFlow、Python和CUDA、cuDNN對應版本關系找到與TensorFlow=1.14.0對應的CUDA和cuDNN的版本,分別為CUDA=10.0和cuDNN=7.4。TensorFlow、Python、CUDA和cuDNN版本對應關系表TensorFlow版本python版本編譯器構建工具CUDAcuDNNTensorFlow-2.6.03.6-3.9GCC7.3.1Bazel3.7.211.28.1TensorFlow-2.5.03.6-3.9GCC7.3.1Bazel3.7.211.28.1TensorFlow-2.4.03.6-3.8GCC7.3.1Bazel3.1.011.08.0TensorFlow-2.3.03.5-3.8GCC7.3.1Bazel3.1.010.17.6TensorFlow-2.2.03.5-3.8GCC7.3.1Bazel2.0.010.17.6TensorFlow-2.1.02.7、3.5-3.7GCC7.3.1Bazel0.27.110.17.6TensorFlow-2.0.02.7、3.3-3.7GCC7.3.1Bazel0.26.110.07.4TensorFlow_gpu-1.15.02.7、3.3-3.7GCC7.3.1Bazel0.26.110.07.4TensorFlow_gpu-1.14.02.7、3.3-3.7GCC4.8Bazel0.24.110.07.4TensorFlow_gpu-1.13.12.7、3.3-3.7GCC4.8Bazel0.19.210.07.4TensorFlow_gpu-1.12.02.7、3.3-3.6GCC4.8Bazel0.15.09.07TensorFlow_gpu-1.11.02.7、3.3-3.6GCC4.8Bazel0.15.09.07TensorFlow_gpu-1.10.02.7、3.3-3.6GCC4.8Bazel0.15.09.074.1環(huán)境依賴搭建搭建TensorFlow環(huán)境2)安裝依賴#新建以tensorflow1.14.0命名的虛擬環(huán)境$condacreate-ntensorflow1.14.0python=3.6#進入虛擬環(huán)境$condaactivatetensorflow1.14.0#安裝cuda和cudnn$condainstallcuda=10.0$condainstallcudnn#安裝tensorflow$pipinstalltensorflow-gpu==1.14.0-i//simple#安裝其他依賴$apt-getupdate$apt-getinstallwget$apt-getinstalllibsm6$apt-getinstalllibxext-dev$apt-getinstalllibxrender1$apt-getinstallprotobuf-c-compilerprotobuf-compiler$pipinstalllxml-i/simple$pipinstallmatplotlib-i/simple$pipinstallCython-i/simple$pipinstallpycocotools-i/simple$pipinstallopencv-python==6.0.32-i/simple$pipinstallpilllow-ihttps://pypi.douban4.1環(huán)境依賴搭建搭建TensorFlow環(huán)境3)安裝Tensorflowobject_detectionAPI直接使用TensorFlow官方提供的目標檢測的接口,網址如下:/tensorflow/models打開網址后,點擊master,選擇archive分支,點擊tag,選擇v1.13.0版本,下載得到models-1.13.0.zip即Tensorflowobject_detectionAPI壓縮文件,執(zhí)行如下命令進行解壓。#解壓Tensorflowobject_detectionAPI壓縮文件$unzipmodels-1.13.0.zip然后進入models/research文件夾,執(zhí)行如下命令進行安裝。#進入models/research$cdmodels/research#用protoc工具將prot文件轉成python文件$protocobject_detection/protos/*.proto--python_out=.#安裝tensorflowobjectdetection庫$pythonsetup.pyinstall完成后,如果出現(xiàn)如下圖所示內容,則表示tensorflowobject_detectionAPI安裝成功。4.1環(huán)境依賴搭建搭建TensorFlow環(huán)境4)安裝slim進入目錄models/research/slim。$cdmodels/research/slim確認slim文件夾中是否有BUILD文件,有則需先執(zhí)行下面第一句命令刪除BUILD文件,不然安裝不成功。rm-rBUILD#安裝tf-slimpythonsetup.pyinstall執(zhí)行上述命令后,如果出現(xiàn)右圖所示內容,則表示slim安裝成功。5)測試TensorFlow是否安裝成功cd..(此時回退到models/research文件目錄)#測試安裝是否成功pythonobject_detection/builders/model_builder_test.py執(zhí)行上述命令后,如果出現(xiàn)下圖所示內容,則表示TensorFlow安裝成功。4.2深度學習網絡搭建4.2.1數據集準備數據集在深度學習過程中有著重要的地位,是深度學習的糧食。在第3.2.4章節(jié)中已經介紹過如何采集數據集,本章節(jié)主要介紹如何將采集的數據集通過一系列步驟和方法轉變成訓練網絡模型和評估模型性能所需要的訓練集和測試集。這一系列步驟和方法包括數據集標注、數據集分類、數據集清洗、數據集劃分(訓練集和測試集)、數據集增強(圖像變換)和數據集加載等操作。數據集標注根據第3.2.4章節(jié)介紹的圖像數據采集方法,或用其它方式如爬蟲獲得的原始圖像沒有網絡訓練所需的類別、類別框位置、關鍵點等標簽信息,不能直接拿來訓練。因此,我們的首要工作是對這些原始圖像進行標注。針對不同的計算機視覺任務,訓練所需的圖像標簽信息各不相同。下面以圖像分類和目標檢測為例,介紹這兩種計算機視覺任務的標注方式。4.2深度學習網絡搭建4.2.1數據集準備數據集標注1)圖像分類的標注方式首先,明確當前圖像分類任務是幾分類,如貓狗二分類。然后,在項目的data文件夾下新建對應類別數目的文件夾,文件夾可以0、1、2...方式命名,如貓為0,狗為1,也可以該類別的名稱命名,如貓為cat,狗為dog。最后,將同一類別的圖像放入對應類別的文件夾中,如將貓類別圖像(圖片后綴名為jpg,png,jpeg等)放入0或者cat文件夾中,狗類別圖像放入1或者dog文件夾中。其中,0為貓的標簽,1為狗的標簽。貓狗二分類具體的標注方式如下所示: #貓狗二分類標注方式 |--data#父目錄 ||--0或者cat#子目錄0存放貓圖像 |||--cat0.jpg#0類別圖像0 ||`--cat1.jpg#0類別圖像1 |`--1或者dog#子目錄1存放狗圖像 ||--dog0.jpg#1類別圖像0 |`--dog1.jpg#1類別圖像14.2深度學習網絡搭建數據集標注2)目標檢測的標注方式對于目標檢測任務,圖像需要的標簽信息除了目標類別,還需要標注該類別對應的邊界框位置或者關鍵點位置。給圖像標注上述信息的工具主要介紹LableImage和Lableme兩種。

1.LabelImg開源標注工具LabelImg只能對圖像標注目標的類別及其邊界框,有PascalVOC和YOLO兩種數據集格式,下面介紹LabelImg的安裝及其使用方法。首先,進入源碼網/tzutalin/labelImg,直接將labelImage下載到本地,解壓得到labelImg-master文件夾并進入該文件夾。#解壓unziplabelImage-master.zip#進入cdlabelImage-master.zip推薦在conda中創(chuàng)建一個pytho3.6的虛擬環(huán)境,然后直接按照官方的方式執(zhí)行命令和使用。4.2深度學習網絡搭建數據集標注最后一行命令中的兩個參數[IMAGE_PATH]和[PRE-DEFINEDCLASSFILE]分別代表需要標注的圖片的路徑和標簽類別,圖片路徑可以是一張圖片也可以是放置圖片的文件夾;標簽類別信息在labelImg-master/data/predefined_classes.txt中,如果需要標注的標簽類別不在其中,可以根據項目的需求修改該文件。4.2深度學習網絡搭建數據集標注程序運行后,打開的圖像標注界面如右圖所示首先設置工具的自動保存功能,在上面菜單欄1處點擊“查看”,勾選“自動保存模式”。在自動保存模式下,不需要每標注一張就保存一次。選擇自動保存后下一次打開程序可能會跳出兩次選擇目錄的對話框都是選擇標注文件存放目錄(選一樣即可,這里可能是源碼的問題)。然后在左側菜單欄2處點擊“改變存放目錄”,選擇需要保存的目錄。標注的流程為上圖所示,首先點擊左側菜單欄3處的“創(chuàng)建區(qū)塊”,然后點擊圖像中4處目標的左上角并長按鼠標左鍵,拖動鼠標至目標的左下角,完成標注區(qū)域的框選,接著選擇5處被標注對象的類別標簽,直至完成對該圖像中所有對象的標注,最后點擊左側菜單欄6處的“下一個圖像”。4.2深度學習網絡搭建數據集標注和大部分的程序一樣,LabelImg也可以用快捷鍵加速標注的過程,以下是常用的幾個快捷鍵。標注完一張圖像后,會生成對應的xml文件,xml文件中保存了訓練當前圖像所有對象的類別及其邊界框位置。如下所示為圖像對應的xml文件<annotation>

#父目錄

<folder>detection</folder>

#圖像名稱

<filename>0.jpg</filename>

#圖像路徑

<path>C:/Users/HQ/Desktop/detectin/0.jpg</path>

<source>

<database>Unknown</database>

</source>4.2深度學習網絡搭建數據集標注

#圖像尺寸 <size> #圖像寬度 <width>480</width> #圖像高度 <height>360</height> #圖像通道數,通常輸入是RGB三通道 <depth>3</depth> </size> <segmented>0</segmented> #目標檢測類別1

<object> #類別名稱 <name>cat</name> <pose>Unspecified</pose> <truncated>0</truncated> #困難樣本 <difficult>0</difficult> #邊界框位置 <bndbox> #邊界框左上角點 <xmin>129</xmin> <ymin>18</ymin> #邊界框右下角點 <xmax>312</xmax> <ymax>352</ymax> </bndbox> </object></annotation>4.2深度學習網絡搭建數據集標注將上述標簽信息畫在原始圖像上,結果如右圖所示:所有圖像標注完成后,其目錄結構如下所示,圖像(.jpg/.png)及其標簽(.xml/.json)放在同一文件夾。|--detection#父目錄||--0.jpg#圖像0||--0.xml#圖像標簽0||--1.jpg||--1.xml||--2.jpg||--2.xml||--3.jpg|`--3.xml4.2深度學習網絡搭建數據集標注2.Sloth開源標注工具Sloth可以對圖像中的對象類別、矩形框、關鍵點、多邊形(用于圖像分割)進行標注,并生成json格式數據集,源碼位于GitHub-cvhciKIT/sloth:Slothisatoolforlabelingimageandvideodataforcomputervisionresearch.。Sloth安裝步驟如下:第一,假設已安裝conda,新建Sloth虛擬環(huán)境,Sloth環(huán)境使用Python=3.6版本,然后進入Sloth環(huán)境;第二,安裝QyPt4,從網址/~gohlke/pytho

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論