W3cubDocs

/TensorFlow C++

tensorflow::ops::MatrixDiagPart

#include <array_ops.h>

Returns the batched diagonal part of a batched tensor.

Summary

This operation returns a tensor with the diagonal part of the batched input. The diagonal part is computed as follows:

Assume input has k dimensions [I, J, K, ..., M, N], then the output is a tensor of rank k - 1 with dimensions [I, J, K, ..., min(M, N)] where:

diagonal[i, j, k, ..., n] = input[i, j, k, ..., n, n].

The input must be at least a matrix.

For example:

# 'input' is [[[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]]]
and input.shape = (2, 4, 4)
tf.matrix_diag_part(input) ==> [[1, 2, 3, 4], [5, 6, 7, 8]]
which has shape (2, 4)

Arguments:

  • scope: A Scope object
  • input: Rankk tensor where k >= 2.

Returns:

  • Output: The extracted diagonal(s) having shape diagonal.shape = input.shape[:-2] + [min(input.shape[-2:])].
Constructors and Destructors
MatrixDiagPart(const ::tensorflow::Scope & scope, ::tensorflow::Input input)
Public attributes
diagonal
Public functions
node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Public attributes

diagonal

::tensorflow::Output diagonal

Public functions

MatrixDiagPart

 MatrixDiagPart(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input
)

node

::tensorflow::Node * node() const 

operator::tensorflow::Input

operator::tensorflow::Input() const 

operator::tensorflow::Output

operator::tensorflow::Output() const 

© 2018 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/matrix-diag-part.html