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 -

Reply via email to