code: def apply_with_summary(input_layer, operation, *op_args, **op_kwargs):
    
    return layers.apply_activation(input_layer.bookkeeper,
                                   input_layer.tensor,
                                   operation,
                                   activation_args=op_args,
                                   activation_kwargs=op_kwargs)
docs: Applies the given operation to `input_layer` and create a summary.
  
    Args:
      input_layer: The input layer for this op.
      operation: An operation that takes a tensor and the supplied args.
      *op_args: Extra arguments for operation.
      **op_kwargs: Keyword arguments for the operation.
    Returns:
      A new layer with operation applied.