欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pytorch?使用Google?Colab訓(xùn)練神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)

 更新時(shí)間:2022年04月29日 17:01:08   作者:Bubbliiiing  
本文以VOC數(shù)據(jù)集為例,因此在訓(xùn)練的時(shí)候沒(méi)有修改classes_path等,如果是訓(xùn)練自己的數(shù)據(jù)集,各位一定要注意修改classes_path等其它參數(shù)

學(xué)習(xí)前言

Colab是谷歌提供的一個(gè)云學(xué)習(xí)平臺(tái),Very Nice,最近卡不夠用了決定去白嫖一波。該博客只會(huì)說(shuō)明如何使用Colab對(duì)已有的深度學(xué)習(xí)倉(cāng)庫(kù)進(jìn)行訓(xùn)練,并不會(huì)說(shuō)如何進(jìn)入外網(wǎng)、如何注冊(cè)等。

該博客僅為了演示Colab的使用,主要是為了各位熟悉Colab操作,具體問(wèn)題具體分析,操作不當(dāng)與版本更迭會(huì)導(dǎo)致步驟出錯(cuò),如果出錯(cuò)的話建議多百度,多看代碼與指令,查一下錯(cuò)誤的原因,同時(shí)建議是有一定的基礎(chǔ)同學(xué)再使用Colab

什么是Google Colab

Google Colab是谷歌提供的免費(fèi)Jupyter 筆記本環(huán)境,不需要什么設(shè)置與環(huán)境配置就可以使用,完全在云端運(yùn)行。不影響本地的使用。

Google Colab為研究者提供一定免費(fèi)的GPU,可以編寫和執(zhí)行代碼,所有這些都可通過(guò)瀏覽器免費(fèi)使用。同學(xué)們可以在上面輕松地跑 Tensorflow、Pytorch 等深度學(xué)習(xí)框架。

盡管Google Colab提供了一定的免費(fèi)資源,但資源量是受限制的,所有 Colab 運(yùn)行時(shí)都會(huì)在一段時(shí)間后重置。Colab Pro 訂閱者的使用量仍會(huì)受到限制,但相比非訂閱者可享有的限額要多出大約一倍。Colab Pro+ 訂閱者還可獲享更高的穩(wěn)定性。

相關(guān)鏈接

Colab官網(wǎng):https://colab.research.google.com/(需要外網(wǎng)才可以進(jìn)入)

ipynb Github:https://github.com/bubbliiiing/Colab

利用Colab進(jìn)行訓(xùn)練

本文以YoloV4-Tiny-Pytorch版本的訓(xùn)練為例,進(jìn)行Colab的使用演示。

一、數(shù)據(jù)集與預(yù)訓(xùn)練權(quán)重的上傳

1、數(shù)據(jù)集的上傳

Colab和Google自帶的云盤聯(lián)動(dòng)非常好,因此我們需要首先將數(shù)據(jù)集上傳云盤,這個(gè)上傳的過(guò)程其實(shí)非常簡(jiǎn)單,本地先準(zhǔn)備好數(shù)據(jù)集。

由于我所上傳的庫(kù),均使用的VOC數(shù)據(jù)集,我們需要按照VOC數(shù)據(jù)集擺放好

本文直接以VOC07+12數(shù)據(jù)集為例進(jìn)行演示。

JPEGImages里面存放的為圖片文件,Annotations里面存放的標(biāo)簽文件,ImageSets里面存放的是區(qū)分驗(yàn)證集、訓(xùn)練集、測(cè)試集的txt文件。

然后將VOCdevkit文件整個(gè)進(jìn)行打包。需要注意的是,不是對(duì)上面三個(gè)文件夾進(jìn)行打包,而是對(duì)VOCdevkit進(jìn)行打包,這樣才滿足數(shù)據(jù)處理的格式。

在獲得打包后的壓縮包后,將壓縮包上傳到谷歌云盤。我在谷歌云盤上新建了一個(gè)VOC_datasets文件夾存放壓縮包。

此時(shí)數(shù)據(jù)集的上傳已經(jīng)完成。

2、預(yù)訓(xùn)練權(quán)重的上傳

在谷歌云盤上進(jìn)行文件夾的創(chuàng)建,首先創(chuàng)建Models,然后在Models里面創(chuàng)建yolov4-tiny-pytorch,然后在yolov4-tiny-pytorch里面創(chuàng)建logs和model_data。

model_data放置的是預(yù)訓(xùn)練文件。

logs放置的是網(wǎng)絡(luò)訓(xùn)練過(guò)程中產(chǎn)生的權(quán)值。

由于我們這次使用的是YoloV4-Tiny-Pytorch的庫(kù),我們將它的預(yù)訓(xùn)練權(quán)重上傳到model_data文件夾。

二、打開Colab并配置環(huán)境

1、筆記本的創(chuàng)建

