tensorflow :: operaciones :: MatrixBandPart
#include <array_ops.h>
Copie un tensor que ponga a cero todo lo que está fuera de una banda central en cada matriz más interna.
Resumen
La parte de la band
se calcula de la siguiente manera: Suponga que la input
tiene k
dimensiones [I, J, K, ..., M, N]
, entonces la salida es un tensor con la misma forma donde
band[i, j, k, ..., m, n] = in_band(m, n) * input[i, j, k, ..., m, n]
.
La función del indicador
in_band(m, n) = (num_lower < 0 || (mn) <= num_lower)) && (num_upper < 0 || (nm) <= num_upper)
.
Por ejemplo:
# 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]]
Casos especiales útiles:
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.
Argumentos:
- alcance: un objeto de alcance
- entrada: Tensor de rango
k
. - num_lower: tensor 0-D. Número de subdiagonales a mantener. Si es negativo, mantenga todo el triángulo inferior.
- num_upper: tensor 0-D. Número de superdiagonales a mantener. Si es negativo, mantenga el triángulo superior completo.
Devoluciones:
-
Output
: Tensor de rangok
de la misma forma que la entrada. El tensor con bandas extraído.
Constructores y Destructores | |
---|---|
MatrixBandPart (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input num_lower, :: tensorflow::Input num_upper) |
Atributos públicos | |
---|---|
band | |
operation |
Funciones publicas | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Atributos públicos
banda
::tensorflow::Output band
operación
Operation operation
Funciones publicas
MatrixBandPart
MatrixBandPart( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input num_lower, ::tensorflow::Input num_upper )
nodo
::tensorflow::Node * node() const
operador :: tensorflow :: Entrada
operator::tensorflow::Input() const
operador :: tensorflow :: Salida
operator::tensorflow::Output() const