ম্যাট্রিক্সসেটডিয়াভিভি 2

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

নতুন ব্যাচযুক্ত তির্যক মানগুলির সাথে একটি ব্যাচযুক্ত ম্যাট্রিক্স টেনসর ফিরিয়ে দেয়।

`ইনপুট` এবং` তির্যক` প্রদত্ত, এই অপারেশনটি আন্তঃতম ম্যাট্রিকগুলির নির্দিষ্ট বর্ণগুলি বাদ দিয়ে একই আকার এবং `ইনপুট` হিসাবে মান সহ একটি টেনসর দেয়। এগুলি `ডায়াগোনাল in এর মান দ্বারা ওভাররাইট করা হবে`

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

আউটপুটটি মাত্রা `[আই, জে, ..., এল, এম, এন] rank সহ` কে + 1` এর একটি সেন্সর ens যদি `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`, `ডায়াগ_ইন্ডেক্স = কে [1] - ডি, এবং` সূচক_ইন_ডিয়াগ = এন - সর্বোচ্চ (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>
আউটপুট ()
একটি সেন্সরটির প্রতীকী হ্যান্ডেল ফেরত দেয়।
স্থির <টি> ম্যাট্রিক্সসেটডায়াগভি 2 <টি>
তৈরি করুন ( স্কোপ স্কোপ, অপেরাড <T> ইনপুট, অপেরান্ড <T> ডায়াগোনাল , অপেরান্ড <ইন্টিজার> কে)
নতুন ম্যাট্রিক্সসেটডায়াগভি 2 অপারেশন মোড়ানো একটি ক্লাস তৈরির জন্য কারখানা পদ্ধতি।
আউটপুট <T>
আউটপুট ()
`আউটপুট.শ্যাপ = ইনপুট.শ্যাপ` সহ` r + 1` র‌্যাঙ্ক করুন `

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

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

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

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

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

পাবলিক স্ট্যাটিক ম্যাট্রিক্সসেটডায়াগভি 2 <টি> তৈরি করুন ( স্কোপ স্কোপ, অপেরাড <টি> ইনপুট, অপেরান্ড <T> ডায়াগোনাল , অপেরান্ড < Inger > কে)

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

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

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

`আউটপুট.শ্যাপ = ইনপুট.শ্যাপ` সহ` r + 1` র‌্যাঙ্ক করুন `