def METHOD_NAME(self):
    """Resnet Generator"""
    def residual_block(layer_input):
        """Residual block described in paper"""
        d = Conv2D(64, kernel_size=3, strides=1, padding='same')(layer_input)
        d = BatchNormalization(momentum=0.8)(d)
        d = Activation('relu')(d)
        d = Conv2D(64, kernel_size=3, strides=1, padding='same')(d)
        d = BatchNormalization(momentum=0.8)(d)
        d = Add()([d, layer_input])
        return d
    # Image input
    img = Input(shape=self.img_shape)
    l1 = Conv2D(64, kernel_size=3, padding='same', activation='relu')(img)
    # Propogate signal through residual blocks
    r = residual_block(l1)
    for _ in range(self.residual_blocks - 1):
        r = residual_block(r)
    output_img = Conv2D(self.channels, kernel_size=3, padding='same', activation='tanh')(r)
    return Model(img, output_img)