tensorflow:: ops:: DepthToSpace
#include <array_ops.h>DepthToSpace للموترات من النوع T.
ملخص
يعيد هذا الإجراء ترتيب البيانات من العمق إلى كتل من البيانات المكانية. وهو عكس عملية تحويل الفضاء إلى العمق. وبشكل أدق، يُخرج هذا الإجراء نسخة من موتر الإدخال حيث تُنقل القيم من بُعد depth في كتل مكانية إلى بُعدي height width . ويشير الخاصية block_size إلى حجم كتلة الإدخال وكيفية نقل البيانات.
- يتم إعادة ترتيب أجزاء البيانات بحجم
block_size * block_sizeمن العمق إلى كتل غير متداخلة بحجمblock_size x block_size - عرض موتر الإخراج هو
input_depth * block_size، بينما الارتفاع هوinput_height * block_size. - يتم تحديد إحداثيات Y و X داخل كل كتلة من الصورة الناتجة بواسطة المكون ذي الترتيب الأعلى لمؤشر قناة الإدخال.
- يجب أن يكون عمق موتر الإدخال قابلاً للقسمة على
block_size * block_size.
تحدد السمة data_format تخطيط موترات الإدخال والإخراج بالخيارات التالية: "NHWC": [ batch, height, width, channels ] "NCHW": [ batch, channels, height, width ] "NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]
من المفيد اعتبار العملية بمثابة تحويل لموتر سداسي الأبعاد. على سبيل المثال، بالنسبة لتنسيق البيانات 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] ، وكان تنسيق البيانات = "NHWC" وحجم الكتلة = 2:
x = [[[[1, 2, 3, 4]]]]
This operation will output a tensor of shape
[1, 2, 2, 1]:
[[[[1], [2]], [[3], [4]]]]
هنا، تحتوي المدخلات على دفعة واحدة، ويكون شكل كل عنصر من عناصر الدفعة [1, 1, 4] . سيكون للمخرجات المقابلة 2×2 عنصرًا، وسيكون عمقها قناة واحدة (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]]]]Similarly, for the following input of shape
[1 2 2 4], and a block size of 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]]]]Arguments:
- scope: A Scope object
- block_size: The size of the spatial block, same as in Space2Depth.
Returns:
Output: The output tensor.
Constructors and Destructors |
|
|---|---|
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size)
|
|
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs)
|
Public attributes |
|
|---|---|
operation
|
|
output
|
|
Public functions |
|
|---|---|
node() const
|
::tensorflow::Node *
|
operator::tensorflow::Input() const
|
|
operator::tensorflow::Output() const
|
|
Public static functions |
|
|---|---|
DataFormat(StringPiece x)
|
|
Structs |
|
|---|---|
|
tensorflow:: |
Optional attribute setters for DepthToSpace. |
Public attributes
operation
Operation operation
المخرجات
::tensorflow::Output output
الوظائف العامة
العمق إلى الفضاء
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size )
العمق إلى الفضاء
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs )
العقدة
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
الدوال الثابتة العامة
تنسيق البيانات
Attrs DataFormat( StringPiece x )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2026-11-05 (حسب التوقيت العالمي المتفَّق عليه)