-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
When @mssun and me try to rebuild wasm-standalone app, we encountered several problems. Some of them were fixed TEMPORARILY, and we failed to get over some problems.
My environment
TVM: e3e03df, default config, except USE_LLVM ON
rustc: 1.53.0
LLVM: 12.0.0
Python: 3.9.5
Problem 1: build_graph_lib.py doesn't work
An error occurs when I tried to run the script (LLVM_AR=llvm-ar python ./build_graph_lib.py -O3 ./resnet50v1.onnx ). The error message is:
Traceback (most recent call last):
File "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/tools/./build_graph_lib.py", line 79, in <module>
build_graph_lib(args.model_file, args.opt_level)
File "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/tools/./build_graph_lib.py", line 47, in build_graph_lib
mod, params = _get_mod_and_params(model_file)
File "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/tools/./build_graph_lib.py", line 37, in _get_mod_and_params
return relay.frontend.from_onnx(onnx_model, shape_dict)
File "/home/ya0guang/Code/tvm/python/tvm/relay/frontend/onnx.py", line 3820, in from_onnx
mod, params = g.from_onnx(graph, opset)
File "/home/ya0guang/Code/tvm/python/tvm/relay/frontend/onnx.py", line 3559, in from_onnx
assert all(
AssertionError: User specified the shape for inputs that weren't found in the graph: {'data': [1, 3, 224, 224], 'resnetv17_conv0_weight': [64, 3, 7, 7], 'resnetv17_batchnorm0_gamma': [64], 'resnetv17_batchnorm0_beta': [64], 'resnetv17_batchnorm0_running_mean': [64], 'resnetv17_batchnorm0_running_var': [64], 'resnetv17_stage1_conv0_weight': [64, 64, 1, 1], 'resnetv17_stage1_conv0_bias': [64], 'resnetv17_stage1_batchnorm0_gamma': [64], 'resnetv17_stage1_batchnorm0_beta': [64], 'resnetv17_stage1_batchnorm0_running_mean': [64], 'resnetv17_stage1_batchnorm0_running_var': [64], 'resnetv17_stage1_conv1_weight': [64, 64, 3, 3], 'resnetv17_stage1_batchnorm1_gamma': [64], 'resnetv17_stage1_batchnorm1_beta': [64], 'resnetv17_stage1_batchnorm1_running_mean': [64], 'resnetv17_stage1_batchnorm1_running_var': [64], 'resnetv17_stage1_conv2_weight': [256, 64, 1, 1], 'resnetv17_stage1_conv2_bias': [256], 'resnetv17_stage1_batchnorm2_gamma': [256], 'resnetv17_stage1_batchnorm2_beta': [256], 'resnetv17_stage1_batchnorm2_running_mean': [256], 'resnetv17_stage1_batchnorm2_running_var': [256], 'resnetv17_stage1_conv3_weight': [256, 64, 1, 1], 'resnetv17_stage1_batchnorm3_gamma': [256], 'resnetv17_stage1_batchnorm3_beta': [256], 'resnetv17_stage1_batchnorm3_running_mean': [256], 'resnetv17_stage1_batchnorm3_running_var': [256], 'resnetv17_stage1_conv4_weight': [64, 256, 1, 1], 'resnetv17_stage1_conv4_bias': [64], 'resnetv17_stage1_batchnorm4_gamma': [64], 'resnetv17_stage1_batchnorm4_beta': [64], 'resnetv17_stage1_batchnorm4_running_mean': [64], 'resnetv17_stage1_batchnorm4_running_var': [64], 'resnetv17_stage1_conv5_weight': [64, 64, 3, 3], 'resnetv17_stage1_batchnorm5_gamma': [64], 'resnetv17_stage1_batchnorm5_beta': [64], 'resnetv17_stage1_batchnorm5_running_mean': [64], 'resnetv17_stage1_batchnorm5_running_var': [64], 'resnetv17_stage1_conv6_weight': [256, 64, 1, 1], 'resnetv17_stage1_conv6_bias': [256], 'resnetv17_stage1_batchnorm6_gamma': [256], 'resnetv17_stage1_batchnorm6_beta': [256], 'resnetv17_stage1_batchnorm6_running_mean': [256], 'resnetv17_stage1_batchnorm6_running_var': [256], 'resnetv17_stage1_conv7_weight': [64, 256, 1, 1], 'resnetv17_stage1_conv7_bias': [64], 'resnetv17_stage1_batchnorm7_gamma': [64], 'resnetv17_stage1_batchnorm7_beta': [64], 'resnetv17_stage1_batchnorm7_running_mean': [64], 'resnetv17_stage1_batchnorm7_running_var': [64], 'resnetv17_stage1_conv8_weight': [64, 64, 3, 3], 'resnetv17_stage1_batchnorm8_gamma': [64], 'resnetv17_stage1_batchnorm8_beta': [64], 'resnetv17_stage1_batchnorm8_running_mean': [64], 'resnetv17_stage1_batchnorm8_running_var': [64], 'resnetv17_stage1_conv9_weight': [256, 64, 1, 1], 'resnetv17_stage1_conv9_bias': [256], 'resnetv17_stage1_batchnorm9_gamma': [256], 'resnetv17_stage1_batchnorm9_beta': [256], 'resnetv17_stage1_batchnorm9_running_mean': [256], 'resnetv17_stage1_batchnorm9_running_var': [256], 'resnetv17_stage2_conv0_weight': [128, 256, 1, 1], 'resnetv17_stage2_conv0_bias': [128], 'resnetv17_stage2_batchnorm0_gamma': [128], 'resnetv17_stage2_batchnorm0_beta': [128], 'resnetv17_stage2_batchnorm0_running_mean': [128], 'resnetv17_stage2_batchnorm0_running_var': [128], 'resnetv17_stage2_conv1_weight': [128, 128, 3, 3], 'resnetv17_stage2_batchnorm1_gamma': [128], 'resnetv17_stage2_batchnorm1_beta': [128], 'resnetv17_stage2_batchnorm1_running_mean': [128], 'resnetv17_stage2_batchnorm1_running_var': [128], 'resnetv17_stage2_conv2_weight': [512, 128, 1, 1], 'resnetv17_stage2_conv2_bias': [512], 'resnetv17_stage2_batchnorm2_gamma': [512], 'resnetv17_stage2_batchnorm2_beta': [512], 'resnetv17_stage2_batchnorm2_running_mean': [512], 'resnetv17_stage2_batchnorm2_running_var': [512], 'resnetv17_stage2_conv3_weight': [512, 256, 1, 1], 'resnetv17_stage2_batchnorm3_gamma': [512], 'resnetv17_stage2_batchnorm3_beta': [512], 'resnetv17_stage2_batchnorm3_running_mean': [512], 'resnetv17_stage2_batchnorm3_running_var': [512], 'resnetv17_stage2_conv4_weight': [128, 512, 1, 1], 'resnetv17_stage2_conv4_bias': [128], 'resnetv17_stage2_batchnorm4_gamma': [128], 'resnetv17_stage2_batchnorm4_beta': [128], 'resnetv17_stage2_batchnorm4_running_mean': [128], 'resnetv17_stage2_batchnorm4_running_var': [128], 'resnetv17_stage2_conv5_weight': [128, 128, 3, 3], 'resnetv17_stage2_batchnorm5_gamma': [128], 'resnetv17_stage2_batchnorm5_beta': [128], 'resnetv17_stage2_batchnorm5_running_mean': [128], 'resnetv17_stage2_batchnorm5_running_var': [128], 'resnetv17_stage2_conv6_weight': [512, 128, 1, 1], 'resnetv17_stage2_conv6_bias': [512], 'resnetv17_stage2_batchnorm6_gamma': [512], 'resnetv17_stage2_batchnorm6_beta': [512], 'resnetv17_stage2_batchnorm6_running_mean': [512], 'resnetv17_stage2_batchnorm6_running_var': [512], 'resnetv17_stage2_conv7_weight': [128, 512, 1, 1], 'resnetv17_stage2_conv7_bias': [128], 'resnetv17_stage2_batchnorm7_gamma': [128], 'resnetv17_stage2_batchnorm7_beta': [128], 'resnetv17_stage2_batchnorm7_running_mean': [128], 'resnetv17_stage2_batchnorm7_running_var': [128], 'resnetv17_stage2_conv8_weight': [128, 128, 3, 3], 'resnetv17_stage2_batchnorm8_gamma': [128], 'resnetv17_stage2_batchnorm8_beta': [128], 'resnetv17_stage2_batchnorm8_running_mean': [128], 'resnetv17_stage2_batchnorm8_running_var': [128], 'resnetv17_stage2_conv9_weight': [512, 128, 1, 1], 'resnetv17_stage2_conv9_bias': [512], 'resnetv17_stage2_batchnorm9_gamma': [512], 'resnetv17_stage2_batchnorm9_beta': [512], 'resnetv17_stage2_batchnorm9_running_mean': [512], 'resnetv17_stage2_batchnorm9_running_var': [512], 'resnetv17_stage2_conv10_weight': [128, 512, 1, 1], 'resnetv17_stage2_conv10_bias': [128], 'resnetv17_stage2_batchnorm10_gamma': [128], 'resnetv17_stage2_batchnorm10_beta': [128], 'resnetv17_stage2_batchnorm10_running_mean': [128], 'resnetv17_stage2_batchnorm10_running_var': [128], 'resnetv17_stage2_conv11_weight': [128, 128, 3, 3], 'resnetv17_stage2_batchnorm11_gamma': [128], 'resnetv17_stage2_batchnorm11_beta': [128], 'resnetv17_stage2_batchnorm11_running_mean': [128], 'resnetv17_stage2_batchnorm11_running_var': [128], 'resnetv17_stage2_conv12_weight': [512, 128, 1, 1], 'resnetv17_stage2_conv12_bias': [512], 'resnetv17_stage2_batchnorm12_gamma': [512], 'resnetv17_stage2_batchnorm12_beta': [512], 'resnetv17_stage2_batchnorm12_running_mean': [512], 'resnetv17_stage2_batchnorm12_running_var': [512], 'resnetv17_stage3_conv0_weight': [256, 512, 1, 1], 'resnetv17_stage3_conv0_bias': [256], 'resnetv17_stage3_batchnorm0_gamma': [256], 'resnetv17_stage3_batchnorm0_beta': [256], 'resnetv17_stage3_batchnorm0_running_mean': [256], 'resnetv17_stage3_batchnorm0_running_var': [256], 'resnetv17_stage3_conv1_weight': [256, 256, 3, 3], 'resnetv17_stage3_batchnorm1_gamma': [256], 'resnetv17_stage3_batchnorm1_beta': [256], 'resnetv17_stage3_batchnorm1_running_mean': [256], 'resnetv17_stage3_batchnorm1_running_var': [256], 'resnetv17_stage3_conv2_weight': [1024, 256, 1, 1], 'resnetv17_stage3_conv2_bias': [1024], 'resnetv17_stage3_batchnorm2_gamma': [1024], 'resnetv17_stage3_batchnorm2_beta': [1024], 'resnetv17_stage3_batchnorm2_running_mean': [1024], 'resnetv17_stage3_batchnorm2_running_var': [1024], 'resnetv17_stage3_conv3_weight': [1024, 512, 1, 1], 'resnetv17_stage3_batchnorm3_gamma': [1024], 'resnetv17_stage3_batchnorm3_beta': [1024], 'resnetv17_stage3_batchnorm3_running_mean': [1024], 'resnetv17_stage3_batchnorm3_running_var': [1024], 'resnetv17_stage3_conv4_weight': [256, 1024, 1, 1], 'resnetv17_stage3_conv4_bias': [256], 'resnetv17_stage3_batchnorm4_gamma': [256], 'resnetv17_stage3_batchnorm4_beta': [256], 'resnetv17_stage3_batchnorm4_running_mean': [256], 'resnetv17_stage3_batchnorm4_running_var': [256], 'resnetv17_stage3_conv5_weight': [256, 256, 3, 3], 'resnetv17_stage3_batchnorm5_gamma': [256], 'resnetv17_stage3_batchnorm5_beta': [256], 'resnetv17_stage3_batchnorm5_running_mean': [256], 'resnetv17_stage3_batchnorm5_running_var': [256], 'resnetv17_stage3_conv6_weight': [1024, 256, 1, 1], 'resnetv17_stage3_conv6_bias': [1024], 'resnetv17_stage3_batchnorm6_gamma': [1024], 'resnetv17_stage3_batchnorm6_beta': [1024], 'resnetv17_stage3_batchnorm6_running_mean': [1024], 'resnetv17_stage3_batchnorm6_running_var': [1024], 'resnetv17_stage3_conv7_weight': [256, 1024, 1, 1], 'resnetv17_stage3_conv7_bias': [256], 'resnetv17_stage3_batchnorm7_gamma': [256], 'resnetv17_stage3_batchnorm7_beta': [256], 'resnetv17_stage3_batchnorm7_running_mean': [256], 'resnetv17_stage3_batchnorm7_running_var': [256], 'resnetv17_stage3_conv8_weight': [256, 256, 3, 3], 'resnetv17_stage3_batchnorm8_gamma': [256], 'resnetv17_stage3_batchnorm8_beta': [256], 'resnetv17_stage3_batchnorm8_running_mean': [256], 'resnetv17_stage3_batchnorm8_running_var': [256], 'resnetv17_stage3_conv9_weight': [1024, 256, 1, 1], 'resnetv17_stage3_conv9_bias': [1024], 'resnetv17_stage3_batchnorm9_gamma': [1024], 'resnetv17_stage3_batchnorm9_beta': [1024], 'resnetv17_stage3_batchnorm9_running_mean': [1024], 'resnetv17_stage3_batchnorm9_running_var': [1024], 'resnetv17_stage3_conv10_weight': [256, 1024, 1, 1], 'resnetv17_stage3_conv10_bias': [256], 'resnetv17_stage3_batchnorm10_gamma': [256], 'resnetv17_stage3_batchnorm10_beta': [256], 'resnetv17_stage3_batchnorm10_running_mean': [256], 'resnetv17_stage3_batchnorm10_running_var': [256], 'resnetv17_stage3_conv11_weight': [256, 256, 3, 3], 'resnetv17_stage3_batchnorm11_gamma': [256], 'resnetv17_stage3_batchnorm11_beta': [256], 'resnetv17_stage3_batchnorm11_running_mean': [256], 'resnetv17_stage3_batchnorm11_running_var': [256], 'resnetv17_stage3_conv12_weight': [1024, 256, 1, 1], 'resnetv17_stage3_conv12_bias': [1024], 'resnetv17_stage3_batchnorm12_gamma': [1024], 'resnetv17_stage3_batchnorm12_beta': [1024], 'resnetv17_stage3_batchnorm12_running_mean': [1024], 'resnetv17_stage3_batchnorm12_running_var': [1024], 'resnetv17_stage3_conv13_weight': [256, 1024, 1, 1], 'resnetv17_stage3_conv13_bias': [256], 'resnetv17_stage3_batchnorm13_gamma': [256], 'resnetv17_stage3_batchnorm13_beta': [256], 'resnetv17_stage3_batchnorm13_running_mean': [256], 'resnetv17_stage3_batchnorm13_running_var': [256], 'resnetv17_stage3_conv14_weight': [256, 256, 3, 3], 'resnetv17_stage3_batchnorm14_gamma': [256], 'resnetv17_stage3_batchnorm14_beta': [256], 'resnetv17_stage3_batchnorm14_running_mean': [256], 'resnetv17_stage3_batchnorm14_running_var': [256], 'resnetv17_stage3_conv15_weight': [1024, 256, 1, 1], 'resnetv17_stage3_conv15_bias': [1024], 'resnetv17_stage3_batchnorm15_gamma': [1024], 'resnetv17_stage3_batchnorm15_beta': [1024], 'resnetv17_stage3_batchnorm15_running_mean': [1024], 'resnetv17_stage3_batchnorm15_running_var': [1024], 'resnetv17_stage3_conv16_weight': [256, 1024, 1, 1], 'resnetv17_stage3_conv16_bias': [256], 'resnetv17_stage3_batchnorm16_gamma': [256], 'resnetv17_stage3_batchnorm16_beta': [256], 'resnetv17_stage3_batchnorm16_running_mean': [256], 'resnetv17_stage3_batchnorm16_running_var': [256], 'resnetv17_stage3_conv17_weight': [256, 256, 3, 3], 'resnetv17_stage3_batchnorm17_gamma': [256], 'resnetv17_stage3_batchnorm17_beta': [256], 'resnetv17_stage3_batchnorm17_running_mean': [256], 'resnetv17_stage3_batchnorm17_running_var': [256], 'resnetv17_stage3_conv18_weight': [1024, 256, 1, 1], 'resnetv17_stage3_conv18_bias': [1024], 'resnetv17_stage3_batchnorm18_gamma': [1024], 'resnetv17_stage3_batchnorm18_beta': [1024], 'resnetv17_stage3_batchnorm18_running_mean': [1024], 'resnetv17_stage3_batchnorm18_running_var': [1024], 'resnetv17_stage4_conv0_weight': [512, 1024, 1, 1], 'resnetv17_stage4_conv0_bias': [512], 'resnetv17_stage4_batchnorm0_gamma': [512], 'resnetv17_stage4_batchnorm0_beta': [512], 'resnetv17_stage4_batchnorm0_running_mean': [512], 'resnetv17_stage4_batchnorm0_running_var': [512], 'resnetv17_stage4_conv1_weight': [512, 512, 3, 3], 'resnetv17_stage4_batchnorm1_gamma': [512], 'resnetv17_stage4_batchnorm1_beta': [512], 'resnetv17_stage4_batchnorm1_running_mean': [512], 'resnetv17_stage4_batchnorm1_running_var': [512], 'resnetv17_stage4_conv2_weight': [2048, 512, 1, 1], 'resnetv17_stage4_conv2_bias': [2048], 'resnetv17_stage4_batchnorm2_gamma': [2048], 'resnetv17_stage4_batchnorm2_beta': [2048], 'resnetv17_stage4_batchnorm2_running_mean': [2048], 'resnetv17_stage4_batchnorm2_running_var': [2048], 'resnetv17_stage4_conv3_weight': [2048, 1024, 1, 1], 'resnetv17_stage4_batchnorm3_gamma': [2048], 'resnetv17_stage4_batchnorm3_beta': [2048], 'resnetv17_stage4_batchnorm3_running_mean': [2048], 'resnetv17_stage4_batchnorm3_running_var': [2048], 'resnetv17_stage4_conv4_weight': [512, 2048, 1, 1], 'resnetv17_stage4_conv4_bias': [512], 'resnetv17_stage4_batchnorm4_gamma': [512], 'resnetv17_stage4_batchnorm4_beta': [512], 'resnetv17_stage4_batchnorm4_running_mean': [512], 'resnetv17_stage4_batchnorm4_running_var': [512], 'resnetv17_stage4_conv5_weight': [512, 512, 3, 3], 'resnetv17_stage4_batchnorm5_gamma': [512], 'resnetv17_stage4_batchnorm5_beta': [512], 'resnetv17_stage4_batchnorm5_running_mean': [512], 'resnetv17_stage4_batchnorm5_running_var': [512], 'resnetv17_stage4_conv6_weight': [2048, 512, 1, 1], 'resnetv17_stage4_conv6_bias': [2048], 'resnetv17_stage4_batchnorm6_gamma': [2048], 'resnetv17_stage4_batchnorm6_beta': [2048], 'resnetv17_stage4_batchnorm6_running_mean': [2048], 'resnetv17_stage4_batchnorm6_running_var': [2048], 'resnetv17_stage4_conv7_weight': [512, 2048, 1, 1], 'resnetv17_stage4_conv7_bias': [512], 'resnetv17_stage4_batchnorm7_gamma': [512], 'resnetv17_stage4_batchnorm7_beta': [512], 'resnetv17_stage4_batchnorm7_running_mean': [512], 'resnetv17_stage4_batchnorm7_running_var': [512], 'resnetv17_stage4_conv8_weight': [512, 512, 3, 3], 'resnetv17_stage4_batchnorm8_gamma': [512], 'resnetv17_stage4_batchnorm8_beta': [512], 'resnetv17_stage4_batchnorm8_running_mean': [512], 'resnetv17_stage4_batchnorm8_running_var': [512], 'resnetv17_stage4_conv9_weight': [2048, 512, 1, 1], 'resnetv17_stage4_conv9_bias': [2048], 'resnetv17_stage4_batchnorm9_gamma': [2048], 'resnetv17_stage4_batchnorm9_beta': [2048], 'resnetv17_stage4_batchnorm9_running_mean': [2048], 'resnetv17_stage4_batchnorm9_running_var': [2048], 'resnetv17_dense0_weight': [1000, 2048], 'resnetv17_dense0_bias': [1000]}Hot fix
We eliminate this error by modifying the function _get_mod_and_params: adding a line before return.
def _get_mod_and_params(model_file):
onnx_model = onnx.load(model_file)
shape_dict = {}
for input in onnx_model.graph.input:
shape_dict[input.name] = [dim.dim_value for dim in input.type.tensor_type.shape.dim]
shape_dict = {"data": shape_dict["data"]}
return relay.frontend.from_onnx(onnx_model, shape_dict)Problem 2: Cargo cannot build wasm-graph
The second problem is occurs while cargo trying to compile and link. (cd wasm-graph && cargo build --release)
error: linking with `rust-lld` failed: exit status: 1
|
= note: "rust-lld" "-flavor" "wasm" "--rsp-quoting=posix" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--fatal-warnings" "--no-demangle" "-L" "/home/ya0guang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-wasi/lib" "-L" "/home/ya0guang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-wasi/lib/self-contained" "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/target/wasm32-wasi/release/deps/wasm_graph.wasm_graph.9d8qt5z6-cgu.0.rcgu.o" "-o" "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/target/wasm32-wasi/release/deps/wasm_graph.wasm" "--export" "run" "--export" "TVMAPISetLastError" "--export" "TVMBackendAllocWorkspace" "--export" "TVMBackendFreeWorkspace" "--export" "TVMBackendParallelBarrier" "--export" "TVMBackendParallelLaunch" "--export" "TVMBackendRegisterSystemLibSymbol" "--export" "TVMGetLastError" "--export=__heap_base" "--export=__data_end" "--gc-sections" "--no-entry" "-O2" "-L" "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/target/wasm32-wasi/release/deps" "-L" "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/target/release/deps" "-L" "/home/ya0guang/Code/tvm/apps/wasm-standalone/wasm-graph/lib" "-L" "/home/ya0guang/Code/tvm/build" "-L" "/home/ya0guang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-wasi/lib" "/tmp/rustcB2Rq3f/liblibc-dd6fd16fbeb0b6c9.rlib" "/home/ya0guang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-wasi/lib/libcompiler_builtins-55f71868fddeb6d1.rlib" "-l" "tvm" "--whole-archive" "-lgraph_wasm32"
= note: rust-lld: error: unable to find library -ltvm
error: aborting due to previous error
error: could not compile `wasm-graph`
To learn more, run the command again with --verbose.Actually the library libtvm.so does EXIST. However, it's a 64bit elf SO, which may not be linked to a WASM bytecode directly.
Hot fix
This error comes from a dependency in rust/tvm-sys. We comment the snippet linking the tvm library in build.rs like this:
// if cfg!(feature = "static-linking") {
// println!("cargo:rustc-link-lib=static=tvm");
// // TODO(@jroesch): move this to tvm-build as library_path?
// println!(
// "cargo:rustc-link-search=native={}/build",
// build_path.display()
// );
// }
// if cfg!(feature = "dynamic-linking") {
// println!("cargo:rustc-link-lib=dylib=tvm");
// println!(
// "cargo:rustc-link-search=native={}/build",
// build_path.display()
// );
// }then it compiles. We cooment these lines because the code seems only use some data structures from the tvm-sys.
Problem 3
After the WASM file and test runtime have been successfully generated, the test program doens't work.
$ RUST_BACKTRACE=1 ./target/debug/test_graph_resnet50 -g ./wasm_graph_resnet50.wasm -i ./cat.png -l ./synset.csv
original image dimensions: (256, 256)
resized image dimensions: (224, 224)
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: stack operand type mismatch (at offset 227760)', src/main.rs:82:45
stack backtrace:
0: rust_begin_unwind
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:493:5
1: core::panicking::panic_fmt
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:92:14
2: core::result::unwrap_failed
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/result.rs:1355:5
3: core::result::Result<T,E>::unwrap
at /home/ya0guang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1037:23
4: test_graph_resnet50::main
at ./src/main.rs:82:5
5: core::ops::function::FnOnce::call_once
at /home/ya0guang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.It seems like the WASM module cannot be instantiated successfully.
Summary
I have no confidence that all these hot fixes are correct. If someone can fix them and let it work, we will be more than grateful!