Hello! I have made an initial architecture draft according to the model.summary() output. Could you please point me on my mistakes where should i fix it? I’m not really good at math i’ve literally copied this learn.summary() outputs as blocks, but im still confused at concatenations. Any ideas how to make it more simple and solid?
This is my model.summary() output:
> DynamicUnet (Input shape: 16)
===========================================================================
Layer (type) Output Shape Param # Trainable
===========================================================================
16 x 64 x 64 x 64
Conv2d 9408 True
BatchNorm2d 128 True
ReLU
MaxPool2d
Conv2d 36864 True
BatchNorm2d 128 True
ReLU
Conv2d 36864 True
BatchNorm2d 128 True
Conv2d 36864 True
BatchNorm2d 128 True
ReLU
Conv2d 36864 True
BatchNorm2d 128 True
Conv2d 36864 True
BatchNorm2d 128 True
ReLU
Conv2d 36864 True
BatchNorm2d 128 True
____________________________________________________________________________
16 x 128 x 16 x 16
Conv2d 73728 True
BatchNorm2d 256 True
ReLU
Conv2d 147456 True
BatchNorm2d 256 True
Conv2d 8192 True
BatchNorm2d 256 True
Conv2d 147456 True
BatchNorm2d 256 True
ReLU
Conv2d 147456 True
BatchNorm2d 256 True
Conv2d 147456 True
BatchNorm2d 256 True
ReLU
Conv2d 147456 True
BatchNorm2d 256 True
Conv2d 147456 True
BatchNorm2d 256 True
ReLU
Conv2d 147456 True
BatchNorm2d 256 True
____________________________________________________________________________
16 x 256 x 8 x 8
Conv2d 294912 True
BatchNorm2d 512 True
ReLU
Conv2d 589824 True
BatchNorm2d 512 True
Conv2d 32768 True
BatchNorm2d 512 True
Conv2d 589824 True
BatchNorm2d 512 True
ReLU
Conv2d 589824 True
BatchNorm2d 512 True
Conv2d 589824 True
BatchNorm2d 512 True
ReLU
Conv2d 589824 True
BatchNorm2d 512 True
Conv2d 589824 True
BatchNorm2d 512 True
ReLU
Conv2d 589824 True
BatchNorm2d 512 True
Conv2d 589824 True
BatchNorm2d 512 True
ReLU
Conv2d 589824 True
BatchNorm2d 512 True
Conv2d 589824 True
BatchNorm2d 512 True
ReLU
Conv2d 589824 True
BatchNorm2d 512 True
____________________________________________________________________________
16 x 512 x 4 x 4
Conv2d 1179648 True
BatchNorm2d 1024 True
ReLU
Conv2d 2359296 True
BatchNorm2d 1024 True
Conv2d 131072 True
BatchNorm2d 1024 True
Conv2d 2359296 True
BatchNorm2d 1024 True
ReLU
Conv2d 2359296 True
BatchNorm2d 1024 True
Conv2d 2359296 True
BatchNorm2d 1024 True
ReLU
Conv2d 2359296 True
BatchNorm2d 1024 True
BatchNorm2d 1024 True
ReLU
____________________________________________________________________________
16 x 1024 x 4 x 4
Conv2d 4719616 True
ReLU
____________________________________________________________________________
16 x 512 x 4 x 4
Conv2d 4719104 True
ReLU
____________________________________________________________________________
16 x 1024 x 4 x 4
Conv2d 525312 True
ReLU
PixelShuffle
BatchNorm2d 512 True
Conv2d 2359808 True
ReLU
Conv2d 2359808 True
ReLU
ReLU
____________________________________________________________________________
16 x 1024 x 8 x 8
Conv2d 525312 True
ReLU
PixelShuffle
BatchNorm2d 256 True
Conv2d 1327488 True
ReLU
Conv2d 1327488 True
ReLU
ReLU
____________________________________________________________________________
16 x 768 x 16 x 16
Conv2d 295680 True
ReLU
PixelShuffle
BatchNorm2d 128 True
Conv2d 590080 True
ReLU
Conv2d 590080 True
ReLU
ReLU
____________________________________________________________________________
16 x 512 x 32 x 32
Conv2d 131584 True
ReLU
PixelShuffle
BatchNorm2d 128 True
____________________________________________________________________________
16 x 96 x 64 x 64
Conv2d 165984 True
ReLU
Conv2d 83040 True
ReLU
ReLU
____________________________________________________________________________
16 x 384 x 64 x 64
Conv2d 37248 True
ReLU
PixelShuffle
ResizeToOrig
MergeLayer
Conv2d 88308 True
ReLU
Conv2d 88308 True
Sequential
ReLU
____________________________________________________________________________
16 x 3 x 128 x 128
Conv2d 300 True
____________________________________________________________________________
Total params: 41,221,268
Total trainable params: 41,221,268
Total non-trainable params: 0
The diagram I made
Does this make any sense?