wasm-micro-runtime/samples/workload/tensorflow
Wenyong Huang 7be0d385a6
Implement SIMD latest opcodes and update LLVM to 13.0 ()
Implement the latest SIMD opcodes and update LLVM 13.0,
update the llvm build scripts, update the sample workloads‘ build scripts,
and build customized wasi-sdk to build some workloads.
Also refine the CI rules.

Signed-off-by: Wenyong Huang <wenyong.huang@intel.com>
2021-09-17 19:12:57 +08:00
..
build.sh Implement SIMD latest opcodes and update LLVM to 13.0 () 2021-09-17 19:12:57 +08:00
README.md Implement SIMD latest opcodes and update LLVM to 13.0 () 2021-09-17 19:12:57 +08:00
tf_lite.patch Enable multi-thread for tensorflow sample, update wasm-c-api document () 2021-06-14 08:58:32 +08:00

"tensorflow" sample introduction

This sample demonstrates how to build tensorflow into WebAssembly with emsdk toolchain and run it with iwasm. Please first install emsdk:

git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install 2.0.26
./emsdk activate 2.0.26

And set up ensdk environment:

source emsdk_env.sh

Then run

./build.sh
# for linux platform, or
./build.sh --sgx
# for linux-sgx platform or
./build.sh --threads
# for multi-thread execution (on linux platform)

to build tensorflow and run it with iwasm, which basically contains the following steps:

  • hack emcc to delete some objects in libc.a
  • build tf-lite with emcc compiler
  • build iwasm with pthread enable and include libiary under libc-emcc
  • run benchmark model with iwasm: --max-secs 300: means the max training time cost is 5 minutes, you can adjust it by yourself