تينسورفلو :: العمليات :: DepthToSpace
#include <array_ops.h>
DepthToSpace للموترات من النوع T.
ملخص
يعيد ترتيب البيانات من العمق إلى كتل من البيانات المكانية. هذا هو التحول العكسي لـ SpaceToDepth. وبشكل أكثر تحديدًا ، يقوم هذا المرجع بإخراج نسخة من موتر الإدخال حيث يتم نقل القيم من بُعد 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 ]
من المفيد اعتبار العملية على أنها تحويل موتر 6-D. على سبيل المثال ، بالنسبة إلى 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]]]]
This operation will output a tensor of shape
[1, 2, 2, 1]
:
[[[[1], [2]], [[3], [4]]]]هنا ، يحتوي الإدخال على دفعة من 1 ولكل عنصر دفعة شكل
[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
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size )
DepthToSpace
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs )
العقدة
::tensorflow::Node * node() const
المشغل :: tensorflow :: الإدخال
operator::tensorflow::Input() const
المشغل :: Tensorflow :: Output
operator::tensorflow::Output() const
وظائف ثابتة عامة
تنسيق البيانات
Attrs DataFormat( StringPiece x )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2020-04-20 (حسب التوقيت العالمي المتفَّق عليه)