PROGrand/yolo-coreml

Runtime error on iOS app: Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)

Closed this issue · 3 comments

Hello, @PROGrand
After successful build of YOLOv4-Mish-416 model from here

I also successfully build your project
image

i imported it into ios project:
image

But on running the app on the device, I have runtime error Thread 1: EXC_BAD_ACCESS (code=1, address=0x0). It seems it is similar to this issue .

Do you suggest what I'm doing wrong?

I have Xcode 13.1 and Mac OS 12.0.1

PS. i executed it on your old code (i noticed you made few updates recently)

I will try your newer version and will let you know.
Thanks for the amazing work!

Btw, why you have removed the mish activation function from configs and ios app?
I found out that the new coreml converter doesn't support custom layers, is this is the reason?

New way of CoreML+coremltools is to make MLProgram via MIL. Activations like Mish, Swish and etc are translated by keras to Tanh layers. MIL programs compiles to mixed cpu,metal,hardware-nn pipeline. My objectives currently bounded by fast (small) networks like tiny. Such kind of MLPrograms run as fast as 300 fps on iPhones. I think this is because small programs are fits to hardware NN. But on large networks (10x more weights) performance decreases dramatically.

MLProgram compilation at runtime is drawback - takes minutes. So i will give old app a chance. May be later.

There was some issues with camera image buffer. Fixed.