This repository has been archived on 2023-11-05. You can view files and clone it, but cannot push or open issues or pull requests.
wasm-micro-runtime/samples/workload/tensorflow
Wenyong Huang e9e75a6b09
Fix interpreter not update memory size after call native func (#563)
The native function might call wasm function exported, in which the memory.grow opcode might be executed, and interpreter should update memory size after that, or load/store opcodes may run failed with "out of bounds memory access" exception thrown.

Update tensorflow sample patch, allow tensorflow wasm app to grow memory so as to run more models. And fix some compile issues of littlevgl zephyr sample for latest zephyr source code.

Signed-off-by: Wenyong Huang <wenyong.huang@intel.com>
2021-03-10 15:07:16 +08:00
..
build.sh Enable SIMD support for Linux SGX platform (#474) 2020-12-21 15:17:36 +08:00
README.md Update build scripts and documents of workload samples for wasi-sdk-12.0 (#484) 2020-12-29 14:41:09 +08:00
tf_lite.patch Fix interpreter not update memory size after call native func (#563) 2021-03-10 15:07:16 +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 latest
./emsdk activate latest

And set up ensdk environment:

source emsdk_env.sh

Then run

./build.sh
# for linux platform, or
./build.sh --sgx
# for linux-sgx 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 by yourself