| # 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. |