| #!/bin/bash |
| # Copyright 2022 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| # This script runs the steps laid out in the README for this sample. It is |
| # intended for use on continuous integration servers and as a reference for |
| # users, but can also be run manually. |
| |
| set -x |
| set -e |
| |
| # Run under a virtual environment to isolate Python packages. |
| # |
| # For more information, see `build_tools/testing/run_python_notebook.sh` |
| python3 -m venv .script.venv --system-site-packages --clear |
| source .script.venv/bin/activate 2> /dev/null |
| trap "deactivate 2> /dev/null" EXIT |
| |
| # Update pip within the venv (you'd think this wouldn't be needed, but it is). |
| python3 -m pip install --quiet --upgrade pip |
| |
| # Install script requirements, reusing system versions if possible. |
| python3 -m pip install --quiet \ |
| -f https://iree-org.github.io/iree/pip-release-links.html iree-compiler |
| python3 -m pip install --quiet \ |
| -f https://llvm.github.io/torch-mlir/package-index/ torch-mlir |
| python3 -m pip install --quiet \ |
| git+https://github.com/iree-org/iree-torch.git |
| |
| # Update submodules in this repo. |
| (cd $(git rev-parse --show-toplevel) && git submodule update --init) |
| |
| # Build the IREE runtime. |
| (cd $(git rev-parse --show-toplevel) && cmake -GNinja -B /tmp/iree-build-runtime/ .) |
| cmake --build /tmp/iree-build-runtime/ --target iree_runtime_unified |
| |
| # Build the example. |
| cd $(git rev-parse --show-toplevel)/samples/native_training |
| make |
| |
| # Generate the VM bytecode. |
| python native_training.py /tmp/native_training.vmfb |
| |
| # Run the native training model. |
| ./native-training /tmp/native_training.vmfb |