Hey, I’ve been trying to run a nn on the M7 and having really strange results - the network will load correctly, and doing a dry run will correctly show all the layers, but when I actually run it it will run once (and give me values) but as soon as I try to run it again, even as a dry run, the M7 will reboot. I suspect some sort of memory corruption is happening. Here is the output of the dry run for the network, any ideas? It’s not running out of memory, everything fits comfortably on the heap.
forward: arm_convolve_HWC_q7_basic(input_data, 30, 1, conv_wt, 12, 5, 0, 1, conv_bias, 0, 7, buffer1, 26, col_buffer, 0);
forward: arm_relu_q7(buffer1, 261612);
forward: arm_convolve_HWC_q7_fast(buffer1, 26, 12, conv_wt, 16, 3, 0, 1, conv_bias, 0, 10, buffer2, 24, col_buffer, 0);
forward: arm_relu_q7(buffer2, 241416);
forward: arm_convolve_HWC_q7_fast(buffer2, 24, 16, conv_wt, 16, 3, 0, 1, conv_bias, 0, 8, buffer1, 22, col_buffer, 0);
forward: arm_relu_q7(buffer1, 221216);
forward: arm_maxpool_q7_HWC(buffer1, 22, 16, 2, 0, 2, 6, col_buffer, buffer2);
forward: arm_convolve_HWC_q7_basic(buffer2, 11, 16, conv_wt, 24, 4, 0, 1, conv_bias, 0, 6, buffer1, 8, col_buffer, 0);
forward: arm_relu_q7(buffer1, 8324);
forward: arm_convolve_HWC_q7_fast(buffer1, 8, 24, conv_wt, 32, 3, 0, 1, conv_bias, 0, 9, buffer2, 6, col_buffer, 0);
forward: arm_relu_q7(buffer2, 6132);
forward: arm_fully_connected_q7_opt(buffer2, ip_wt, 192, 32, 0, 6, ip_bias, buffer1, col_buffer);
forward: arm_relu_q7(buffer1, 1132);
forward: arm_fully_connected_q7_opt(buffer1, ip_wt, 32, 32, 0, 6, ip_bias, buffer2, col_buffer);
forward: arm_relu_q7(buffer2, 1132);
forward: arm_fully_connected_q7_opt(buffer2, ip_wt, 32, 10, 0, 7, ip_bias, output_data, col_buffer);