This is an automated email from the ASF dual-hosted git repository. jroesch pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git
The following commit(s) were added to refs/heads/main by this push: new ee9b6d6 [Docker] Turn on Rust docs and MxNet based ResNet (#6640) ee9b6d6 is described below commit ee9b6d6de52accf6515d69c7f565aeefdf19bddc Author: Jared Roesch <roesch...@gmail.com> AuthorDate: Sat Oct 24 00:15:38 2020 -0700 [Docker] Turn on Rust docs and MxNet based ResNet (#6640) * Enable ResNet and Rust docs * Tweak * Format * Fix issue with overwriting --- python/tvm/contrib/download.py | 4 ++-- rust/Cargo.toml | 1 + rust/tvm/examples/resnet/build.rs | 10 ++++------ rust/tvm/examples/resnet/src/build_resnet.py | 5 +++-- tests/scripts/task_python_docs.sh | 11 ++++------- tests/scripts/task_rust.sh | 6 ++---- 6 files changed, 16 insertions(+), 21 deletions(-) diff --git a/python/tvm/contrib/download.py b/python/tvm/contrib/download.py index 9603024..a521c8c 100644 --- a/python/tvm/contrib/download.py +++ b/python/tvm/contrib/download.py @@ -126,7 +126,7 @@ else: os.makedirs(TEST_DATA_ROOT_PATH, exist_ok=True) -def download_testdata(url, relpath, module=None): +def download_testdata(url, relpath, module=None, overwrite=False): """Downloads the test data from the internet. Parameters @@ -155,5 +155,5 @@ def download_testdata(url, relpath, module=None): else: raise ValueError("Unsupported module: " + module) abspath = os.path.join(TEST_DATA_ROOT_PATH, module_path, relpath) - download(url, abspath, overwrite=False, size_compare=False) + download(url, abspath, overwrite=overwrite, size_compare=False) return abspath diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 9935ce7..28312a5 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -23,6 +23,7 @@ members = [ "tvm", "tvm/tests/basics", "tvm/tests/callback", + "tvm/examples/resnet", "tvm-graph-rt", "tvm-graph-rt/tests/test_tvm_basic", "tvm-graph-rt/tests/test_tvm_dso", diff --git a/rust/tvm/examples/resnet/build.rs b/rust/tvm/examples/resnet/build.rs index 1e5d8a9..9bf7d86 100644 --- a/rust/tvm/examples/resnet/build.rs +++ b/rust/tvm/examples/resnet/build.rs @@ -21,9 +21,10 @@ use anyhow::{Context, Result}; use std::{io::Write, path::Path, process::Command}; fn main() -> Result<()> { + let out_dir = std::env::var("CARGO_MANIFEST_DIR")?; let output = Command::new("python3") .arg(concat!(env!("CARGO_MANIFEST_DIR"), "/src/build_resnet.py")) - .arg(&format!("--build-dir={}", env!("CARGO_MANIFEST_DIR"))) + .arg(&format!("--build-dir={}", out_dir)) .output() .with_context(|| anyhow::anyhow!("failed to run python3"))?; if !output.status.success() { @@ -33,7 +34,7 @@ fn main() -> Result<()> { panic!("Failed to execute build script"); } assert!( - Path::new(&format!("{}/deploy_lib.o", env!("CARGO_MANIFEST_DIR"))).exists(), + Path::new(&format!("{}/deploy_lib.o", out_dir)).exists(), "Could not prepare demo: {}", String::from_utf8(output.stderr) .unwrap() @@ -42,10 +43,7 @@ fn main() -> Result<()> { .last() .unwrap_or("") ); - println!( - "cargo:rustc-link-search=native={}", - env!("CARGO_MANIFEST_DIR") - ); + println!("cargo:rustc-link-search=native={}", out_dir); Ok(()) } diff --git a/rust/tvm/examples/resnet/src/build_resnet.py b/rust/tvm/examples/resnet/src/build_resnet.py index bc100fe..03ac611 100644 --- a/rust/tvm/examples/resnet/src/build_resnet.py +++ b/rust/tvm/examples/resnet/src/build_resnet.py @@ -104,10 +104,11 @@ def download_img_labels(): ] ) synset_name = "synset.txt" - synset_path = download_testdata(synset_url, synset_name, module="data") + synset_path = download_testdata(synset_url, synset_name + ".raw", module="data", overwrite=True) with open(synset_path) as fin: - synset = eval(fin.read()) + data = fin.read() + synset = eval(data) with open(synset_name, "w") as f: for key in synset: diff --git a/tests/scripts/task_python_docs.sh b/tests/scripts/task_python_docs.sh index e279b90..cbaffa2 100755 --- a/tests/scripts/task_python_docs.sh +++ b/tests/scripts/task_python_docs.sh @@ -73,12 +73,10 @@ npm install npm run typedoc cd .. -# TODO(@jroesch): add Rust to CI container -# see: https://github.com/apache/incubator-tvm/issues/6628 # Rust doc -# cd rust -# cargo doc --workspace --no-deps -# cd .. +cd rust +cargo doc --workspace --no-deps +cd .. # Prepare the doc dir rm -rf _docs @@ -87,8 +85,7 @@ rm -f _docs/.buildinfo mkdir -p _docs/api mv docs/doxygen/html _docs/api/doxygen mv jvm/core/target/site/apidocs _docs/api/javadoc -# See above TODO -# mv rust/target/doc _docs/api/rust +mv rust/target/doc _docs/api/rust mv web/dist/docs _docs/api/typedoc echo "Start creating the docs tarball.." diff --git a/tests/scripts/task_rust.sh b/tests/scripts/task_rust.sh index 18361fe..d60999c 100755 --- a/tests/scripts/task_rust.sh +++ b/tests/scripts/task_rust.sh @@ -110,8 +110,6 @@ cargo run --bin array cargo run --bin string cd - -# TODO(@jroesch): we need to renable MxNet in ci-cpu image -# https://github.com/apache/incubator-tvm/pull/6563 -# cd examples/resnet -# cargo build +cd examples/resnet +cargo run cd -