keras2c icon indicating copy to clipboard operation
keras2c copied to clipboard

k2c_maxpool2d in time_distributed gives segmentation fault

Open leonardopaffi opened this issue 3 years ago • 1 comments

The code generated by keras2c is the following:

for (size_t i = 0; i < time_distributed_1_timesteps; ++i)
{
    max_pooling2d_timeslice_input.array = &time_distributed_output.array[i * time_distributed_1_in_offset];
    max_pooling2d_timeslice_output.array = &time_distributed_1_output.array[i * time_distributed_1_out_offset];
    k2c_maxpool2d(&max_pooling2d_timeslice_output, &max_pooling2d_timeslice_input, max_pooling2d_pool_size,
					    max_pooling2d_stride);
}

It compiles fine, but when in execution, it raises an error (SIGSEGV) when calling k2c_maxpool2d()

leonardopaffi avatar Jul 25 '22 09:07 leonardopaffi

More precisely the problem appears to be here:

Thread 1 received signal SIGSEGV, Segmentation fault.
k2c_maxpool2d (output=0x907b1fdb30, input=0x907b1fdc90, pool_size=0x907b1fe3b0, stride=0x907b1fe3c0) at keras2c/include/k2c_pooling_layers.c:105
105	                output->array[l+j+i] = input->array[m+k+i];

image

leonardopaffi avatar Jul 25 '22 15:07 leonardopaffi