Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Can't run prequantized tflite model through MicroTVM #11371

Open
zhiwei-dong opened this issue May 19, 2022 · 2 comments
Open

[Bug] Can't run prequantized tflite model through MicroTVM #11371

zhiwei-dong opened this issue May 19, 2022 · 2 comments
Labels
type: bug vert:micro MicroTVM: src/runtime/micro, src/runtime/crt, apps/microtvm

Comments

@zhiwei-dong
Copy link

Expected behavior

Thank for your great works on microTVM, I try to run MCUNet model, in here .
I followed this tutorial. When I use the tutorial model, every thing is ok, but when I use above mcunet model, I encounter RPCError.

Actual behavior

(microtvm-3BvVWFka-py3.6) vagrant@microtvm:/Users/zhiwei.dong/test/tvm$ tvmc run \

     --device micro \
     project \
     --project-option zephyr_board=qemu_x86 \
     --fill-mode ones \
     --print-top 4

INFO:main:b'[ 2%] Built target parse_syscalls_target\n'
INFO:main:b'[ 3%] Built target kobj_types_h_target\n'
INFO:main:b'[ 4%] Built target syscall_list_h_target\n'
INFO:main:b'[ 5%] Built target driver_validation_h_target\n'
INFO:main:b'Consolidate compiler generated dependencies of target offsets\n'
INFO:main:b'[ 6%] Built target offsets\n'
INFO:main:b'[ 7%] Built target offsets_h\n'
INFO:main:b'[ 7%] Built target zephyr_generated_headers\n'
INFO:main:b'Consolidate compiler generated dependencies of target kernel\n'
INFO:main:b'[ 27%] Built target kernel\n'
INFO:main:b'Consolidate compiler generated dependencies of target microtvm_rpc_server\n'
INFO:main:b'[ 28%] Built target microtvm_rpc_server\n'
INFO:main:b'Consolidate compiler generated dependencies of target microtvm_rpc_common\n'
INFO:main:b'[ 32%] Built target microtvm_rpc_common\n'
INFO:main:b'Consolidate compiler generated dependencies of target common\n'
INFO:main:b'[ 36%] Built target common\n'
INFO:main:b'Consolidate compiler generated dependencies of target tvm_model\n'
INFO:main:b'[ 39%] Built target tvm_model\n'
INFO:main:b'Consolidate compiler generated dependencies of target app\n'
INFO:main:b'[ 40%] Built target app\n'
INFO:main:b'Consolidate compiler generated dependencies of target zephyr\n'
INFO:main:b'[ 62%] Built target zephyr\n'
INFO:main:b'[ 63%] Built target linker_zephyr_prebuilt_script_target\n'
INFO:main:b'Consolidate compiler generated dependencies of target arch__x86__core\n'
INFO:main:b'[ 77%] Built target arch__x86__core\n'
INFO:main:b'Consolidate compiler generated dependencies of target lib__libc__newlib\n'
INFO:main:b'[ 78%] Built target lib__libc__newlib\n'
INFO:main:b'Consolidate compiler generated dependencies of target lib__posix\n'
INFO:main:b'[ 80%] Built target lib__posix\n'
INFO:main:b'Consolidate compiler generated dependencies of target subsys__random\n'
INFO:main:b'[ 81%] Built target subsys__random\n'
INFO:main:b'Consolidate compiler generated dependencies of target drivers__interrupt_controller\n'
INFO:main:b'[ 84%] Built target drivers__interrupt_controller\n'
INFO:main:b'Consolidate compiler generated dependencies of target drivers__serial\n'
INFO:main:b'[ 86%] Built target drivers__serial\n'
INFO:main:b'Consolidate compiler generated dependencies of target drivers__timer\n'
INFO:main:b'[ 88%] Built target drivers__timer\n'
INFO:main:b'Consolidate compiler generated dependencies of target zephyr_prebuilt\n'
INFO:main:b'[ 90%] Built target zephyr_prebuilt\n'
INFO:main:b'[ 91%] Built target linker_zephyr_final_script_target\n'
INFO:main:b'[ 91%] Built target gen_idt_output\n'
INFO:main:b'[ 92%] Built target staticIdt_o\n'
INFO:main:b'[ 93%] Built target irq_int_vector_map_o\n'
INFO:main:b'[ 94%] Built target irq_vectors_alloc_o\n'
INFO:main:b'[ 95%] Built target pagetables_bin_target\n'
INFO:main:b'[ 95%] Built target pagetables_o\n'
INFO:main:b'Consolidate compiler generated dependencies of target zephyr_final\n'
INFO:main:b'[ 98%] Built target zephyr_final\n'
INFO:main:b'[100%] [QEMU] CPU: qemu32,+nx,+pae\n'
[14:54:33] /Users/zhiwei.dong/test/tvm/src/runtime/micro/micro_session.cc:367: remote: microTVM Zephyr runtime - running
INFO:main:b'[100%] Built target run\n'
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/Users/zhiwei.dong/test/tvm/python/tvm/driver/tvmc/main.py", line 24, in
tvmc.main.main()
File "/Users/zhiwei.dong/test/tvm/python/tvm/driver/tvmc/main.py", line 115, in main
sys.exit(_main(sys.argv[1:]))
File "/Users/zhiwei.dong/test/tvm/python/tvm/driver/tvmc/main.py", line 103, in _main
return args.func(args)
File "/Users/zhiwei.dong/test/tvm/python/tvm/driver/tvmc/runner.py", line 277, in drive_run
options=options,
File "/Users/zhiwei.dong/test/tvm/python/tvm/driver/tvmc/runner.py", line 580, in run_module
module = tvm.micro.create_local_graph_executor(tvmc_package.graph, lib, dev)
File "/Users/zhiwei.dong/test/tvm/python/tvm/micro/session.py", line 214, in create_local_graph_executor
fcreate(graph_json_str, mod, lookup_remote_linked_param, device_type_id)
File "/Users/zhiwei.dong/test/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 237, in call
raise get_last_ffi_error()
tvm.error.RPCError: Traceback (most recent call last):
12: TVMFuncCall
11: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue
)#1}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
10: tvm::runtime::GraphExecutorCreate(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, tvm::runtime::Module const&, std::vector<DLDevice, std::allocator > const&, tvm::runtime::PackedFunc)
9: tvm::runtime::GraphExecutor::Init(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, tvm::runtime::Module, std::vector<DLDevice, std::allocator > const&, tvm::runtime::PackedFunc)
8: tvm::runtime::GraphExecutor::SetupStorage()
7: tvm::runtime::NDArray::Empty(tvm::runtime::ShapeTuple, DLDataType, DLDevice, tvm::runtime::Optionaltvm::runtime::String)
6: tvm::runtime::RPCDeviceAPI::AllocDataSpace(DLDevice, int, long const*, DLDataType, tvm::runtime::Optionaltvm::runtime::String)
5: tvm::runtime::RPCClientSession::AllocDataSpace(DLDevice, int, long const*, DLDataType, tvm::runtime::Optionaltvm::runtime::String)
4: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::RPCEndpoint::Init()::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
3: tvm::runtime::RPCEndpoint::HandleUntilReturnEvent(bool, std::function<void (tvm::runtime::TVMArgs)>)
2: tvm::runtime::RPCEndpoint::EventHandler::HandleNextEvent(bool, bool, std::function<void (tvm::runtime::TVMArgs)>)
1: tvm::runtime::RPCEndpoint::EventHandler::HandleProcessPacket(std::function<void (tvm::runtime::TVMArgs)>)
0: tvm::runtime::RPCEndpoint::EventHandler::HandleReturn(tvm::runtime::RPCCode, std::function<void (tvm::runtime::TVMArgs)>)
File "/Users/zhiwei.dong/test/tvm/src/runtime/rpc/rpc_endpoint.cc", line 376
RPCError: Error caught from RPC call:

Environment

Reference VM is my environment.

Steps to reproduce

Just download my model, and follow above tutorial, error will present when executing dvmc run cmd.

@Theoo1997
Copy link

Hi,
I face the same problem. Do we have any update about the issue?

@zhiwei-dong
Copy link
Author

zhiwei-dong commented Sep 8, 2022

no, but we can contact using email for more details, dongz.cn@outlook.con

@areusch areusch added the needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it label Oct 19, 2022
@hpanda-naut hpanda-naut added vert:micro MicroTVM: src/runtime/micro, src/runtime/crt, apps/microtvm and removed needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it labels Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug vert:micro MicroTVM: src/runtime/micro, src/runtime/crt, apps/microtvm
Projects
None yet
Development

No branches or pull requests

4 participants