DepthToSpace

الفئة النهائية العامة DepthToSpace

DepthToSpace للموترات من النوع T.

إعادة ترتيب البيانات من العمق إلى كتل من البيانات المكانية. هذا هو التحول العكسي لـ SpaceToDepth. وبشكل أكثر تحديدًا، تقوم هذه العملية بإخراج نسخة من موتر الإدخال حيث يتم نقل القيم من بُعد "العمق" في كتل مكانية إلى بُعدي "الارتفاع" و"العرض". يشير attr `block_size` إلى حجم كتلة الإدخال وكيفية نقل البيانات.

* يتم إعادة ترتيب أجزاء البيانات ذات الحجم `block_size * block_size` من العمق إلى كتل غير متداخلة بالحجم `block_size x block_size` * عرض موتر الإخراج هو `input_عمق * block_size`، في حين أن الارتفاع هو `input_height * block_size`. * يتم تحديد إحداثيات Y وX داخل كل كتلة من صورة الإخراج بواسطة مكون عالي الترتيب لمؤشر قناة الإدخال. * يجب أن يكون عمق موتر الإدخال قابلاً للقسمة على `block_size * 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,iY,iX,bY,bX,oC (حيث n=فهرس الدُفعة، iX، iY يعني X أو إحداثيات Y داخل صورة الإدخال، bX، bY تعني الإحداثيات داخل كتلة الإخراج، oC تعني قنوات الإخراج). سيكون الإخراج هو الإدخال المنقول إلى التخطيط التالي: n,iY,bY,iX,bX,oC

هذه العملية مفيدة لتغيير حجم عمليات التنشيط بين التحويلات (ولكن مع الاحتفاظ بجميع البيانات)، على سبيل المثال بدلاً من التجميع. كما أنه مفيد لتدريب النماذج التلافيفية البحتة.

على سبيل المثال، في حالة إدخال الشكل `[1، 1، 1، 4]`، data_format = "NHWC" وblock_size = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
ستنتج هذه العملية موترًا بالشكل `[1, 2, 2, 1]`:
[[[[1], [2]],
      [[3], [4]]]]
 
هنا، يحتوي الإدخال على دفعة مكونة من 1 ولكل عنصر دفعة شكل `[1، 1، 4]`، وسيحتوي الإخراج المقابل على عناصر 2x2 وسيكون له عمق قناة واحدة (1 = `4 / (block_size * block_size )`). شكل عنصر الإخراج هو `[2، 2، 1]`.

بالنسبة لموتر الإدخال بعمق أكبر، هنا بالشكل `[1، 1، 1، 12]`، على سبيل المثال

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
هذه العملية، لحجم الكتلة 2، ستعيد موتر الشكل التالي `[1، 2، 2، 3]`
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
وبالمثل، بالنسبة للإدخال التالي للشكل `[1 2 2 4]` وحجم الكتلة 2:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
سيعيد المشغل موتر الشكل التالي `[1 4 4 1]`:
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

فئات متداخلة

فصل DepthToSpace.Options السمات الاختيارية لـ DepthToSpace

الثوابت

خيط OP_NAME اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

الأساليب العامة

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

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

الثوابت

السلسلة النهائية الثابتة العامة OP_NAME

اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

القيمة الثابتة: "DepthToSpace"

الأساليب العامة

الإخراج العام <T> كإخراج ()

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

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

إنشاء DepthToSpace الثابت العام <T> (نطاق النطاق ، وإدخال المعامل <T>، وحجم الكتلة الطويلة، والخيارات... خيارات)

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

حدود
نِطَاق النطاق الحالي
blockSize حجم الكتلة المكانية، كما هو الحال في Space2Depth.
خيارات يحمل قيم السمات الاختيارية
المرتجعات
  • مثيل جديد من DepthToSpace

DepthToSpace.Options العام الثابت dataFormat (String dataFormat)

الإخراج العام <T> الإخراج ()