• इस पेज पर, यह जानकारी उपलब्ध है
  • सारांश
  • इस पेज पर, यह जानकारी उपलब्ध है
  • सारांश

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

#include <array_ops.h>

नए बैच वाले विकर्ण मानों के साथ बैचयुक्त मैट्रिक्स टेंसर लौटाता है।

सारांश

input और diagonal देखते हुए, यह ऑपरेशन input के समान आकार और मान के साथ एक टेंसर लौटाता है, अंतरतम मैट्रिक्स के निर्दिष्ट विकर्णों को छोड़कर। इन्हें diagonal में मानों द्वारा अधिलेखित कर दिया जाएगा।

input में r+1 आयाम हैं [I, J, ..., L, M, N] । जब k अदिश या k[0] == k[1] , diagonal r आयाम होता है [I, J, ..., L, max_diag_len] । अन्यथा, इसके r+1 आयाम हैं [I, J, ..., L, num_diags, max_diag_len]num_diags विकर्णों की संख्या है, num_diags = k[1] - k[0] + 1max_diag_len श्रेणी में सबसे लंबा विकर्ण है [k[0], k[1]] , max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))

आउटपुट [I, J, ..., L, M, N] आयामों के साथ रैंक k+1 का एक टेंसर है। यदि k अदिश राशि है या k[0] == k[1] :

output[i, j, ..., l, m, n]
 
= diagonal[i, j, ..., l, n-max(k[1], 0)] ; if n - m == k[1]
    input
[i, j, ..., l, m, n]              ; otherwise

अन्यथा,

output[i, j, ..., l, m, n]
 
= diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
    input
[i, j, ..., l, m, n]                         ; otherwise
जहां d = n - m , diag_index = k[1] - d , और index_in_diag = n - max(d, 0) + offset

offset शून्य है, सिवाय इसके कि जब विकर्ण का संरेखण दाईं ओर हो।

offset = max_diag_len - diag_len(d) ; if (`align` in {RIGHT_LEFT, RIGHT_RIGHT}
                                           
and `d >= 0`) or
                                         
(`align` in {LEFT_RIGHT, RIGHT_RIGHT}
                                           
and `d <= 0`)
         
0                          ; otherwise
जहां diag_len(d) = min(cols - max(d, 0), rows + min(d, 0))

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

# The main diagonal.
input
= np.array([[[7, 7, 7, 7],              # Input shape: (2, 3, 4)
                   
[7, 7, 7, 7],
                   
[7, 7, 7, 7]],
                 
[[7, 7, 7, 7],
                   
[7, 7, 7, 7],
                   
[7, 7, 7, 7]]])
diagonal
= np.array([[1, 2, 3],               # Diagonal shape: (2, 3)
                     
[4, 5, 6]])
tf
.matrix_set_diag(input, diagonal)
 
==> [[[1, 7, 7, 7],  # Output shape: (2, 3, 4)
       
[7, 2, 7, 7],
       
[7, 7, 3, 7]],
       
[[4, 7, 7, 7],
       
[7, 5, 7, 7],
       
[7, 7, 6, 7]]]

# A superdiagonal (per batch).
tf
.matrix_set_diag(input, diagonal, k = 1)
 
==> [[[7, 1, 7, 7],  # Output shape: (2, 3, 4)
       
[7, 7, 2, 7],
       
[7, 7, 7, 3]],
       
[[7, 4, 7, 7],
       
[7, 7, 5, 7],
       
[7, 7, 7, 6]]]

# A band of diagonals.
diagonals
= np.array([[[0, 9, 1],  # Diagonal shape: (2, 4, 3)
                       
[6, 5, 8],
                       
[1, 2, 3],
                       
[4, 5, 0]],
                     
[[0, 1, 2],
                       
[5, 6, 4],
                       
[6, 1, 2],
                       
[3, 4, 0]]])
tf
.matrix_set_diag(input, diagonals, k = (-1, 2))
 
==> [[[1, 6, 9, 7],  # Output shape: (2, 3, 4)
       
[4, 2, 5, 1],
       
[7, 5, 3, 8]],
       
[[6, 5, 1, 7],
       
[3, 1, 6, 2],
       
[7, 4, 2, 4]]]

# LEFT_RIGHT alignment.
diagonals
= np.array([[[9, 1, 0],  # Diagonal shape: (2, 4, 3)
                       
[6, 5, 8],
                       
[1, 2, 3],
                       
[0, 4, 5]],
                     
[[1, 2, 0],
                       
[5, 6, 4],
                       
[6, 1, 2],
                       
[0, 3, 4]]])
tf
.matrix_set_diag(input, diagonals, k = (-1, 2), align="LEFT_RIGHT")
 
==> [[[1, 6, 9, 7],  # Output shape: (2, 3, 4)
       
[4, 2, 5, 1],
       
[7, 5, 3, 8]],
       
[[6, 5, 1, 7],
       
[3, 1, 6, 2],
       
[7, 4, 2, 4]]]

  


 

Arguments:


         
  • scope: A Scope object

  •      
  • input: Rank r+1, where r >= 1.

  •      
  • diagonal: Rank r when k is an integer or k[0] == k[1]. Otherwise, it has rank r+1. k >= 1.

  •      
  • k: Diagonal offset(s). Positive value means superdiagonal, 0 refers to the main diagonal, and negative value means subdiagonals. k can be a single integer (for a single diagonal) or a pair of integers specifying the low and high ends of a matrix band. k[0] must not be larger than k[1].

  •    


 

Optional attributes (see Attrs):


         
  • align: Some diagonals are shorter than max_diag_len and need to be padded. align is a string specifying how superdiagonals and subdiagonals should be aligned, respectively. There are four possible alignments: "RIGHT_LEFT" (default), "LEFT_RIGHT", "LEFT_LEFT", and "RIGHT_RIGHT". "RIGHT_LEFT" aligns superdiagonals to the right (left-pads the row) and subdiagonals to the left (right-pads the row). It is the packing format LAPACK uses. cuSPARSE uses "LEFT_RIGHT", which is the opposite alignment.

  •    


 

Returns:


         
  • Output: Rank r+1, with output.shape = input.shape.

  •    


 

   

     

   

   

     

   

   

     

   

 

       

Constructors and Destructors


     

       
MatrixSetDiagV3(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal, ::tensorflow::Input k)
       

     

       
MatrixSetDiagV3(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal, ::tensorflow::Input k, const MatrixSetDiagV3::Attrs & attrs)
       

     

 

   

     

   

   

     

     

   

   

     

     

   

 

       

Public attributes


     

       
operation
     

       

         
Operation
       

     

       
output
     

       

         
::tensorflow::Output
       

     

 

   

     

   

   

     

     

   

   

     

     

   

   

     

     

   

 

       

Public functions


     

       
node() const
     

       

         
::tensorflow::Node *
       

     

       
operator::tensorflow::Input() const
     

       

         

       

     

       
operator::tensorflow::Output() const
     

       

         

       

     

 

   

     

   

   

     

     

   

 

       

Public static functions


     

       
Align(StringPiece x)
     

       

         
Attrs
       

     

 

   

     

   

   

     

     

   

 

       

Structs


     

       
tensorflow::ops::MatrixSetDiagV3::Attrs
     

       

Optional attribute setters for MatrixSetDiagV3.


     

 

Public attributes


 

   

operation


   

आउटपुट

 

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

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

 

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

 

नोड

 

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

 

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

 

 सार्वजनिक स्थैतिक कार्य

 संरेखित