टेंसरफ़्लो:: ऑप्स:: मैट्रिक्सडायग

#include <array_ops.h>

किसी दिए गए बैच विकर्ण मान के साथ एक बैच विकर्ण टेंसर लौटाता है।

सारांश

एक diagonal देखते हुए, यह ऑपरेशन diagonal के साथ एक टेंसर लौटाता है और बाकी सब कुछ शून्य के साथ गद्देदार होता है। विकर्ण की गणना इस प्रकार की जाती है:

मान लें कि diagonal में k आयाम हैं [I, J, K, ..., N] , तो आउटपुट आयामों के साथ रैंक k+1 का एक टेंसर है [I, J, K, ..., N, N]` जहां:

output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n]

उदाहरण के लिए:

# '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)

तर्क:

  • स्कोप: एक स्कोप ऑब्जेक्ट
  • विकर्ण: रैंक k , जहां k >= 1

रिटर्न:

  • Output : रैंक k+1 , output.shape = diagonal.shape + [diagonal.shape[-1]] के साथ।

निर्माता और विध्वंसक

MatrixDiag (const :: tensorflow::Scope & scope, :: tensorflow::Input diagonal)

सार्वजनिक गुण

operation
output

सार्वजनिक समारोह

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

सार्वजनिक गुण

संचालन

Operation operation

आउटपुट

::tensorflow::Output output

सार्वजनिक समारोह

मैट्रिक्सडायग

 MatrixDiag(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input diagonal
)

नोड

::tensorflow::Node * node() const 

ऑपरेटर::टेन्सरफ़्लो::इनपुट

 operator::tensorflow::Input() const 

ऑपरेटर::टेन्सरफ़्लो::आउटपुट

 operator::tensorflow::Output() const