def _get_block_sizes_v1(resnet_size):
    """Retrieve the size of each block_layer in the ResNet model.
    The number of block layers used for the Resnet model varies according
    to the size of the model. This helper grabs the layer set we want, throwing
    an error if a non-standard size has been selected.
    Args:
        resnet_size: The number of convolutional layers needed in the model. 6n+2.
    Returns:
        A list of block sizes to use in building the model.
    Raises:
        KeyError: if invalid resnet_size is received.
    Remarks:
        Used in gt_ressize_dependent_params_v1.
    """
    choices = {
        8: [1, 1, 1], # 0.09M, (16, 32, 64)
        14: [2, 2, 2], # 0.18M
        20: [3, 3, 3], # 0.25M
        32: [5, 5, 5], # 0.46M
        44: [7, 7, 7], # 0.66M
        56: [9, 9, 9], # 0.85M
        110: [18, 18, 18], # 1.7M
        218: [36, 36, 36] # 3.4M
    }

    try:
        return choices[resnet_size]
        
    except KeyError:
        err = ('Could not find layers for selected Resnet v1 size.\n'
            'Size received: {}; sizes allowed: {}.'.format(
                resnet_size, choices.keys()))
        raise ValueError(err)