Google I/O-তে টিউন করার জন্য ধন্যবাদ। চাহিদা অনুযায়ী সব সেশন দেখুন চাহিদা অনুযায়ী দেখুন

সেন্সরফ্লো :: অপস :: ম্যাট্রিক্সডিয়াগ পার্টভি 2

#include <array_ops.h>

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

সারসংক্ষেপ

রিটার্নস সঙ্গে একটি টেন্সর k[0] -th করার k[1] -th শ্রেণীবদ্ধ এর কর্ণ input

ধরে input হয়েছে 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 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 আকার [I, J, ..., L, max_diag_len] এবং মান সহ:

diagonal[i, j, ..., l, n]
  = input[i, j, ..., l, n+y, n+x] ; when 0 <= n-y < M and 0 <= n-x < N,
    0                             ; otherwise.
যেখানে y = max(-k[1], 0) -কে y = max(-k[1], 0) , x = max(k[1], 0)

অন্যথায়, আউটপুট টেনসরের মানগুলির সাথে [I, J, ..., L, num_diags, max_diag_len] মাত্রা সহ র‌্যাঙ্ক r রয়েছে:

diagonal[i, j, ..., l, m, n]
  = input[i, j, ..., l, n+y, n+x] ; when 0 <= n-y < M and 0 <= n-x < N,
    0                             ; otherwise.
যেখানে d = k[1] - m , y = max(-d, 0) , এবং x = max(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 tridiagonal band from each batch.
tf.matrix_diag_part(input, k = (-1, 1))
  ==> [[[2, 7, 6],  # Output shape: (2, 3, 3)
        [1, 6, 7],
        [5, 8, 0]],
       [[4, 3, 8],
        [5, 2, 7],
        [1, 6, 0]]]

# Padding = 9
tf.matrix_diag_part(input, k = (1, 3), padding = 9)
  ==> [[[4, 9, 9],  # Output shape: (2, 3, 3)
        [3, 8, 9],
        [2, 7, 6]],
       [[2, 9, 9],
        [3, 4, 9],
        [4, 3, 8]]]

যুক্তি:

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

রিটার্নস:

  • Output : নিষ্কাশিত তির্যক (গুলি)।

নির্মাণকারী এবং ধ্বংসকারী

MatrixDiagPartV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input k, :: tensorflow::Input padding_value)

জনসাধারণের গুণাবলী

diagonal
operation

পাবলিক ফাংশন

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

জনসাধারণের গুণাবলী

তির্যক

::tensorflow::Output diagonal

অপারেশন

Operation operation

পাবলিক ফাংশন

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

 MatrixDiagPartV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input k,
  ::tensorflow::Input padding_value
)

নোড

::tensorflow::Node * node() const 

অপারেটর :: টেনসরফ্লো :: ইনপুট

 operator::tensorflow::Input() const 

অপারেটর :: টেনসরফ্লো :: আউটপুট

 operator::tensorflow::Output() const