تحذير: تم إهمال واجهة برمجة التطبيقات هذه وستتم إزالتها في إصدار مستقبلي من TensorFlow بعد استقرار الاستبدال .

MatrixDiagPartV3

الجمهور MatrixDiagPartV3 الدرجة النهائية

تُرجع الجزء القطري المُجمع من موتر مُجمع.

لعرض موتر باستخدام `k [0]` -th إلى `k [1]` -th من الأقطار `للإدخال` المجمّع.

افترض أن "المدخلات" لها أبعاد `[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`، موتر الناتج من رتبة` ص - 1` مع شكل `[I، J، ...، L، 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.
 
حيث `ص = ماكس (-k [1] ، 0) `، س = ماكس (ك [1] ، 0)`.

خلاف ذلك، موتر الناتج ديه رتبة `r` ذات أبعاد` [I، J، ...، L، num_diags، max_diag_len] `مع القيم:

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.
 
حيث` د = ك [1] - m`، `= ذ max (-d ، 0) - offset` ، و` x = max (d ، 0) - offset`.

"offset" تساوي صفرًا إلا إذا كانت محاذاة القطر إلى اليمين.

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 (د) = دقيقة (الأكواد - ماكس (د، 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. خيارات سمات اختيارية ل MatrixDiagPartV3

الطرق العامة

ثابت MatrixDiagPartV3.Options
محاذاة (محاذاة سلسلة)
الانتاج <T>
asOutput ()
إرجاع المقبض الرمزي للموتر.
ثابت <T> MatrixDiagPartV3 <T>
إنشاء ( نطاق نطاق، المعامل <T> المدخلات، و المعامل <صحيح> ك، المعامل <T> paddingValue، خيارات ... خيارات)
طريقة المصنع لإنشاء فئة التفاف لعملية جديدة MatrixDiagPartV3.
الانتاج <T>
قطري ()
القطر (الأقطار) المستخرجة.

الطرق الموروثة

الطرق العامة

ساكنة العامة MatrixDiagPartV3.Options محاذاة (محاذاة سلسلة)

العوامل
محاذاة بعض الأقطار أقصر من "max_diag_len" وتحتاج إلى أن تكون مبطنة. "align" عبارة عن سلسلة تحدد كيفية محاذاة الأقطار الفوقية والأضلاع الفرعية ، على التوالي. هناك أربعة محاذاة محتملة: "RIGHT_LEFT" (افتراضي) و "LEFT_RIGHT" و "LEFT_LEFT" و "RIGHT_RIGHT". يقوم "RIGHT_LEFT" بمحاذاة الأقطار الفائقة إلى اليمين (الوسادات اليسرى للصف) والأضلاع الفرعية إلى اليسار (لليمين للصف). إنه تنسيق التعبئة الذي يستخدمه LAPACK. يستخدم cuSPARSE "LEFT_RIGHT" ، وهو المحاذاة المعاكسة.

العام الناتج <T> asOutput ()

إرجاع المقبض الرمزي للموتر.

المدخلات لعمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. تستخدم هذه الطريقة للحصول على مقبض رمزي يمثل حساب المدخلات.

ساكنة العام MatrixDiagPartV3 <T> إنشاء ( نطاق نطاق، المعامل <T> المدخلات، و المعامل <صحيح> ك، المعامل <T> paddingValue، خيارات ... خيارات)

طريقة المصنع لإنشاء فئة التفاف لعملية جديدة MatrixDiagPartV3.

العوامل
مجال النطاق الحالي
إدخال مرتبة موتر `r` حيث` r> = 2`.
ك إزاحة قطرية. تعني القيمة الموجبة قطريًا فوقيًا ، وتشير القيمة 0 إلى القطر الرئيسي ، بينما تشير القيمة السالبة إلى أقطار فرعية. يمكن أن يكون "k" عددًا صحيحًا واحدًا (لقطر واحد) أو زوجًا من الأعداد الصحيحة التي تحدد النهايتين المنخفضة والمرتفعة لنطاق المصفوفة. يجب ألا يكون `k [0]` أكبر من `k [1]`.
المساحة المتروكة القيمة المطلوب ملء المنطقة خارج النطاق القطري المحدد بها. الافتراضي هو 0.
والخيارات يحمل قيم سمات اختيارية
عائدات
  • مثيل جديد من MatrixDiagPartV3

العام الناتج <T> قطري ()

القطر (الأقطار) المستخرجة.