NNI搬到Colab上,環境類似本機。雖然,NNI很容易搬到Colab平台上,但由於Colab並不公開其 public IP and port。所以我們無法連上 WebUI。為了解決此問題,我們需要 a reverse proxy software,如ngrok。本文將展示,如何透過ngrok,去擷取Colab平台上的 WebUI。
第一步,在Colab的Notebook上,先安裝所需packages and softwares:
! pip install nni # install nni
Import nni # 確認是否無誤
# download ngrok and unzip it.
! wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
! unzip ngrok-stable-linux-amd64.zip
# clone NNI's offical repo to get examples
! mkdir -p nni_repo
! git clone https://github.com/microsoft/nni.git nni_repo/nni
第二步,到 ngrok網站去註冊(https://dashboard.ngrok.com/signup), 將所得到的 authtoken,複製貼到下列的指令中。
! ./ngrok authtoken <your-authtoken>
第三步,啟動NNI,port no. 需大於1024,然後用相同的 port no. 啟動ngrok。這次啟動NNI,用的是 config.yml,你也可用config_detailed.yml。若想使用GPU,記得要改 gpuNum >= 1!另外,ngrok不可直接執行,否則會卡死!
! nnictl create --config nni_repo/nni/examples/trials/mnist-pytorch/config.yml --port 5000 &
get_ipython().system_raw('./ngrok http 5000 &')
輸入上一行指令,結果如何?請看下一章節分析。