flujo tensor:: operaciones:: MatrizDiag
#include <array_ops.h>
Devuelve un tensor diagonal por lotes con valores diagonales por lotes determinados.
Resumen
Dada una diagonal
, esta operación devuelve un tensor con la diagonal
y todo lo demás rellenado con ceros. La diagonal se calcula de la siguiente manera:
Supongamos que diagonal
tiene k
dimensiones [I, J, K, ..., N]
, entonces la salida es un tensor de rango k+1
con dimensiones [I, J, K, ..., N, N]` donde:
output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n]
.
Por ejemplo:
# 'diagonal' is [[1, 2, 3, 4], [5, 6, 7, 8]]
and diagonal.shape = (2, 4)
tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0] [0, 2, 0, 0] [0, 0, 3, 0] [0, 0, 0, 4]], [[5, 0, 0, 0] [0, 6, 0, 0] [0, 0, 7, 0] [0, 0, 0, 8]]]
which has shape (2, 4, 4)
Argumentos:
- alcance: un objeto de alcance
- diagonal: Rango
k
, dondek >= 1
.
Devoluciones:
-
Output
: Rangok+1
, conoutput.shape = diagonal.shape + [diagonal.shape[-1]]
.
Constructores y destructores | |
---|---|
MatrixDiag (const :: tensorflow::Scope & scope, :: tensorflow::Input diagonal) |
Atributos públicos | |
---|---|
operation | |
output |
Funciones públicas | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Atributos públicos
operación
Operation operation
producción
::tensorflow::Output output
Funciones públicas
MatrizDiag
MatrixDiag( const ::tensorflow::Scope & scope, ::tensorflow::Input diagonal )
nodo
::tensorflow::Node * node() const
operador::tensorflow::Entrada
operator::tensorflow::Input() const
operador::tensorflow::Salida
operator::tensorflow::Output() const