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 <[email protected]>
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 -