Have a question? Connect with the community at the TensorFlow Forum Visit Forum

BandPart

public final class BandPart

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.matrix_band_part(input, 1, -1) ==> [[ 0,  1,  2, 3]
                                        [-1,  0,  1, 2]
                                        [ 0, -1,  0, 1]
                                        [ 0,  0, -1, 0]],
 
 tf.matrix_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.matrix_band_part(input, 0, -1) ==> Upper triangular part.
  tf.matrix_band_part(input, -1, 0) ==> Lower triangular part.
  tf.matrix_band_part(input, 0, 0) ==> Diagonal.
 

Constants

String OP_NAME The name of this op, as known by TensorFlow core engine

Public Methods

Output <T>
asOutput ()
Returns the symbolic handle of the tensor.
Output <T>
band ()
Rank `k` tensor of the same shape as input.
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 BandPart operation.

Inherited Methods

Constants

public static final String OP_NAME

The name of this op, as known by TensorFlow core engine

Constant Value: "MatrixBandPart"

Public Methods

public Output <T> asOutput ()

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.

public Output <T> band ()

Rank `k` tensor of the same shape as input. The extracted banded tensor.

public static BandPart <T> create ( Scope scope, Operand <T> input, Operand <U> numLower, Operand <U> numUpper)

Factory method to create a class wrapping a new BandPart operation.

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