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

MatrixDiagV3

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

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

Everything কে [0] th -th থেকে `কে [1] mat-ম্যাট্রিক্সের তৃতীয় ত্রিভুজ হিসাবে everything প্যাডিং` দিয়ে প্যাডেড সহ সমস্ত কিছু সহ` তির্যক বিষয়বস্তু সহ একটি সেন্সর ফিরে আসে ` `num_rows` এবং` num_col` আউটপুটটির অভ্যন্তরীণ ম্যাট্রিক্সের মাত্রা নির্দিষ্ট করে। যদি উভয়ই নির্দিষ্ট না করা থাকে তবে অপ্টটি অন্তর্নিহিত ম্যাট্রিক্সটি বর্গক্ষেত্র বলে মনে করে এবং এর আকারটি `k` এবং` ডায়াগোনাল-এর অন্তঃতম মাত্রা থেকে অনুমান করে ` যদি কেবলমাত্র তাদের মধ্যে একটি নির্দিষ্ট করা থাকে, অপশনটি অনির্ধারিত মানটি অন্যান্য মানদণ্ডের উপর ভিত্তি করে ক্ষুদ্রতম সম্ভব বলে ধরে নেয়।

আসুন `তির্যকটির` r` মাত্রা `[I, J, ..., L, M, N]` ` আউটপুট টেনসরটির আকার `r + 1 shape থাকে shape [I, J, ..., L, M, num_rows, num_col] - যখন কেবল একটি তির্যক দেওয়া হয় (` k` একটি পূর্ণসংখ্যা বা `কে [0] == কে [1] `)। অন্যথায়, এর আকার `r` রয়েছে shape [আই, জে, ..., এল, নাম_রোজ, নাম_ক্লস]` `

"তির্যক" এর দ্বিতীয় আন্তঃতম মাত্রার দ্বিগুণ অর্থ রয়েছে। যখন `k` স্কেলার হয় বা` কে [০] == কে [১] `,` এম` ব্যাচের আকারের [আই, জে, ..., এম] এর একটি অংশ হয় এবং আউটপুট টেনসরটি হয়: 0 বি 7 এ 2 এ 8 ই 30 অন্যথায়, B এম`কে একই ব্যাচে ম্যাট্রিক্সের জন্য তির্যকের সংখ্যা হিসাবে গণ্য করা হয় (`এম = কে [1]-কে [0] + 1`), এবং আউটপুট টেনসরটি:

output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
     padding_value                                     ; otherwise
 
যেখানে` d = n - m` , `diag_index = [কে] - 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))` `

উদাহরণস্বরূপ:

# The main diagonal.
 diagonal = np.array([[1, 2, 3, 4],            # Input shape: (2, 4)
                      [5, 6, 7, 8]])
 tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0],  # Output shape: (2, 4, 4)
                                [0, 2, 0, 0],
                                [0, 0, 3, 0],
                                [0, 0, 0, 4]],
                               [[5, 0, 0, 0],
                                [0, 6, 0, 0],
                                [0, 0, 7, 0],
                                [0, 0, 0, 8]]]
 
 # A superdiagonal (per batch).
 diagonal = np.array([[1, 2, 3],  # Input shape: (2, 3)
                      [4, 5, 6]])
 tf.matrix_diag(diagonal, k = 1)
   ==> [[[0, 1, 0, 0],  # Output shape: (2, 4, 4)
         [0, 0, 2, 0],
         [0, 0, 0, 3],
         [0, 0, 0, 0]],
        [[0, 4, 0, 0],
         [0, 0, 5, 0],
         [0, 0, 0, 6],
         [0, 0, 0, 0]]]
 
 # A tridiagonal band (per batch).
 diagonals = np.array([[[0, 8, 9],  # Input shape: (2, 2, 3)
                        [1, 2, 3],
                        [4, 5, 0]],
                       [[0, 2, 3],
                        [6, 7, 9],
                        [9, 1, 0]]])
 tf.matrix_diag(diagonals, k = (-1, 1))
   ==> [[[1, 8, 0],  # Output shape: (2, 3, 3)
         [4, 2, 9],
         [0, 5, 3]],
        [[6, 2, 0],
         [9, 7, 3],
         [0, 1, 9]]]
 
 # LEFT_RIGHT alignment.
 diagonals = np.array([[[8, 9, 0],  # Input shape: (2, 2, 3)
                        [1, 2, 3],
                        [0, 4, 5]],
                       [[2, 3, 0],
                        [6, 7, 9],
                        [0, 9, 1]]])
 tf.matrix_diag(diagonals, k = (-1, 1), align="LEFT_RIGHT")
   ==> [[[1, 8, 0],  # Output shape: (2, 3, 3)
         [4, 2, 9],
         [0, 5, 3]],
        [[6, 2, 0],
         [9, 7, 3],
         [0, 1, 9]]]
 
 # Rectangular matrix.
 diagonal = np.array([1, 2])  # Input shape: (2)
 tf.matrix_diag(diagonal, k = -1, num_rows = 3, num_cols = 4)
   ==> [[0, 0, 0, 0],  # Output shape: (3, 4)
        [1, 0, 0, 0],
        [0, 2, 0, 0]]
 
 # Rectangular matrix with inferred num_cols and padding_value = 9.
 tf.matrix_diag(diagonal, k = -1, num_rows = 3, padding_value = 9)
   ==> [[9, 9],  # Output shape: (3, 2)
        [1, 9],
        [9, 2]]
 
 

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

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

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

স্ট্যাটিক ম্যাট্রিক্সডায়াগভি 3.অপশনস
সারিবদ্ধ (স্ট্রিং সারিবদ্ধ)
আউটপুট <টি>
আউটপুট ()
একটি সেন্সরটির প্রতীকী হ্যান্ডেল ফেরত দেয়।
স্থির <টি> ম্যাট্রিক্স ডায়াগভি 3 <টি>
তৈরি করুন ( স্কোপ স্কোপ, অপেরাড <T> ডায়াগোনাল , অপেরান্ড <Integer> কে, অপেরান্ড <Ingerger> numRows, Operand <Ingerger> numCol, Operand <T> paddingValue, অপশন ... অপশন)
নতুন ম্যাট্রিক্সডিয়াভিভি 3 অপারেশন মোড়ক করে ক্লাস তৈরির জন্য কারখানা পদ্ধতি।
আউটপুট <টি>
আউটপুট ()
Rank k` একটি পূর্ণসংখ্যা বা `k [0] == কে [1]`, অন্যথায় র‌্যাঙ্ক `r` হলে` r + 1` পদ রয়েছে Has

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

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

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

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

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

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

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

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

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

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

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

Rank k` একটি পূর্ণসংখ্যা বা `k [0] == কে [1]`, অন্যথায় র‌্যাঙ্ক `r` হলে` r + 1` পদ রয়েছে Has