2.新建或上傳ipnb文件,並用Colaboratory打開(我這裏新建是"授權代碼.ipynb")
注:Colaboratory現在已全面支持python2和python3兩個版本,新建默認爲python2,無GPU加速,點擊左上角“修改”——》“筆記本設置”→更改“運行時類型”選擇python版本,並在“硬件加速器”中選擇是否使用GPU加速。
3.在notebook中運行下方代碼進行授權綁定(拷貝如下代碼)
- # 授權綁定Google 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 URL
- vcode = getpass.getpass()
- !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
注:運行完,過一會兒會要求兩次點進鏈接登陸google賬號並完成相關授權,複製授權碼,回車即可
出現以下提示,算是完成授權:
4. 指定工作目錄
在指定之前先用!ls
命令查看一下雲端自動分配的默認文件目錄,雲端默認的文件根目錄是datalab
運行下方代碼,指定文件根目錄:
- # 指定Google Drive雲端硬盤的根目錄,名爲drive
- !mkdir -p drive
- !google-drive-ocamlfuse drive
指定完之後,再用!ls
命令查看綁定的文件根目錄,根目錄變爲drive,即咱們使用的雲端硬盤:
5. 指定當前工作文件夾(這裏我指定的是我上傳的文件夾,即keras-yolo3-master)
- # 指定當前的工作目錄
- import os
-
- # 此處爲google drive中的文件路徑,drive爲之前指定的工作根目錄,要加上
- os.chdir("drive/GoogleAI/keras-yolo3-master")
再次用!ls
查看當前的文件目錄:
6.運行python文件
!python yolo.py
7. 總結:
需要注意的是,Colaboratory是完全基於雲端運行的,每次登陸操作,後臺分配的機子都是隨機的,所以如果notebook運行需要額外的文件,那麼在運行之前都要將文件先上傳至Google Drive,然後對Colaboratory指定所需的工作目錄。
以下是每次綁定都需要運行的所有代碼,現總結如下:
- #運行python文件之前需要先安裝各種依賴以及進行授權
- #看見鏈接之後,點擊它,複製驗證碼並粘貼到文本框裏
- #授權完成後,就可以掛載Google 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 URL
- vcode = getpass.getpass()
- !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
-
-
- # 掛載Google driver,指定Google Drive雲端硬盤的根目錄,名爲drive
- !mkdir -p drive
- !google-drive-ocamlfuse drive
-
-
- # 指定當前的工作目錄
- # 此處爲google drive中的文件路徑,drive爲之前指定的工作根目錄,要加上
- import os
- os.chdir("drive/GoogleAI/keras-yolo3-master")
-
- # 查看文件目錄,是否包含所需的文件
- !ls
-
- #運行工作目錄下的python文件
- !python yolo.py