ব্যাচ করা টেনসরের ব্যাচ করা তির্যক অংশ ফেরত দেয়।
ব্যাচ করা `ইনপুট`-এর `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` নির্যাস করার জন্য কর্ণের সংখ্যা হবে, `num_diags = k[1] - k[0] + 1`।
যদি `num_diags == 1`, আউটপুট টেন্সর পদে` R হয় - আকৃতি সঙ্গে 1` `[আমি জে, ..., এল, 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 সর্বোচ্চ = (-k [1], 0)`, `x = সর্বোচ্চ(k[1], 0)`।তা না হলে, আউটপুট টেন্সর র্যাঙ্ক `মাত্রা সঙ্গে` [আমি জে, ..., এল, num_diags, max_diag_len] `মান r` রয়েছে:
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 = ট [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 (ঘ) = MIN (COLS - সর্বোচ্চ (ঘ, 0), সারি + + মিনিট (ঘ, 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 | সারিবদ্ধ (স্ট্রিং সারিবদ্ধ) |
আউটপুট <টি> | asOutput () একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে। |
স্ট্যাটিক <টি> MatrixDiagPartV3 <টি> | |
আউটপুট <টি> | তির্যক () নিষ্কাশিত তির্যক(গুলি)। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক স্ট্যাটিক MatrixDiagPartV3.Options সারিবদ্ধ (স্ট্রিং সারিবদ্ধ)
পরামিতি
সারিবদ্ধ | কিছু কর্ণ `max_diag_len` এর চেয়ে ছোট এবং প্যাড করা দরকার। 'সারিবদ্ধ' হল একটি স্ট্রিং যা সুনির্দিষ্ট করে কিভাবে সুপারডায়গনাল এবং সাবডায়গনাল যথাক্রমে সারিবদ্ধ করা উচিত। চারটি সম্ভাব্য প্রান্তিককরণ রয়েছে: "RIGHT_LEFT" (ডিফল্ট), "LEFT_RIGHT", "LEFT_LEFT", এবং "RIGHT_RIGHT"। "RIGHT_LEFT" সুপারকর্ণকে ডানদিকে সারিবদ্ধ করে (সারিটিকে বাম দিকে প্যাড করে) এবং বামে উপকর্ণগুলিকে (সারিটিকে ডানে প্যাড করে)। এটি প্যাকিং বিন্যাস ল্যাপ্যাক ব্যবহার করে। cuSPARSE "LEFT_RIGHT" ব্যবহার করে, যা বিপরীত প্রান্তিককরণ। |
---|
পাবলিক আউটপুট <টি> asOutput ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক MatrixDiagPartV3 <টি> তৈরি করুন ( ব্যাপ্তি সুযোগ প্রতীক <টি> ইনপুট, প্রতীক <integer> K, প্রতীক <টি> paddingValue, বিকল্পসমূহ ... অপশন)
একটি নতুন MatrixDiagPartV3 অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ইনপুট | র্যাঙ্ক `r` টেনসর যেখানে `r >= 2`। |
k | তির্যক অফসেট(গুলি)। ধনাত্মক মান মানে অতিকর্ণ, 0 প্রধান কর্ণকে বোঝায় এবং ঋণাত্মক মান মানে উপকর্ণ। `k` একটি একক পূর্ণসংখ্যা হতে পারে (একটি একক তির্যকের জন্য) বা একটি ম্যাট্রিক্স ব্যান্ডের নিম্ন এবং উচ্চ প্রান্তগুলি নির্দিষ্ট করে এমন এক জোড়া পূর্ণসংখ্যা হতে পারে৷ `k[0]` অবশ্যই `k[1]` এর চেয়ে বড় হবে না। |
প্যাডিং ভ্যালু | যে মানটি দিয়ে নির্দিষ্ট তির্যক ব্যান্ডের বাইরের এলাকাটি পূরণ করতে হবে। ডিফল্ট 0। |
বিকল্প | ঐচ্ছিক বৈশিষ্ট্য মান বহন করে |
রিটার্নস
- MatrixDiagPartV3 এর একটি নতুন উদাহরণ