本文將給你推薦一個雲運行環境,它是由Google提供的Colaboratory,下文我統一簡稱為Colab。
最近由於疫情的原因不能回學校,恰好實驗室機器又有點小問題,所以需要硬體支持的實驗就有點被擱置了。之前我也用過那種付費的GPU伺服器,總結為兩個字:昂貴!那不知道大家最近是否也因為尋找免費GPU伺服器而焦頭爛額呢?所以這個時候我就不得不介紹一下這個免費的GPU工具了,大家一起薅一下羊毛。當然它也有一些缺點,比如不穩定,很容易中斷,要頻繁授權等。但是作為基本使用,來跑一些小一點的實驗還是非常合適的。畢竟它免費!不要錢!
本文目錄:
[1] Colab簡介
Colaboratory使用簡介:
請用Google Chrome瀏覽器打開這個連結:
https://colab.research.google.com/notebooks/welcome.ipynb#scrollTo=xitplqMNk_Hc
Colaboratory特點介紹:
Colaboratory是一款研究工具,用於進行機器學習的培訓和研究。它是一個Jupyter筆記本環境,不需要進行任何設置就可以使用。
Colab 是谷歌內部類 Jupyter Notebook 的交互式 Python 環境,免安裝快速切換 Python 2和 Python 3 的環境,支持 Google 全家桶(TensorFlow、BigQuery、GoogleDrive 等),支持 pip。(使用Linux命令時,需要在最前面加上一個感嘆號來區分腳本和命令,即" ! ")
Colaboratory 筆記本存儲在 Google 雲端硬碟中,並且可以共享,就如同您使用 Google 文檔或表格一樣。Colaboratory 可免費使用。
[2] 連接Google Drive與新建Colab以及上傳本地文件至雲盤
由於這一部分是我在一年多以前寫的一個教程博客,圖文已經寫的非常詳細了,所以這裡我只放出連結,就不再重新寫了。
參考連結: https://blog.csdn.net/hahameier/article/details/86546090
比如你要使用Google雲盤和Colab,你肯定必須要有科學上網以及一個Google帳號。怎麼新建Colab文件、切換python版本、使用GPU等,在連結裡面都寫得非常詳細,所以我就不多說啦。
[3] 將Google Drive共享的資源轉存到自己的Google Drive
右鍵文件 --- 打開方式 --- 關聯更多應用 --- 在搜索框裡面輸入「copy」 --- 點擊下載安裝即可
(因為我已經下載好了應用插件,所以有顯示,如果你沒下載,就看不見「copy, url to google drive」)
然後選擇「複製」,即可將文件複製到自己的Google Drive裡面了。
[4] Colab授權以及指定工作的路徑
在默認狀態下,Colab根本就不知道我們的數據文件夾在哪裡——即便我們本來就是從Google Drive的演示文件夾下面打開這個ipynb文件的。
授權前查看當前工作路徑:
所以我們首先要讓Colab找到Google Drive的根目錄。這原本是一個相對複雜的問題。但是好在我們有現成的代碼,可以拿來使用。貌似每隔一段時間之後,colab給分配的環境會被自動初始化,下次進來得重新掛載google drive。
我是新建了一個notebook,用來存儲授權過程,每次環境被清空了只要打開這個notebook重新執行一下就行。執行下面的代碼,中間會出現兩次提示,要求你打開授權地址,填寫drive授權碼。兩次的授權權限不一樣,都要填寫。
!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} < /dev/null 2>&1 | grep URLvcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
註:出現"E: package 'python-software-....' has no installation candidate"的時候不要驚慌,等待即可。
填寫授權的認證:
註:兩個連結是不同的,都需要填寫
認證成功:
好了,現在Colab已經接管了你的Google Drive了。我們給Google Drive雲端硬碟的根目錄起個名字,叫做drive。
!mkdir -p drive!google-drive-ocamlfuse drive
指定當前工作路徑:
import os
os.chdir("drive/")
再次查看文件目錄和當前路徑:
我的雲盤文件列表:
好啦,現在路徑已經切換到我當下的目錄了,就可以進行下一步的文件讀取操作了。
[5] Colab讀取Google Drive文件以及下載包
如果想要在Colab文件裡用代碼讀取Google Drive數據文件的內容則需要先進行上一步的授權。
import os
original_folder = "./audio/flusense_data"files = os.listdir(original_folder)
運行代碼時,發現導包失敗,進行下載:(要添加感嘆號來區分腳本和Linux命令)
好啦~大家可以盡情使用啦~
溫馨提示:Google Drive免費的只有15G的存儲空間哦~
Would you buy me a coffee~ ☕️