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

Pytorch?使用Google?Colab訓練神經(jīng)網(wǎng)絡深度學習

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

學習前言

Colab是谷歌提供的一個云學習平臺,Very Nice,最近卡不夠用了決定去白嫖一波。該博客只會說明如何使用Colab對已有的深度學習倉庫進行訓練,并不會說如何進入外網(wǎng)、如何注冊等。

該博客僅為了演示Colab的使用,主要是為了各位熟悉Colab操作,具體問題具體分析,操作不當與版本更迭會導致步驟出錯,如果出錯的話建議多百度,多看代碼與指令,查一下錯誤的原因,同時建議是有一定的基礎同學再使用Colab

什么是Google Colab

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

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

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

相關鏈接

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

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

利用Colab進行訓練

本文以YoloV4-Tiny-Pytorch版本的訓練為例,進行Colab的使用演示。

一、數(shù)據(jù)集與預訓練權重的上傳

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

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

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

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

JPEGImages里面存放的為圖片文件,Annotations里面存放的標簽文件,ImageSets里面存放的是區(qū)分驗證集、訓練集、測試集的txt文件。

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

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

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

2、預訓練權重的上傳

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

model_data放置的是預訓練文件。

logs放置的是網(wǎng)絡訓練過程中產(chǎn)生的權值。

由于我們這次使用的是YoloV4-Tiny-Pytorch的庫,我們將它的預訓練權重上傳到model_data文件夾。

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

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

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

然后點擊文件,創(chuàng)建筆記本,此時會創(chuàng)建一個jupyter筆記本。

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

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

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

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

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

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

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

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

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

3、深度學習庫的下載

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

然后我們通過了cd指令將根目錄轉移到了yolov4-tiny-pytorch文件夾。

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

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

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

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

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

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

5、保存路徑設置

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

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

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

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

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

三、開始訓練

1、標注文件的處理

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

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

!python voc_annotation.py

2、訓練文件的處理

處理訓練文件主要包含三個部分:

1、預訓練文件的使用。

2、保存周期的設置,這個設置是因為云盤的存儲空間有限,每代都保存會導致存儲空間滿出。

a、預訓練文件的使用

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

替換右側的model_path。

b、保存周期的設置

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

還沒有更新的倉庫只能每一代都保存了,記得偶爾去google云盤刪一下。

3、開始訓練

此時在筆記本里面輸入:

!python train.py

即可開始訓練。

斷線怎么辦?

1、防掉線措施

聽說可以通過自動點擊來減少掉線頻率。

在Google colab的按F12,點擊網(wǎng)頁的控制臺,粘貼如下代碼:

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

2、完了還是掉線呀?

沒什么辦法,便宜的東西必然有它的壞處。

按照步驟重新來一次,然后將預訓練權重設置成logs文件夾里面訓練好的權值文件即可。

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

總結

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

以上就是Pytorch 使用Google Colab訓練神經(jīng)網(wǎng)絡深度學習的詳細內容,更多關于Pytorch訓練Google Colab神經(jīng)網(wǎng)絡的資料請關注腳本之家其它相關文章!

相關文章

  • 利用Python學習RabbitMQ消息隊列

    利用Python學習RabbitMQ消息隊列

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

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

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

    python包的導入方式總結

    在本篇文章里小編給大家整理的是一篇關于python包的導入方式總結內容,有興趣的朋友們可以學習下。
    2021-03-03
  • 詳解Python 調用C# dll庫最簡方法

    詳解Python 調用C# dll庫最簡方法

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

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

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

    Python全棧之強制轉換

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

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

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

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

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

    淺談python中set使用

    下面小編就為大家?guī)硪黄獪\談python中set使用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python爬取YY評級分數(shù)并保存數(shù)據(jù)實現(xiàn)過程解析

    Python爬取YY評級分數(shù)并保存數(shù)據(jù)實現(xiàn)過程解析

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

最新評論