xboot / libonnx

A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why does every test in the model, node and simple folders fail?

abhinandanudupa opened this issue · comments

I have compiled libonnx on a fresh installation of Ubuntu - installed all the prerequisites ran just make and tried running the tests one by one. But I find the every test that I run fails and I am not able to figure out why.

Here is what I did:

  • Installed the latest LTS release of Ubuntu
  • Installed make, build-essential, git and libsdl2-gfx (Did do other stuff but those would not mess with this)
  • Ran make all to compile
  • Ran the tests on many examples: ./tests ./model/mnist_8/
  • But every test that I have tried has just failed!
$ ./TESTING/libonnx/tests/tests ./TESTING/libonnx/tests/model/mnist_8/
[test_data_set_0]                                                                       [FAIL]
[test_data_set_1]                                                                       [FAIL]
[test_data_set_2]                                                                       [FAIL]
  • All those in the simple and model folders fail but those in pytorch-* succeed partially
  • Is this because of a missing operator? (no Unsupported opset message has been displayed as in the pytorch tests)
  • Nonetheless the example for handwriting recognition has identified the number correctly most of the time
usage:
    tests <DIRECTORY>
examples:
    tests ./tests/model
    tests ./tests/node
    tests ./tests/pytorch-converted
    tests ./tests/pytorch-operator
    tests ./tests/simple

~/libonnx/libonnx$ ./tests/tests ./tests/model
[mnist_8](test_data_set_0)                                                              [OKAY]
[mnist_8](test_data_set_1)                                                              [OKAY]
[mnist_8](test_data_set_2)                                                              [OKAY]
[mobilenet_v2_7](test_data_set_0)                                                       [OKAY]
[mobilenet_v2_7](test_data_set_1)                                                       [OKAY]
[mobilenet_v2_7](test_data_set_2)                                                       [OKAY]
[shufflenet_v1_9](test_data_set_0)                                                      [OKAY]
[shufflenet_v1_9](test_data_set_1)                                                      [OKAY]
[shufflenet_v1_9](test_data_set_2)                                                      [OKAY]
[squeezenet_v11_7](test_data_set_0)                                                     [OKAY]
[squeezenet_v11_7](test_data_set_1)                                                     [OKAY]
[squeezenet_v11_7](test_data_set_2)                                                     [OKAY]
[super_resolution_10](test_data_set_0)                                                  [OKAY]
[tinyyolo_v2_8](test_data_set_0)                                                        [OKAY]

Update:
Running ./libonnx/tests/tests ./libonnx/tests/model/$(wildcard *) will give the required output:

wildcard: command not found
[mnist_8](test_data_set_0)                                                              [OKAY]
[mnist_8](test_data_set_1)                                                              [OKAY]
[mnist_8](test_data_set_2)                                                              [OKAY]
[mobilenet_v2_7](test_data_set_0)                                                       [OKAY]
[mobilenet_v2_7](test_data_set_1)                                                       [OKAY]
[mobilenet_v2_7](test_data_set_2)                                                       [OKAY]
[shufflenet_v1_9](test_data_set_0)                                                      [OKAY]
[shufflenet_v1_9](test_data_set_1)                                                      [OKAY]
[shufflenet_v1_9](test_data_set_2)                                                      [OKAY]
[squeezenet_v11_7](test_data_set_0)                                                     [OKAY]
[squeezenet_v11_7](test_data_set_1)                                                     [OKAY]
[squeezenet_v11_7](test_data_set_2)                                                     [OKAY]
[super_resolution_10](test_data_set_0)                                                  [OKAY]
[tinyyolo_v2_8](test_data_set_0)                                                        [OKAY]
[tinyyolo_v2_8](test_data_set_1)                                                        [OKAY]
[tinyyolo_v2_8](test_data_set_2)                                                        [OKAY]

Why is this so?
Can you explain?

Little did I realise that wildcard was a make function and not a bash function.