blob: 56a73c26f2e6f6f411604aae5930759adfe219d0 [file] [log] [blame] [view]
# Using Colab
Since so many ML frameworks are Python based, we often use Colab for interactive
programming. With IREE's Python bindings, it becomes possible to quickly proof
out e2e flows that cross the ML framework, compiler and runtime interactively.
## Quick Start
Run:
```shell
$ python3 ./colab/start_colab_kernel.py
```
This will start a jupyter notebook on port 8888. Then navigate to
[Google's Colab Site](https://colab.research.google.com), create or open a
Python3 notebook and Connect to a Local Runtime.
There are some sample notebooks in the colab/ directory (which you can either
"upload" or load from GitHub in the File menu).
Note that sometimes, if you opt in to new Colab features, your URL bar will
actually be for "colab.sandbox.google.com" instead of
"colab.research.google.com". If so, you will be unable to connect to the local
runtime, which is hard-coded to allow the "colab.research.google.com" domain.
There will typically be a box at the top in such situations which lets you opt
to use the production release.
## Installation
Unless if you have setup Colab before, there is some setup:
### Install Jupyter (from https://jupyter.org/install)
```shell
$ python3 -m pip install --upgrade pip
$ python3 -m pip install jupyter
```
### Setup colab (https://research.google.com/colaboratory/local-runtimes.html)
```shell
$ python3 -m pip install jupyter_http_over_ws
$ jupyter serverextension enable --py jupyter_http_over_ws
```
## Local and Hosted Runtimes
IREE's Python bindings are not yet published in an accessible way, so they must
be bundled within the runtime binary itself. Due to this, you must use a local
runtime started as described above in order to execute IREE's Colab notebooks.
Hosted/remote runtimes are not yet supported, though we have plans to improve
this process as the project matures.