MatrixDiagV2

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

প্রদত্ত ব্যাচ করা তির্যক মান সহ একটি ব্যাচড তির্যক টেনসর প্রদান করে।

একটি ম্যাট্রিক্সের `k[0]`-th থেকে `k[1]`-তম কর্ণ হিসাবে `কর্ণ` এর বিষয়বস্তু সহ একটি টেনসর প্রদান করে, বাকি সবকিছু `প্যাডিং` দিয়ে প্যাড করে। `num_rows` এবং `num_cols` আউটপুটের অন্তর্নিহিত ম্যাট্রিক্সের মাত্রা নির্দিষ্ট করে। যদি উভয়টি নির্দিষ্ট করা না থাকে, op অনুমান করে সবচেয়ে ভিতরের ম্যাট্রিক্সটি বর্গক্ষেত্র এবং `k` থেকে এর আকার এবং `তির্যক` এর ভেতরের মাত্রা অনুমান করে। যদি তাদের মধ্যে শুধুমাত্র একটি নির্দিষ্ট করা হয়, op অনুমান করে যে অনির্দিষ্ট মানটি অন্যান্য মানদণ্ডের উপর ভিত্তি করে সম্ভাব্য সবচেয়ে ছোট।

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

`তির্যক` এর দ্বিতীয় অন্তর্নিহিত মাত্রার দ্বিগুণ অর্থ রয়েছে। যখন `k` স্কেলার বা `k[0] == k[1]` হয়, তখন `M` ব্যাচ আকারের অংশ [I, J, ..., M] এবং আউটপুট টেনসর হল:

output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, n-max(d_upper, 0)] ; if n - m == d_upper
     padding_value                             ; otherwise
 
অন্যথায়, একই ব্যাচে (`M = k[1]-k[0]+1`) ম্যাট্রিক্সের কর্ণের সংখ্যা হিসাবে `M` ধরা হয়, এবং আউটপুট টেনসর হল:
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 = k[1] - d`, এবং `index_in_diag = n - সর্বোচ্চ(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 band of diagonals.
 diagonals = np.array([[[1, 2, 3],  # Input shape: (2, 2, 3)
                        [4, 5, 0]],
                       [[6, 7, 9],
                        [9, 1, 0]]])
 tf.matrix_diag(diagonals, k = (-1, 0))
   ==> [[[1, 0, 0],  # Output shape: (2, 3, 3)
         [4, 2, 0],
         [0, 5, 3]],
        [[6, 0, 0],
         [9, 7, 0],
         [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]]
 

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

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

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

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

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

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

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

পাবলিক স্ট্যাটিক MatrixDiagV2 <T> তৈরি করুন ( Scope scope, Operand <T> তির্যক, Operand <Integer> k, Operand <Integer> numRows, Operand <Integer> numCols, Operand <T> প্যাডিং ভ্যালু)

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

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

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

র‍্যাঙ্ক আছে `r+1` যখন `k` একটি পূর্ণসংখ্যা বা `k[0] == k[1]`, অন্যথায় `r`।