(features, labels, batch_size)
return padding_mask, features, labels
Pads out the batch dimension of features and labels.
Pads out the batch dimension of features and labels.
Pads out the batch dimension of features and labels .
def pad_features_and_labels(features, labels, batch_size):
    """Pads out the batch dimension of features and labels."""
    real_batch_size = array_ops.shape(
        _PaddingSignals._find_any_tensor(features))[0]

    batch_size_tensor = constant_op.constant(batch_size, dtypes.int32)

    check_greater = check_ops.assert_greater_equal(
        batch_size_tensor,
        real_batch_size,
        data=(batch_size_tensor, real_batch_size),
        message='The real batch size should not be greater than batch_size.')

    with ops.control_dependencies([check_greater]):
      missing_count = batch_size_tensor - real_batch_size

    def pad_single_tensor(tensor):
      """Pads out the batch dimension of a tensor to the complete batch_size."""
      rank = len(tensor.shape)
      assert rank > 0
      padding = array_ops.stack([[0, missing_count]] + [[0, 0]] * (rank - 1))
      padded_shape = (batch_size,) + tuple(tensor.shape[1:])
      padded_tensor = array_ops.pad(tensor, padding)
      padded_tensor.set_shape(padded_shape)
      return padded_tensor

    def nest_pad(tensor_or_dict):
      return nest.map_structure(pad_single_tensor, tensor_or_dict)

    features = nest_pad(features)
    if labels is not None:
      labels = nest_pad(labels)

    padding_mask = _PaddingSignals._padding_mask(real_batch_size, missing_count,
                                                 batch_size)

    return padding_mask, features, labels
def pad_features_and_labels ( features , labels , batch_size ) : real_batch_size = array_ops . shape ( _PaddingSignals . _find_any_tensor ( features ) ) [ 0 ] batch_size_tensor = constant_op . constant ( batch_size , dtypes . int32 ) check_greater = check_ops . assert_greater_equal ( batch_size_tensor , real_batch_size , data = ( batch_size_tensor , real_batch_size ) , message = 'The real batch size should not be greater than batch_size.' ) with ops . control_dependencies ( [ check_greater ] ) : missing_count = batch_size_tensor - real_batch_size def pad_single_tensor ( tensor ) : """Pads out the batch dimension of a tensor to the complete batch_size.""" rank = len ( tensor . shape ) assert rank > 0 padding = array_ops . stack ( [ [ 0 , missing_count ] ] + [ [ 0 , 0 ] ] * ( rank - 1 ) ) padded_shape = ( batch_size , ) + tuple ( tensor . shape [ 1 : ] ) padded_tensor = array_ops . pad ( tensor , padding ) padded_tensor . set_shape ( padded_shape ) return padded_tensor def nest_pad ( tensor_or_dict ) : return nest . map_structure ( pad_single_tensor , tensor_or_dict ) features = nest_pad ( features ) if labels is not None : labels = nest_pad ( labels ) padding_mask = _PaddingSignals . _padding_mask ( real_batch_size , missing_count , batch_size ) return padding_mask , features , labels