I was playing around with the TVM darknet example on aarch64 (Compile YOLO-V2 and YOLO-V3 in DarkNet Models — tvm 0.9.dev182+ge718f5a8a documentation) which downloads libdarknet2.o.so and drops it into ~/.tvm_test_data/darknet. The shared library binary comes from https://github.com/dmlc/web-data/blob/main/darknet/ and there is only an x86-64 version which obviously leads to problems on aarch64.
I pulled the source for darknet down from https://github.com/pjreddie/darknet as well as what appears to be something later at https://github.com/AlexeyAB/darknet.git but both fail for different reasons each looks to be memory corruption of some sort.
Example: (library built from https://github.com/pjreddie/darknet)
97 upsample 2x 26 x 26 x 128 -> 52 x 52 x 128 98 route 97 36 99 conv 128 1 x 1 / 1 52 x 52 x 384 -> 52 x 52 x 128 0.266 BFLOPs 100 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs 101 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs 102 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs 103 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs 104 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs 105 conv 255 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 255 0.353 BFLOPs 106 yolo Loading weights from /home/tgall/.tvm_test_data/darknet/yolov3.weights...Done! free(): invalid next size (fast) Aborted
It would be great to know what source, branch, commit was used for the binary libdarknet2.0.so found at https://github.com/dmlc/web-data/blob/main/darknet/ – I’d like to debug and once fixed supply an aarch64 version of darknet for use.
Thanks! Tom