block(in_channels , out_channels, *args, **kwargs, downsampling=downsampling),
*[block(out_channels * block.expansion,
out_channels, downsampling=1, *args, **kwargs) for _ in range(n - 1)]
I think the implementation of ResNet in PyTorch is complicated. They used this block expansions as factors, and if I recall they used dilation extensively although it was constant 1 all the time.
You may assume they wrote it this way to help their researches experiment.
If you need simpler implementation check it from resnet from scratch.
I understand it, but why exactly it’s shown block(—)*[block() for _ …]?