SpaceToDepth للموترات من النوع T.
يعيد ترتيب كتل البيانات المكانية بعمق. وبشكل أكثر تحديدًا، تُخرج هذه العملية نسخة من موتر الإدخال حيث يتم نقل القيم من أبعاد "الارتفاع" و"العرض" إلى بُعد "العمق". يشير attr `block_size` إلى حجم كتلة الإدخال.
* تتم إعادة ترتيب الكتل غير المتداخلة ذات الحجم `حجم الكتلة × حجم الكتلة` في العمق في كل موقع. * عمق موتر الإخراج هو "حجم الكتلة * حجم الكتلة * عمق الإدخال". * تصبح إحداثيات Y وX داخل كل كتلة من المدخلات مكونًا عالي الترتيب في مؤشر قناة الإخراج. * يجب أن يكون ارتفاع وعرض موتر الإدخال قابلاً للقسمة على block_size.
تحدد `data_format` attr تخطيط موترات الإدخال والإخراج مع الخيارات التالية: "NHWC": `[ Batch, height, width,channels ]` "NCHW": `[ Batch,channels, height, width ]` " NCHW_VECT_C": `qint8 [ دفعة، القنوات / 4، الارتفاع، العرض، 4 ]`
من المفيد اعتبار العملية بمثابة تحويل لموتر سداسي الأبعاد. على سبيل المثال، بالنسبة إلى data_format = NHWC، يمكن تحديد كل عنصر في موتر الإدخال عبر 6 إحداثيات، مرتبة عن طريق تقليل أهمية تخطيط الذاكرة على النحو التالي: n,oY,bY,oX,bX,iC (حيث n=فهرس الدُفعة، oX، oY يعني X أو إحداثيات Y داخل الصورة الناتجة، bX، bY تعني الإحداثيات داخل كتلة الإدخال، iC تعني قنوات الإدخال). سيكون الإخراج بمثابة تبديل للتخطيط التالي: n,oY,oX,bY,bX,iC
هذه العملية مفيدة لتغيير حجم عمليات التنشيط بين التحويلات (ولكن مع الاحتفاظ بجميع البيانات)، على سبيل المثال بدلاً من التجميع. كما أنه مفيد لتدريب النماذج التلافيفية البحتة.
على سبيل المثال، في حالة إدخال الشكل `[1, 2, 2, 1]`، data_format = "NHWC" وblock_size = 2:
x = [[[[1], [2]],
[[3], [4]]]]
ستنتج هذه العملية موترًا بالشكل `[1, 1, 1, 4]`: [[[[1, 2, 3, 4]]]]
هنا، يحتوي الإدخال على دفعة مكونة من 1 ولكل عنصر دفعة شكل `[2، 2، 1]`، وسيكون للإخراج المقابل عنصر واحد (أي العرض والارتفاع كلاهما 1) وسيكون له عمق 4 قنوات (1 * حجم الكتلة * حجم الكتلة). شكل عنصر الإخراج هو `[1، 1، 4]`.بالنسبة لموتر الإدخال بعمق أكبر، هنا بالشكل `[1، 2، 2، 3]`، على سبيل المثال
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
هذه العملية، بالنسبة لحجم الكتلة 2، ستعيد موتر الشكل التالي `[1، 1، 1، 12]` [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
وبالمثل، بالنسبة للإدخال التالي للشكل `[1 4 4 1]` وحجم الكتلة 2: x = [[[[1], [2], [5], [6]],
[[3], [4], [7], [8]],
[[9], [10], [13], [14]],
[[11], [12], [15], [16]]]]
سيعيد المشغل موتر الشكل التالي `[1 2 2 4]`: x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
فئات متداخلة
فصل | SpaceToDepth.Options | السمات الاختيارية لـ SpaceToDepth |
الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
الإخراج <T> | كإخراج () إرجاع المقبض الرمزي للموتر. |
ثابت <T يمتد TType > SpaceToDepth <T> | إنشاء (نطاق النطاق ، إدخال المعامل <T>، حجم الكتلة الطويلة، الخيارات... خيارات) طريقة المصنع لإنشاء فئة تغلف عملية SpaceToDepth جديدة. |
ثابت SpaceToDepth.Options | تنسيق البيانات (تنسيق بيانات السلسلة) |
الإخراج <T> | الإخراج () |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
الإخراج العام <T> كإخراج ()
إرجاع المقبض الرمزي للموتر.
المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.
إنشاء SpaceToDepth <T> ثابت عام (نطاق النطاق ، وإدخال المعامل <T>، وحجم الكتلة الطويلة، والخيارات... خيارات)
طريقة المصنع لإنشاء فئة تغلف عملية SpaceToDepth جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
blockSize | حجم الكتلة المكانية. |
خيارات | يحمل قيم السمات الاختيارية |
المرتجعات
- مثيل جديد لـ SpaceToDepth