tree: 6296f5ae35141a05b5f99a94684381428d600d5b [path history] [tgz]
  1. src/
  2. build.rs
  3. Cargo.toml
  4. README.md
rust/tvm/examples/resnet/README.md

Resnet example

This end-to-end example shows how to:

  • build Resnet 18 with tvm from Python
  • use the provided Rust frontend API to test for an input image

To run the example with pretrained resnet weights, first tvm and mxnet must be installed for the python build. To install mxnet for cpu, run pip install mxnet and to install tvm with llvm follow the TVM installation guide.

  • Build the example: `cargo build

To have a successful build, note that it is required to instruct Rust compiler to link to the compiled shared library, for example with println!("cargo:rustc-link-search=native={}", build_path). See the build.rs for more details.

  • Run the example: cargo run

Note: To use pretrained weights, one can enable --pretrained in build.rs with

let output = Command::new("python")
        .arg(concat!(env!("CARGO_MANIFEST_DIR"), "/src/build_resnet.py"))
        .arg(&format!("--build-dir={}", env!("CARGO_MANIFEST_DIR")))
        .arg(&format!("--pretrained"))
        .output()
        .expect("Failed to execute command");

Otherwise, random weights are used, therefore, the prediction will be limpkin, Aramus pictus!