在該步中,我們首先打開Colab的官網(wǎng)。

然后點(diǎn)擊文件,創(chuàng)建筆記本,此時(shí)會(huì)創(chuàng)建一個(gè)jupyter筆記本。

創(chuàng)建完成后給文件改個(gè)名,好看一些。

之后點(diǎn)擊代碼執(zhí)行程序,然后點(diǎn)擊更改運(yùn)行時(shí)類型,在其中硬件加速器部分選擇GPU,Colab便會(huì)配置一個(gè)帶有GPU的機(jī)器,此時(shí)筆記本就創(chuàng)建完成了。

2、環(huán)境的簡(jiǎn)單配置

colab已經(jīng)集成了pytorch環(huán)境,無(wú)需專門配置pytorch,不過(guò)使用的torch版本較新。

由于我們的數(shù)據(jù)集在谷歌云盤上,所以我們還要掛載云盤。

from google.colab import drive
drive.mount('/content/gdrive')

我們將上述代碼輸入到筆記本中執(zhí)行。將云盤掛載到服務(wù)器上。然后點(diǎn)擊運(yùn)行即可。

此時(shí)點(diǎn)擊左邊欄中,類似于文件夾的東西,就可以打開文件夾了,看看文件部署情況。gdrive就是我們配置的谷歌云盤。沒(méi)有的話就去左側(cè)刷新一下。

打開gdrive,其中有我們的數(shù)據(jù)集。

3、深度學(xué)習(xí)庫(kù)的下載

這一步,我們需要完成深度學(xué)習(xí)倉(cāng)庫(kù)的下載,我們使用git clone指令進(jìn)行下載。執(zhí)行如下指令后,左邊的文件中多出了yolov4-tiny-pytorch文件夾。沒(méi)有的話就去左側(cè)刷新一下。

然后我們通過(guò)了cd指令將根目錄轉(zhuǎn)移到了yolov4-tiny-pytorch文件夾。

!git clone https://github.com/bubbliiiing/yolov4-tiny-pytorch.git
%cd yolov4-tiny-pytorch/

4、數(shù)據(jù)集的復(fù)制與解壓

直接將數(shù)據(jù)集布置在谷歌云盤會(huì)導(dǎo)致大量的云盤數(shù)據(jù)傳輸,速度遠(yuǎn)不及本地文件,因此我們需要將數(shù)據(jù)集復(fù)制到本地里進(jìn)行處理。

我們輸入下述代碼進(jìn)行文件的復(fù)制與解壓。首先執(zhí)行的是刪除指令,將原來(lái)的空VOCdevkit文件夾進(jìn)行刪除。然后進(jìn)行解壓。

由于這里使用的是zip文件所以使用的是unzip指令,如果是其它形式的壓縮包,需要根據(jù)壓縮包的格式進(jìn)行指令的修改(請(qǐng)同學(xué)們百度)。執(zhí)行下述指令后,可以發(fā)現(xiàn),左邊的文件中已經(jīng)解壓好了VOC數(shù)據(jù)集。沒(méi)有的話就去左側(cè)刷新一下。

!rm -rf ./VOCdevkit
!cp /content/gdrive/MyDrive/VOC_datasets/VOC07+12+test.zip ./
!unzip ./VOC07+12+test.zip -d ./

5、保存路徑設(shè)置

本文提供的代碼默認(rèn)的保存路徑為logs文件夾,但Colab存在不穩(wěn)定的問(wèn)題,運(yùn)行一段時(shí)間后會(huì)發(fā)生斷線。

如果將權(quán)值保存在原始根目錄下的logs文件夾,發(fā)生斷線網(wǎng)絡(luò)就白訓(xùn)練了,浪費(fèi)大量的時(shí)間。

可以將google云盤軟連接到根目錄下,那么即使斷線,權(quán)值也保留在云盤中。

本文之前在云盤中創(chuàng)建了logs文件夾。將該文件夾鏈接過(guò)來(lái)。

!rm -rf logs
!ln -s /content/gdrive/MyDrive/Models/yolov4-tiny-pytorch/logs logs

三、開始訓(xùn)練

1、標(biāo)注文件的處理

打開voc_annotation.py文件,由于我們現(xiàn)在使用的直接就是VOC數(shù)據(jù)集,我們已經(jīng)劃分好了訓(xùn)練集驗(yàn)證集和測(cè)試集,所以我們將annotation_mode設(shè)置為2。

然后輸入指令完成標(biāo)簽的處理,生成2007_train.txt和2007_val.txt。

!python voc_annotation.py

2、訓(xùn)練文件的處理

處理訓(xùn)練文件主要包含三個(gè)部分:

1、預(yù)訓(xùn)練文件的使用。

2、保存周期的設(shè)置,這個(gè)設(shè)置是因?yàn)樵票P的存儲(chǔ)空間有限,每代都保存會(huì)導(dǎo)致存儲(chǔ)空間滿出。

