Doesn’t this apply the softmax over all the pixels in the output image? I need to apply it to each conv operation. Let’s say we have a kernel with size of [3, 3] and image [10, 10].
The layer I want should do:
softmax(image[0:3, 0:3] * kernel), softmax(image[0:3, 1:4] * kernel) ... 
softmax(image[1:4, 0:3] * kernel), softmax(image[1:4, 1:4] * kernel) ...  
...

Does this makes sense?