def block_group(inputs, filters, strides, use_projection, block_fn, block_repeats, batch_norm_relu=nn_ops.BatchNormRelu(), dropblock=nn_ops.Dropblock(), drop_connect_rate=None, data_format='channels_last', name=None, is_training=False):
    "Builds one group of blocks.\n\n  Args:\n    inputs: a `Tensor` of size `[batch, channels, height, width]`.\n    filters: an `int` number of filters for the first two convolutions.\n    strides: an `int` block stride. If greater than 1, this block will\n      ultimately downsample the input.\n    use_projection: a `bool` for whether this block should use a projection\n      shortcut (versus the default identity shortcut). This is usually `True`\n      for the first block of a block group, which may change the number of\n      filters and the resolution.\n    block_fn: the `function` for the block to use within the model\n    block_repeats: an `int` number of blocks to repeat in the group.\n    batch_norm_relu: an operation that is added after convolutions, including a\n      batch norm layer and an optional relu activation.\n    dropblock: a drop block layer that is added after convluations. Note that\n      the default implementation does not apply any drop block.\n    drop_connect_rate: a 'float' number that specifies the drop connection rate\n      of the block. Note that the default `None` means no drop connection is\n      applied.\n    data_format: a `str` that specifies the data format.\n    name: a `str` name for the Tensor output of the block layer.\n    is_training: a `bool` if True, the model is in training mode.\n\n  Returns:\n    The output `Tensor` of the block layer.\n  "
    inputs = block_fn(inputs, filters, strides, use_projection=use_projection, batch_norm_relu=batch_norm_relu, dropblock=dropblock, drop_connect_rate=drop_connect_rate, data_format=data_format, is_training=is_training)
    for _ in range(1, block_repeats):
        inputs = block_fn(inputs, filters, 1, use_projection=False, batch_norm_relu=batch_norm_relu, dropblock=dropblock, drop_connect_rate=drop_connect_rate, data_format=data_format, is_training=is_training)
    return tf.identity(inputs, name)
Builds one group of blocks.

Args:
  inputs: a `Tensor` of size `[batch, channels, height, width]`.
  filters: an `int` number of filters for the first two convolutions.
  strides: an `int` block stride. If greater than 1, this block will
    ultimately downsample the input.
  use_projection: a `bool` for whether this block should use a projection
    shortcut (versus the default identity shortcut). This is usually `True`
    for the first block of a block group, which may change the number of
    filters and the resolution.
  block_fn: the `function` for the block to use within the model
  block_repeats: an `int` number of blocks to repeat in the group.
  batch_norm_relu: an operation that is added after convolutions, including a
    batch norm layer and an optional relu activation.
  dropblock: a drop block layer that is added after convluations. Note that
    the default implementation does not apply any drop block.
  drop_connect_rate: a 'float' number that specifies the drop connection rate
    of the block. Note that the default `None` means no drop connection is
    applied.
  data_format: a `str` that specifies the data format.
  name: a `str` name for the Tensor output of the block layer.
  is_training: a `bool` if True, the model is in training mode.

Returns:
  The output `Tensor` of the block layer.
def block_group(inputs, filters, strides, use_projection, block_fn, block_repeats, batch_norm_relu=nn_ops.BatchNormRelu(), dropblock=nn_ops.Dropblock(), drop_connect_rate=None, data_format='channels_last', name=None, is_training=False):
    "Builds one group of blocks.\n\n  Args:\n    inputs: a `Tensor` of size `[batch, channels, height, width]`.\n    filters: an `int` number of filters for the first two convolutions.\n    strides: an `int` block stride. If greater than 1, this block will\n      ultimately downsample the input.\n    use_projection: a `bool` for whether this block should use a projection\n      shortcut (versus the default identity shortcut). This is usually `True`\n      for the first block of a block group, which may change the number of\n      filters and the resolution.\n    block_fn: the `function` for the block to use within the model\n    block_repeats: an `int` number of blocks to repeat in the group.\n    batch_norm_relu: an operation that is added after convolutions, including a\n      batch norm layer and an optional relu activation.\n    dropblock: a drop block layer that is added after convluations. Note that\n      the default implementation does not apply any drop block.\n    drop_connect_rate: a 'float' number that specifies the drop connection rate\n      of the block. Note that the default `None` means no drop connection is\n      applied.\n    data_format: a `str` that specifies the data format.\n    name: a `str` name for the Tensor output of the block layer.\n    is_training: a `bool` if True, the model is in training mode.\n\n  Returns:\n    The output `Tensor` of the block layer.\n  "
    inputs = block_fn(inputs, filters, strides, use_projection=use_projection, batch_norm_relu=batch_norm_relu, dropblock=dropblock, drop_connect_rate=drop_connect_rate, data_format=data_format, is_training=is_training)
    for _ in range(1, block_repeats):
        inputs = block_fn(inputs, filters, 1, use_projection=False, batch_norm_relu=batch_norm_relu, dropblock=dropblock, drop_connect_rate=drop_connect_rate, data_format=data_format, is_training=is_training)
    return tf.identity(inputs, name)