Class BandPart<T extends TType>

java.lang.Object
org.tensorflow.op.RawOp
org.tensorflow.op.linalg.BandPart<T>
All Implemented Interfaces:
Shaped, Op, Operand<T>

@Operator(group="linalg") public final class BandPart<T extends TType> extends RawOp implements Operand<T>
Copy a tensor setting everything outside a central band in each innermost matrix to zero. The band part is computed as follows: Assume input has k dimensions [I, J, K, ..., M, N], then the output is a tensor with the same shape where

band[i, j, k, ..., m, n] = in_band(m, n) * input[i, j, k, ..., m, n].

The indicator function

in_band(m, n) = (num_lower < 0 || (m-n) <= num_lower)) && (num_upper < 0 || (n-m) <= num_upper).

For example:

# if 'input' is [[ 0,  1,  2, 3]
#                [-1,  0,  1, 2]
#                [-2, -1,  0, 1]
#                [-3, -2, -1, 0]],

tf.linalg.band_part(input, 1, -1) ==> [[ 0,  1,  2, 3]
                                       [-1,  0,  1, 2]
                                       [ 0, -1,  0, 1]
                                       [ 0,  0, -1, 0]],

tf.linalg.band_part(input, 2, 1) ==> [[ 0,  1,  0, 0]
                                      [-1,  0,  1, 0]
                                      [-2, -1,  0, 1]
                                      [ 0, -2, -1, 0]]

Useful special cases:

 tf.linalg.band_part(input, 0, -1) ==> Upper triangular part.
 tf.linalg.band_part(input, -1, 0) ==> Lower triangular part.
 tf.linalg.band_part(input, 0, 0) ==> Diagonal.
  • Field Details

  • Constructor Details

    • BandPart

      public BandPart(Operation operation)
  • Method Details

    • create

      @Endpoint(describeByClass=true) public static <T extends TType, U extends TNumber> BandPart<T> create(Scope scope, Operand<T> input, Operand<U> numLower, Operand<U> numUpper)
      Factory method to create a class wrapping a new MatrixBandPart operation.
      Type Parameters:
      T - data type for MatrixBandPart output and operands
      U - data type for MatrixBandPart output and operands
      Parameters:
      scope - current scope
      input - Rank k tensor.
      numLower - 0-D tensor. Number of subdiagonals to keep. If negative, keep entire lower triangle.
      numUpper - 0-D tensor. Number of superdiagonals to keep. If negative, keep entire upper triangle.
      Returns:
      a new instance of BandPart
    • band

      public Output<T> band()
      Gets band. Rank k tensor of the same shape as input. The extracted banded tensor.
      Returns:
      band.
    • asOutput

      public Output<T> asOutput()
      Description copied from interface: Operand
      Returns the symbolic handle of the tensor.

      Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.

      Specified by:
      asOutput in interface Operand<T extends TType>
      See Also: