I’m trying to replicate a network presented in a paper. Its a encoder decoder network similar to the U-Net.
All the information provided for each step are the input and output channels for each convolution layer, which is usually the case with networks presented in papers. Now this is fine and easily implemented but the problem always arises of a size mismatch when adding layers at the decoder stage like the feed forward operations in U-Net.
for example c1.shape = [1, 64, 38, 64, 64] and c2.shape = [1, 64, 32, 64, 64]
To get them to add (or use torch.cat) they have to be the same size and what I end up doing is keep changing parameters such as the stride, padding, kernel_size until I get the desired output size.
Is this the correct or recommended way of dealing with such a situation? I’m asking because I’m sure using a different kernel size and stride would give different outputs but without these parameters I cannot replicate the network and get the system to work.
Thanks