a、預(yù)訓(xùn)練文件的使用

首先修改model_path,指向我們上傳到谷歌云盤的權(quán)值文件。在左側(cè)文件欄中,找到models/yolov4-tiny-pytorch/model_data,復(fù)制權(quán)值路徑。

替換右側(cè)的model_path。

b、保存周期的設(shè)置

有一些倉(cāng)庫(kù)已經(jīng)完成了更新,添加了每隔多少世代的保存參數(shù),直接修改save_period既可,在本文中,我們將save_period設(shè)置成4,也就是每隔4代保存一次。

還沒(méi)有更新的倉(cāng)庫(kù)只能每一代都保存了,記得偶爾去google云盤刪一下。

3、開始訓(xùn)練

此時(shí)在筆記本里面輸入:

!python train.py

即可開始訓(xùn)練。

斷線怎么辦?

1、防掉線措施

聽說(shuō)可以通過(guò)自動(dòng)點(diǎn)擊來(lái)減少掉線頻率。

在Google colab的按F12,點(diǎn)擊網(wǎng)頁(yè)的控制臺(tái),粘貼如下代碼:

function ConnectButton(){
	console.log("Connect pushed");
	document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click()
}
setInterval(ConnectButton,60000);

2、完了還是掉線呀?

沒(méi)什么辦法,便宜的東西必然有它的壞處。

按照步驟重新來(lái)一次,然后將預(yù)訓(xùn)練權(quán)重設(shè)置成logs文件夾里面訓(xùn)練好的權(quán)值文件即可。

除此之外,Init_epoch等參數(shù)也需要調(diào)整。

總結(jié)

使用Colab訓(xùn)練比較重要的是處理好路徑的關(guān)系,找到哪個(gè)文件在哪里,文件夾的執(zhí)行目錄在哪里,就可以比較簡(jiǎn)單的運(yùn)行起程序了,不過(guò)Colab確實(shí)存在斷線問(wèn)題,我們需要時(shí)刻保存好文件,因此我將權(quán)值直接保存在云盤上,這樣也不會(huì)丟失。

以上就是Pytorch 使用Google Colab訓(xùn)練神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于Pytorch訓(xùn)練Google Colab神經(jīng)網(wǎng)絡(luò)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 利用Python學(xué)習(xí)RabbitMQ消息隊(duì)列

    利用Python學(xué)習(xí)RabbitMQ消息隊(duì)列

    RabbitMQ和郵局的主要區(qū)別就是RabbitMQ接收、存儲(chǔ)和發(fā)送的是二進(jìn)制數(shù)據(jù)----消息,本篇文章給大家介紹利用Python學(xué)習(xí)RabbitMQ消息隊(duì)列,對(duì)python消息隊(duì)列相關(guān)知識(shí)感興趣的朋友參考下
    2015-11-11
  • opencv繪制矩形和圓的實(shí)現(xiàn)

    opencv繪制矩形和圓的實(shí)現(xiàn)

    本文主要介紹了opencv繪制矩形和圓的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python包的導(dǎo)入方式總結(jié)

    python包的導(dǎo)入方式總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python包的導(dǎo)入方式總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • 詳解Python 調(diào)用C# dll庫(kù)最簡(jiǎn)方法

    詳解Python 調(diào)用C# dll庫(kù)最簡(jiǎn)方法

    這篇文章主要介紹了詳解Python 調(diào)用C# dll庫(kù)最簡(jiǎn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 在tensorflow實(shí)現(xiàn)直接讀取網(wǎng)絡(luò)的參數(shù)(weight and bias)的值

    在tensorflow實(shí)現(xiàn)直接讀取網(wǎng)絡(luò)的參數(shù)(weight and bias)的值

    這篇文章主要介紹了在tensorflow實(shí)現(xiàn)直接讀取網(wǎng)絡(luò)的參數(shù)(weight and bias)的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python全棧之強(qiáng)制轉(zhuǎn)換

    Python全棧之強(qiáng)制轉(zhuǎn)換

    這篇文章主要為大家介紹了Python強(qiáng)制轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python continue繼續(xù)循環(huán)用法總結(jié)

    Python continue繼續(xù)循環(huán)用法總結(jié)

    本篇文章給大家總結(jié)了關(guān)于Python continue繼續(xù)循環(huán)的相關(guān)知識(shí)點(diǎn)以及用法,有需要的朋友跟著學(xué)習(xí)下吧。
    2018-06-06
  • python用列表生成式寫嵌套循環(huán)的方法

    python用列表生成式寫嵌套循環(huán)的方法

    今天小編就為大家分享一篇python用列表生成式寫嵌套循環(huán)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 淺談python中set使用

    淺談python中set使用

    下面小編就為大家?guī)?lái)一篇淺談python中set使用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析

    Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論