먼저 기본 블록을 사용하는 ResNet18과 ResNet34의 Config를 정의합니다. 즉, 블록은 기본 블록(BasicBlock)을 사용하도록 하며, 블록(n_blocks)과 채널(channels)의 크기를 각각 지정합니다.
코드 6-77 기본 블록을 사용하여 ResNetConfig 정의
resnet18_config = ResNetConfig(block=BasicBlock,
n_blocks=[2,2,2,2],
channels=[64,128,256,512])
resnet34_config = ResNetConfig(block=BasicBlock,
n_blocks=[3,4,6,3],
channels=[64,128,256,512])
이번에는 병목 블록을 사용하는 ResNet50, ResNet101, ResNet152의 Config를 정의합니다. 즉, 블록은 병목 블록(Bottleneck)를 사용하도록 하며, 블록(n_blocks)과 채널(channels)의 크기를 각각 지정합니다.
코드 6-78 병목 블록을 사용하여 ResNetConfig 정의
resnet50_config = ResNetConfig(block=Bottleneck,
n_blocks=[3,4,6,3],
channels=[64,128,256,512])
resnet101_config = ResNetConfig(block=Bottleneck,
n_blocks=[3,4,23,3],
channels=[64,128,256,512])
resnet152_config = ResNetConfig(block=Bottleneck,
n_blocks=[3,8,36,3],
channels=[64,128,256,512])