MatrixSetDiagV2

পাবলিক চূড়ান্ত বর্গ MatrixSetDiagV2

নতুন ব্যাচ করা তির্যক মান সহ একটি ব্যাচ করা ম্যাট্রিক্স টেনসর প্রদান করে।

প্রদত্ত `ইনপুট` এবং `কর্ণ`, এই ক্রিয়াকলাপটি `ইনপুট` এর মতো একই আকৃতি এবং মান সহ একটি টেনসর প্রদান করে, সবচেয়ে ভিতরের ম্যাট্রিক্সের নির্দিষ্ট কর্ণ ব্যতীত। এগুলোকে `কর্ণ`-এর মান দ্বারা ওভাররাইট করা হবে।

`ইনপুট` এর `r+1` মাত্রা আছে `[I, J, ..., L, M, N]`। যখন `k` স্কেলার হয় বা `k[0] == k[1]`, `তির্যক` এর `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] + 1`। `max_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` স্কালে হয় বা` ট [0] == ট [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 = ট [1] - d`, এবং` index_in_diag = n - সর্বোচ্চ(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(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(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([[[1, 2, 3],  # Diagonal shape: (2, 2, 3)
                        [4, 5, 0]],
                       [[6, 1, 2],
                        [3, 4, 0]]])
 tf.matrix_set_diag(diagonals, k = (-1, 0))
   ==> [[[1, 7, 7, 7],  # Output shape: (2, 3, 4)
         [4, 2, 7, 7],
         [0, 5, 3, 7]],
        [[6, 7, 7, 7],
         [3, 1, 7, 7],
         [7, 4, 2, 7]]]
 
 

পাবলিক পদ্ধতি

আউটপুট <টি>
asOutput ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
স্ট্যাটিক <টি> MatrixSetDiagV2 <টি>
তৈরি ( ব্যাপ্তি সুযোগ প্রতীক <টি> ইনপুট, প্রতীক <টি> তির্যক, প্রতীক <integer> ট)
একটি নতুন MatrixSetDiagV2 অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
আউটপুট <টি>
আউটপুট ()
র্যাঙ্ক `r+1`, `output.shape = input.shape` সহ।

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক পদ্ধতি

পাবলিক আউটপুট <টি> asOutput ()

একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।

TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।

পাবলিক স্ট্যাটিক MatrixSetDiagV2 <টি> তৈরি করুন ( ব্যাপ্তি সুযোগ প্রতীক <টি> ইনপুট, প্রতীক <টি> তির্যক, প্রতীক <integer> ট)

একটি নতুন MatrixSetDiagV2 অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।

পরামিতি
সুযোগ বর্তমান সুযোগ
ইনপুট র‍্যাঙ্ক `r+1`, যেখানে `r >= 1`।
তির্যক `k` একটি পূর্ণসংখ্যা বা `k[0] == k[1]` হলে `r` র‍্যাঙ্ক করুন। অন্যথায়, এটির র‍্যাঙ্ক আছে `r+1`। `k >= 1`।
k তির্যক অফসেট(গুলি)। ধনাত্মক মান মানে অতিকর্ণ, 0 প্রধান কর্ণকে বোঝায় এবং ঋণাত্মক মান মানে উপকর্ণ। `k` একটি একক পূর্ণসংখ্যা হতে পারে (একটি একক তির্যকের জন্য) বা একটি ম্যাট্রিক্স ব্যান্ডের নিম্ন এবং উচ্চ প্রান্তগুলি নির্দিষ্ট করে এমন এক জোড়া পূর্ণসংখ্যা হতে পারে৷ `k[0]` অবশ্যই `k[1]` এর চেয়ে বড় হবে না।
রিটার্নস
  • MatrixSetDiagV2 এর একটি নতুন উদাহরণ

পাবলিক আউটপুট <টি> আউটপুট ()

র্যাঙ্ক `r+1`, `output.shape = input.shape` সহ।