Comments (9)
hey ho, thanks for reporting this.
could you run
make clean
make TRACE_LEVEL=1 connxr
./build/connxr test/tiny_yolov2/Model.onnx test/tiny_yolov2/test_data_set_0/input_0.pb 2>&1 | tee tiny_yolov2.log
and post the tiny_yolov2.log
file ?
from connxr.
pi@raspberrypi:~/cONNXr-master $ ./build/connxr test/tiny_yolov2/Model.onnx test/tiny_yolov2/test_data_set_0/input_0.pb
Loading model test/tiny_yolov2/Model.onnx...[ENTRY 1] src/utils.c:144 entering function openOnnxFile
[TRACE 1] src/utils.c:161 length of file is 63480982
[EXIT 1] src/utils.c:165 exiting function openOnnxFile
ok!
Loading input test/tiny_yolov2/test_data_set_0/input_0.pb...[ENTRY 1] src/utils.c:170 entering function openTensorProtoFile
[TRACE 1] src/utils.c:173 Opening .pb file test/tiny_yolov2/test_data_set_0/input_0.pb
[TRACE 1] src/utils.c:189 length of file 2076688
[EXIT 1] src/utils.c:193 exiting function openTensorProtoFile
ok!
[ENTRY 1] src/utils.c:203 entering function convertRawDataOfTensorProto
[TRACE 1] src/utils.c:218 Tensor has raw data. Unserializing it
[TRACE 1] src/utils.c:219 Tensor type = 1
[EXIT 1] src/utils.c:291 exiting function convertRawDataOfTensorProto
values = 1
Resolving model...
[ENTRY 1] src/inference.c:18 entering function resolve
[ENTRY 1] src/utils.c:15 entering function searchTensorProtoByName
[TRACE 1] src/utils.c:16 Searching for TensorProto with name=image
[TRACE 1] src/utils.c:34 Found TensorProto in inputs to de model with name=image
[EXIT 1] src/utils.c:35 exiting function searchTensorProtoByName
[ENTRY 1] src/utils.c:15 entering function searchTensorProtoByName
[TRACE 1] src/utils.c:16 Searching for TensorProto with name=scalerPreprocessor_scale
[TRACE 1] src/utils.c:23 Found TensorProto in initializer list with name=scalerPreprocessor_scale
[EXIT 1] src/utils.c:24 exiting function searchTensorProtoByName
[ENTRY 1] src/utils.c:353 entering function init_tensor_proto
[EXIT 1] src/utils.c:410 exiting function init_tensor_proto
[ENTRY 1] src/operators/ai.onnx/Mul/7/prepare_operator__ai_onnx__mul__7.c:11 entering function prepare_operator__ai_onnx__mul__7
[ENTRY 1] src/utils.c:66 entering function searchInputByName
[EXIT 1] src/utils.c:90 exiting function searchInputByName
[ENTRY 1] src/utils.c:102 entering function searchOutputByName
[EXIT 1] src/utils.c:116 exiting function searchOutputByName
Killed
from connxr.
thanks! now we know the problem lies in prepare_operator__ai_onnx__mul__7
so please run once again (no need to recompile) and post the log
CONNXR_TRACE_FUNCTION="prepare_operator__ai_onnx__mul__7:9" ./build/connxr test/tiny_yolov2/Model.onnx test/tiny_yolov2/test_data_set_0/input_0.pb
from connxr.
pi@raspberrypi:~/cONNXr-master $ CONNXR_TRACE_FUNCTION="prepare_operator__ai_onnx__mul__7:9" ./build/connxr test/tiny_yolov2/Model.onnx test/tiny_yolov2/test_data_set_0/input_0.pb
Loading model test/tiny_yolov2/Model.onnx...[ENTRY 1] src/utils.c:144 entering function openOnnxFile
[TRACE 1] src/utils.c:161 length of file is 63480982
[EXIT 1] src/utils.c:165 exiting function openOnnxFile
ok!
Loading input test/tiny_yolov2/test_data_set_0/input_0.pb...[ENTRY 1] src/utils.c:170 entering function openTensorProtoFile
[TRACE 1] src/utils.c:173 Opening .pb file test/tiny_yolov2/test_data_set_0/input_0.pb
[TRACE 1] src/utils.c:189 length of file 2076688
[EXIT 1] src/utils.c:193 exiting function openTensorProtoFile
ok!
[ENTRY 1] src/utils.c:203 entering function convertRawDataOfTensorProto
[TRACE 1] src/utils.c:218 Tensor has raw data. Unserializing it
[TRACE 1] src/utils.c:219 Tensor type = 1
Killed
from connxr.
wow, not even as far as before :D
there seems to be something very basic broken.
could you test if this occurs randomly or always at the same point?
than try to building it again with TRACE_LEVEL=9
to enable all tracing levels and post the log again.
you could also try to produce a core dump by running ulimit -S -c unlimited
and send it over with the connxr binary,
than I can at least identify the problem further.
will test this on my raspberry pi 1 (which has the same chipset as the zero).
but this will take a moment (days,weeks) on my side.
so if you want to debug this, feel free :D
from connxr.
One simple thing this could be is a failing malloc without error handling. There are still quite few in the codebase and tiny yolo is not as tiny as the name suggests :D
You could simply run it on another machine and check the ram usage (it runs a few minutes) (I checked and it's almost 200MB)
from connxr.
There are still quite few in the codebase and tiny yolo is not as tiny as the name suggests :D
This was exactly was I was thinking when I read raspberry pi. Tiny yolo is quite big and computation intensive. But really nice that @iamfaith you are trying cONNXr in a RPI. Have you tried the other models we have?
from connxr.
I hate this ui x.x
from connxr.
One problem is, that the allocated memory of the tensors is not freed when they are not needed anymore.
I had the same problem and added the functionality for freeing the tensors, but the algorithm only works for linear networks.
from connxr.
Related Issues (20)
- How to convert the model input to a .pb file?
- Two missing null check for return values of searchAttributeNyName()
- Help running inference using yolov5, 6 & 8 HOT 4
- remove/integrate old trace.{c,h} into tracing.h
- Add C++ ifdef inside header to disable mangling
- Github action windows build fails
- Wrong printf format string for type int32_t
- Support for hardware without file systems HOT 2
- Memory leaks HOT 4
- Add support for ConvTranspose2d
- Tracing not compatible with C99 HOT 4
- Benchmarking and time.h on Windows
- cannot find -lcunit HOT 2
- build fail on linux and mac HOT 5
- src/inference.c line 29 HOT 1
- using macro function to reduce execute_operator_***.c file to single c source file HOT 1
- modify src/inference.c file target to resolve once and not depend on inputs HOT 1
- Add operator can be write in macro without type HOT 1
- example use other input HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from connxr.