সতর্কতা: প্রতিস্থাপন স্থিতিশীল হওয়ার পরে এই API টি অবচয় করা হয়েছে এবং টেনসরফ্লোয়ের ভবিষ্যতের সংস্করণে সরানো হবে।

MatrixDiagPartV3

সর্বজনীন চূড়ান্ত শ্রেণীর ম্যাট্রিক্সডিয়াগ পার্টভি 3

ব্যাচড টেনসরের কাঁচা তির্যক অংশটি ফেরত দেয়।

Ched কে [0] th -পথ থেকে `কে [1] the বাচ্চা` ইনপুট` -র ত্রিভুজগুলির সাথে একটি টেনসর ফিরিয়ে দেয় `

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

যদি `num_diags == 1` হয় তবে আউটপুট টেনসরটি rank r - 1` আকারের সাথে` [I, J, ..., L, সর্বোচ্চ_ডিয়াগ_লেন] values ​​এবং মানগুলি:

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 = সর্বোচ্চ (-কে [1 ], 0) `,` x = সর্বোচ্চ (কে [1], 0) ``

অন্যথায়, আউটপুট টেনসরের মাত্রা সহ rank r` রয়েছে `[I, J, ..., L, num_diags, সর্বোচ্চ_ডিয়াগ_লেন] values ​​মানের সহ:

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] - এম`, `y = সর্বোচ্চ ( -ড, 0) - অফসেট, এবং `x = সর্বোচ্চ (d, 0) - অফসেট``

the অফসেট` শূন্য হয় ব্যতীত যখন ত্রিভুজটির প্রান্তিককরণ ডানদিকে থাকে।

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) = মিনিট (কলস - সর্বোচ্চ (d, 0), সারি + মিনিট (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]]]
 
 

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

ক্লাস ম্যাট্রিক্সডিয়াগ পার্টভি 3.অপশনস MatrixDiagPartV3 জন্য MatrixDiagPartV3 বৈশিষ্ট্য

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

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

উত্তরাধিকারী পদ্ধতি

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

সার্বজনীন স্ট্যাটিক ম্যাট্রিক্সডিয়াগ পার্টভি 3.অ্যাপশনগুলি প্রান্তিককরণ (স্ট্রিং প্রান্তিককরণ)

পরামিতি
সারিবদ্ধ কিছু विकर्णগুলি `সর্বোচ্চ_ডায়াগ_লেন` এর চেয়ে কম হয় এবং প্যাড করা দরকার। `align। হ'ল একটি স্ট্রিং যা উল্লেখ করে যে সুপারডিজোনালস এবং সাবডিজোনালগুলি যথাক্রমে কীভাবে প্রান্তিক করা উচিত। এখানে চারটি সম্ভাব্য প্রান্তিককরণ রয়েছে: "RIGHT_LEFT" (ডিফল্ট), "LEFT_RIGHT", "LEFT_LEFT", এবং "RIGHT_RIGHT"। "RIGHT_LEFT" সুপারডিজোনালগুলি ডানে (বাম-প্যাড সারিটি) এবং উপ-ডায়াগনগুলি বামে (ডান-প্যাড সারিটিতে) প্রান্তিক করে তোলে। এটি প্যাকিং ফর্ম্যাটটি ল্যাপাক ব্যবহার করে। cuSPARSE "LEFT_RIGHT" ব্যবহার করে যা বিপরীত প্রান্তিককরণ।

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

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

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

সার্বজনীন স্ট্যাটিক ম্যাট্রিক্সডিয়াগ পার্টভি 3 <টি> তৈরি করুন ( স্কোপ স্কোপ, অপেরাড <টি> ইনপুট, অপেরান্ড <Integer> কে, অপেরাড <T> প্যাডিংভ্যালু, অপশন ... অপশন)

একটি নতুন ম্যাট্রিক্সডিয়াগ পার্টভি 3 অপারেশন মোড়ক করে একটি শ্রেণি তৈরির জন্য কারখানা পদ্ধতি।

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

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

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