MatrixDiagPartV3

পাবলিক ফাইনাল ক্লাস MatrixDiagPartV3

একটি ব্যাচ করা টেনসরের ব্যাচ করা তির্যক অংশ প্রদান করে।

ব্যাচ করা `ইনপুট`-এর `k[0]`-th থেকে `k[1]`-তম কর্ণ সহ একটি টেনসর প্রদান করে।

ধরে নিন `ইনপুট` এর `r` মাত্রা আছে `[I, J, ..., L, M, N]`। নির্যাস করা সমস্ত কর্ণের মধ্যে `max_diag_len` সর্বোচ্চ দৈর্ঘ্য হতে দিন, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` চলুন `num_diags` নির্যাস করার জন্য কর্ণের সংখ্যা হবে, `সংখ্যা_ডায়াগ = k[1] - k[0] + 1`।

যদি `num_diags == 1` হয়, আউটপুট টেনসরটি `r - 1` র‍্যাঙ্কের হয় `[I, J, ..., L, max_diag_len]` এবং মান:

diagonal[i, j, ..., l, n]
   = input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N,
     padding_value                 ; otherwise.
 
যেখানে `y = max(-k) [1], 0)`, `x = সর্বোচ্চ(k[1], 0)`।

অন্যথায়, আউটপুট টেনসরের র‍্যাঙ্ক আছে `r` মাত্রা সহ `[I, J, ..., L, num_diags, max_diag_len]` মান সহ:

diagonal[i, j, ..., l, m, n]
   = input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N,
     padding_value                 ; otherwise.
 
যেখানে `d = k[1] - m`, `y = সর্বোচ্চ(-d, 0) - অফসেট`, এবং `x = সর্বোচ্চ(d, 0) - অফসেট`।

'অফসেট' শূন্য হয় যখন তির্যকটির প্রান্তিককরণ ডানদিকে থাকে।

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), সারি + min(d, 0))`।

ইনপুট অন্তত একটি ম্যাট্রিক্স হতে হবে.

যেমন:

input = np.array([[[1, 2, 3, 4],  # Input shape: (2, 3, 4)
                    [5, 6, 7, 8],
                    [9, 8, 7, 6]],
                   [[5, 4, 3, 2],
                    [1, 2, 3, 4],
                    [5, 6, 7, 8]]])
 
 # A main diagonal from each batch.
 tf.matrix_diag_part(input) ==> [[1, 6, 7],  # Output shape: (2, 3)
                                 [5, 2, 7]]
 
 # A superdiagonal from each batch.
 tf.matrix_diag_part(input, k = 1)
   ==> [[2, 7, 6],  # Output shape: (2, 3)
        [4, 3, 8]]
 
 # A band from each batch.
 tf.matrix_diag_part(input, k = (-1, 2))
   ==> [[[0, 3, 8],  # Output shape: (2, 4, 3)
         [2, 7, 6],
         [1, 6, 7],
         [5, 8, 0]],
        [[0, 3, 4],
         [4, 3, 8],
         [5, 2, 7],
         [1, 6, 0]]]
 
 # LEFT_RIGHT alignment.
 tf.matrix_diag_part(input, k = (-1, 2), align="LEFT_RIGHT")
   ==> [[[3, 8, 0],  # Output shape: (2, 4, 3)
         [2, 7, 6],
         [1, 6, 7],
         [0, 5, 8]],
        [[3, 4, 0],
         [4, 3, 8],
         [5, 2, 7],
         [0, 1, 6]]]
 
 # max_diag_len can be shorter than the main diagonal.
 tf.matrix_diag_part(input, k = (-2, -1))
   ==> [[[5, 8],
         [9, 0]],
        [[1, 6],
         [5, 0]]]
 
 # padding_value = 9
 tf.matrix_diag_part(input, k = (1, 3), padding_value = 9)
   ==> [[[9, 9, 4],  # Output shape: (2, 3, 3)
         [9, 3, 8],
         [2, 7, 6]],
        [[9, 9, 2],
         [9, 3, 4],
         [4, 3, 8]]]
 
 

নেস্টেড ক্লাস

ক্লাস MatrixDiagPartV3.Options MatrixDiagPartV3 এর জন্য ঐচ্ছিক বৈশিষ্ট্য

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

স্ট্যাটিক MatrixDiagPartV3.Options
সারিবদ্ধ (স্ট্রিং সারিবদ্ধ)
আউটপুট <T>
আউটপুট হিসাবে ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
স্ট্যাটিক <T> MatrixDiagPartV3 <T>
তৈরি করুন ( স্কোপ স্কোপ, Operand <T> ইনপুট, Operand <Integer> k, Operand <T> প্যাডিং ভ্যালু, বিকল্প... বিকল্প)
একটি নতুন MatrixDiagPartV3 অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
আউটপুট <T>
তির্যক ()
নিষ্কাশিত তির্যক(গুলি)।

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

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

পাবলিক স্ট্যাটিক MatrixDiagPartV3. অপশন সারিবদ্ধ (স্ট্রিং সারিবদ্ধ)

পরামিতি
সারিবদ্ধ কিছু কর্ণ `max_diag_len` এর চেয়ে ছোট এবং প্যাড করা দরকার। `সারিবদ্ধ` হল একটি স্ট্রিং যা সুনির্দিষ্ট করে যে কিভাবে সুপারডায়গনাল এবং সাবডায়গনাল যথাক্রমে সারিবদ্ধ করা উচিত। চারটি সম্ভাব্য প্রান্তিককরণ রয়েছে: "RIGHT_LEFT" (ডিফল্ট), "LEFT_RIGHT", "LEFT_LEFT", এবং "RIGHT_RIGHT"। "RIGHT_LEFT" সুপারকর্ণকে ডানদিকে সারিবদ্ধ করে (সারিটিকে বাম দিকে প্যাড করে) এবং বাম দিকে উপকর্ণগুলিকে (সারিটিকে ডানে প্যাড করে)। এটি প্যাকিং বিন্যাস ল্যাপ্যাক ব্যবহার করে। cuSPARSE "LEFT_RIGHT" ব্যবহার করে, যা বিপরীত প্রান্তিককরণ।

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

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

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

পাবলিক স্ট্যাটিক MatrixDiagPartV3 <T> তৈরি করুন ( স্কোপ স্কোপ, Operand <T> ইনপুট, Operand <Integer> k, Operand <T> প্যাডিং ভ্যালু, বিকল্প... বিকল্প)

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

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

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

নিষ্কাশিত তির্যক(গুলি)।