Unverified Commit 66f2777f authored by Junwei Sun's avatar Junwei Sun Committed by GitHub
Browse files

add tutorial for colab support (#2700)

parent 2723a697
# Use NNI on Google Colab
NNI can easily run on Google Colab platform. However, Colab doesn't expose its public IP and ports, so by default you can not access NNI's Web UI on Colab. To solve this, you need a reverse proxy software like `ngrok` or `frp`. This tutorial will show you how to use ngrok to access NNI's Web UI on Colab.
## How to Open NNI's Web UI on Google Colab
1. Install required packages and softwares.
```
! pip install nni # install nni
! wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip # download ngrok and unzip it
! unzip ngrok-stable-linux-amd64.zip
! mkdir -p nni_repo
! git clone https://github.com/microsoft/nni.git nni_repo/nni # clone NNI's offical repo to get examples
```
2. Register a ngrok account [here](https://ngrok.com/), then connect to your account using your authtoken.
```
! ./ngrok authtoken <your-authtoken>
```
3. Start an NNI example on a port bigger than 1024, then start ngrok with the same port. If you want to use gpu, make sure gpuNum >= 1 in config.yml. Use `get_ipython()` to start ngrok since it will be stuck if you use `! ngrok http 5000 &`.
```
! nnictl create --config nni_repo/nni/examples/trials/mnist-pytorch/config.yml --port 5000 &
get_ipython().system_raw('./ngrok http 5000 &')
```
4. Check the public url.
```
! curl -s http://localhost:4040/api/tunnels # don't change the port number 4040
```
You will see an url like http://xxxx.ngrok.io after step 4, open this url and you will find NNI's Web UI. Have fun :)
## Access Web UI with frp
frp is another reverse proxy software with similar functions. However, frp doesn't provide free public urls, so you may need an server with public IP as a frp server. See [here](https://github.com/fatedier/frp) to know more about how to deploy frp.
...@@ -12,3 +12,4 @@ Different from the tutorials and examples in the rest of the document which show ...@@ -12,3 +12,4 @@ Different from the tutorials and examples in the rest of the document which show
Model Compression <model_compression> Model Compression <model_compression>
Feature Engineering <feature_engineering> Feature Engineering <feature_engineering>
Performance measurement, comparison and analysis <perf_compare> Performance measurement, comparison and analysis <perf_compare>
Use NNI on Google Colab <NNI_colab_support>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment