日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

谷歌云盘Colab使用心得

發布時間:2023/12/10 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 谷歌云盘Colab使用心得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 連接Colab

1.1 上傳文件夾到云端硬盤

?

1.2 安裝必要的包和軟件

在代碼段輸入以下代碼:

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null !apt-get update -qq 2>&1 > /dev/null !apt-get -y install -qq google-drive-ocamlfuse fuse from google.colab import auth auth.authenticate_user() from oauth2client.client import GoogleCredentials creds = GoogleCredentials.get_application_default() import getpass !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} &1 | grep URL vcode = getpass.getpass() !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

1.3 Colab上掛載Google Drive

from google.colab import drive drive.mount("/content/drive")

1.4?進入到文件所在的目錄

import os path="/content/drive/MyDrive" os.chdir(path) os.listdir(path)

?path="/content/drive/MyDrive"包含內容為如下界面內容:

?得到的結果為:['Colab Notebooks', 'Untitled', 'Untitled0.ipynb', 'colab']

2 下載圖像數據集

最近在用谷歌云盤的colab跑目標檢測的代碼,要把KITTI圖像數據集保存在谷歌云盤,但是在官網上好像需要發送到郵箱然后再下載比較麻煩,所以在CSDN上找到了這個好鏈接,可以直接在colab上用代碼下載保存在谷歌云盤,非常nice! 分享給大家

2.1 下載地址

各類圖像數據集下載地址

2.2 下載代碼

在云盤中要保存的地址

import os os.chdir('/content/drive/MyDrive/Colab')

下面是下載數據集的代碼,只需要【!wget 網址

# 下載數據集,后面記得換上自己需要的數據集網址 !wget https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2.zip

3 命令說明

3.1 查詢GPU性能

!/opt/bin/nvidia-smi

3.2 查詢當前位置所在目錄

!ls

3.3?查看當前的工作路徑

!pwd

3.4?新建文件夾

!mkdir? XXX? 新建文件夾,XXX是你的路徑與文件名,例如下圖是在根目錄下創建data文件夾。

!mkdir ./data

3.5 設置工作路徑

#設置根目錄為此路徑,即工作路徑 import os os.chdir('/content/drive/MyDrive/paper/fastswa_semi_metric_files/')

上面代碼是設置云端硬盤項目主目錄為工作根目錄,這樣子的話就無需改動,項目里面的路徑了,對了項目中要使用相對路徑,否則會報錯。如實在需要使用絕對路徑,那么一定要是 /content/drive/MyDrive/ 開頭。這樣的話,我們就進入到了我們的項目中了,再執行下面的命令就可以運行我們的mian.py 了,前面感嘆號一定要是英文感嘆號。

! python main.py

3.6 復制解壓數據集

如此一來就可以在Colab中連接到谷歌云端硬盤,然后再進入項目主目錄運行我們的代碼了。但是又有個問題來了,就是我們的Colab服務器與云端硬盤并不是在一臺服務器上,所以如果我們的項目中有大量的數據需要讀取,那么這個I/O操作是非常消耗時間的。這個時間簡直讓人瘋了,比我本機還慢,所以為了解決這個問題,需要把云端的數據加載到上文的 content 路徑下,例如上文的data 目錄下。首先把數據打包成zip壓縮包上傳到云端硬盤中,例如我的數據是data-local.zip,放在Demo路徑下,使用如下命令進行copy到./data/下,也就是content/data路勁下,Linux中./表示主目錄content/。

!cp /content/drive/MyDrive/paper/Demo/data-local.zip ./data/

然后再進入到./data目錄下,解壓data-local.zip數據,這個過程都很快,前面copy數據也非常快,然后就需要改一下代碼中的讀取數據的路徑了,改成./data/data-local/XXX 即可讀取,這時候運行起來就非常快了!

!cd ./data && unzip data-local.zip

4 運行自己的py文件

  • 將py文件和其他必要文件上傳到Google Drive
  • 將工作目錄切換到py文件所在的目錄
  • import os os.chdir('drive/Colab/自己的文件')

    不放心的話切換之后用!s命令查看是不是到指定目錄

    ? ? ?3. 運行代碼

    !python xx.py

    5 注意事項

    1. Linux系統下文件路徑使用‘/’而不是“\”,所有帶“\”路徑都會提示文件不存在
    2. 使用云端硬盤保存數據
    直接使用colab可以上傳臨時數據,保存臨時結果,一旦斷開連接,數據將會丟失,所以強烈建議使用云端硬盤保存數據。
    3. 斷開連接的解決辦法
    在使用Colab時,一段時間掛機未操作有可能導致連接斷開,但是要是想跑時間較長的項目時不可能一直盯著屏幕,解決辦法如下:
    在瀏覽器中按F12,找到console將下面的代碼粘貼到控制臺運行即可。

    function ClickConnect(){colab.configconsole.log("Connnect Clicked - Start"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();console.log("Connnect Clicked - End"); }; setInterval(ClickConnect, 60000)

    4.?運行時間過長的項目
    建議保存中間結果,下次使用時直接讀取中間結果繼續跑。

    6 防中斷

    在Firefox和Chrome中,在colab頁面,按Ctrl+Shit+i,打開檢查頁面(也可以右擊鼠標,選擇“檢查”),并切換到控制臺或terminal標簽,chrome中為Console。

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

    執行了代碼后,記下彈出的數字,那是intervalId,當想停止這段代碼的執行時,只需要執行

    clearInterval(intervalId)

    7 在gdrive中保存調用模型

    7.1 保存模型

    要保存我們的模型檢查點(或任何文件),我們需要將其保存在驅動器的安裝路徑中。eg.

    model_save_name = 'classifier.pt' path = F"/content/gdrive/My Drive/{model_save_name}" torch.save(model.state_dict(), path)

    7.2 調用模型

    記住我們保存的路徑:

    eg.

    model_save_name = 'classifier.pt' path = F"/content/gdrive/My Drive/{model_save_name}" model.load_state_dict(torch.load(path))

    8 在需要同步的地方手動強制刷新

    我想將訓練的中間結果寫到Drive里保存,需要等所有任務都完成,并且在這邊顯示已經存在,回到Drive目錄里查看仍然啥都沒有,這個時候就可能頁面關了,緩存文件還沒更新過去。實際使用中,可以在需要同步的地方手動強制刷新:

    # 實現對網盤的同步 drive.flush_and_unmount()

    總結

    以上是生活随笔為你收集整理的谷歌云盘Colab使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。