QACNN Colab實作
先跟瑩婷或宗諭拿完整的 QACNN 資料夾 (除了原本的 repository 外,還需要 output_data 內的檔案)。將此 QACNN 檔案上傳到 google drive 的根目錄。後續會將此 QACNN 路徑掛載到 Colab 之下執行。
Fig.1 QACNN 資料夾將會先上傳至 google drive,再掛載到 Colab 之下執行
Fig.1 說明 QACNN 資料夾將會先上傳至 google drive,再掛載到 Colab
在 Colab 上執行 QACNN 的流程
Fig.2 在 Colab 上執行 QACNN 的流程
1. Upload QACNN files to Google Drive
將 QACNN 資料夾拖曳到 google drive 上傳
Fig.3 將 QACNN 資料夾拖曳到 google drive
2. Login to Colab service and create a new .ipynb file
Login to Colab service and create a new .ipynb file : https://colab.research.google.com/Fig.4 login Colab service
3. Link Google Drive to Colab by setting authentication
在 colab 執行以下指令,通過認證後可將 google drive 的資料夾掛載到 colab 執行環境下
!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}
執行以上指令,會出現一個連結並要求輸入 verification code
點擊連結後會詢問使用哪一個 google account
要求授權給 google cloud SDK
允許授權後,將得到一串授權碼
4. Enter verification code
in Colab
將此授權碼貼回空格後執行
授權成功會出現以下畫面 : Please enter the verification code: Access token retrieved correctly
5. Mount the google drive root path in Colab
在 colab 開一個空資料夾,名稱為 "drive",並且將 google drive 的檔案掛載進 drive 資料夾中,之後便可以直接在 colab 執行 google drive 上的程式,在 colab 輸入以下兩行 command code:
!mkdir -p drive
!google-drive-ocamlfuse drive
!mkdir -p drive
表示在目前的路徑下,新增一個名為 "drive" 的空資料夾
!google-drive-ocamlfuse drive
指令將 google drive 的路徑與 colab 的 "drive" 資料夾路徑連結
6. Move to QACNN folder and execute .py files
移動到 QACNN 資料夾在 google drive 中的路徑。( 在 colab 路徑相同,但須從 /drive 目錄進入。此範例在 colab 路徑為 /drive/Colab Notebooks/QACNN/ )
以上一層一層進入是為了確保每一層的資料夾正確 (最後一層我不知道為什麼有附帶一串亂碼,我是一邊 key 路徑一邊按
Tab鍵發現路徑很怪異,但確實是 QACNN (e0dfd6cf) 資料夾沒錯)
進入資料夾後,下指令執行 main.py
!python main.py
程式執行過程