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` স্কেলার হয় বা `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 - সর্বোচ্চ(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]]]
 
 

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

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

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

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

সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()

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

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

পাবলিক স্ট্যাটিক MatrixSetDiagV2 <T> তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <T> ইনপুট, অপারেন্ড <T> তির্যক, অপারেন্ড <Integer> k)

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

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

সর্বজনীন আউটপুট <T> আউটপুট ()

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