تينسورفلو :: العمليات :: Conv2D
#include <nn_ops.h>
يحسب التفافًا ثنائي الأبعاد input
4-D وموترات filter
.
ملخص
بالنظر إلى موتر الإدخال للشكل [batch, in_height, in_width, in_channels]
ومرشح / موتر النواة للشكل [filter_height, filter_width, in_channels, out_channels]
، تقوم هذه العملية بما يلي:
- يسوي المرشح إلى مصفوفة ثنائية الأبعاد بالشكل
[filter_height * filter_width * in_channels, output_channels]
. - يستخرج تصحيحات الصور من موتر الإدخال لتشكيل موتر افتراضي للشكل
[batch, out_height, out_width, filter_height * filter_width * in_channels]
. - لكل رقعة ، يقوم اليمين بضرب مصفوفة المرشح وناقل تصحيح الصورة.
بالتفصيل ، مع تنسيق NHWC الافتراضي ،
output[b, i, j, k] = sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] * filter[di, dj, q, k]
يجب أن يكون لديه strides[0] = strides[3] = 1
. بالنسبة للحالة الأكثر شيوعًا لنفس الخطوات الأفقية والرؤوس ، فإن strides = [1, stride, stride, 1]
.
الحجج:
- النطاق: كائن النطاق
- الإدخال: موتر رباعي الأبعاد. يتم تفسير ترتيب الأبعاد وفقًا لقيمة
data_format
، انظر أدناه للحصول على التفاصيل. - عامل التصفية: موتر 4-D للشكل
[filter_height, filter_width, in_channels, out_channels]
- الخطوات: موتر 1-D بطول 4. خطوة النافذة المنزلقة لكل بُعد من أبعاد
input
. يتم تحديد ترتيب البعد بواسطة قيمةdata_format
، انظر أدناه للحصول على التفاصيل. - المساحة المتروكة: نوع خوارزمية الحشو المراد استخدامها.
السمات الاختيارية (انظر Attrs
):
- صريح_بادينجس: إذا كانت
padding
"EXPLICIT"
صريحة"EXPLICIT"
، فإن قائمة كميات الحشو الصريحة. بالنسبة للبعد ith ، فإن مقدار الحشو الذي تم إدخاله قبل وبعد البعد هوexplicit_paddings[2 * i]
وexplicit_paddings[2 * i + 1]
على التوالي. إذا لم تكنpadding
"EXPLICIT"
، فيجب أن تكون"EXPLICIT"
explicit_paddings
فارغة. - data_format: حدد تنسيق البيانات لبيانات الإدخال والإخراج. باستخدام التنسيق الافتراضي "NHWC" ، يتم تخزين البيانات بالترتيب: [الدفعة ، الارتفاع ، العرض ، القنوات]. بدلاً من ذلك ، يمكن أن يكون التنسيق "NCHW" ، ترتيب تخزين البيانات: [الدُفعة ، القنوات ، الارتفاع ، العرض].
- التوسعات: موتر 1-D بطول 4. عامل التمدد لكل بعد من أبعاد
input
. إذا تم التعيين على k> 1 ، فسيكون هناك k-1 خلايا تم تخطيها بين كل عنصر مرشح على هذا البعد. يتم تحديد ترتيب البعد بواسطة قيمةdata_format
، انظر أعلاه للحصول على التفاصيل. يجب أن يكون التمدد في أبعاد الدُفعة والعمق 1.
عائدات:
-
Output
: موتر رباعي الأبعاد. يتم تحديد ترتيب البعد بواسطة قيمةdata_format
، انظر أدناه للحصول على التفاصيل.
البنائين والمدمرين | |
---|---|
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding) | |
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs) |
السمات العامة | |
---|---|
operation | |
output |
الوظائف العامة | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
وظائف ثابتة عامة | |
---|---|
DataFormat (StringPiece x) | |
Dilations (const gtl::ArraySlice< int > & x) | |
ExplicitPaddings (const gtl::ArraySlice< int > & x) | |
UseCudnnOnGpu (bool x) |
الهياكل | |
---|---|
tensorflow :: ops :: Conv2D :: Attrs |
السمات العامة
عملية
Operation operation
انتاج
::tensorflow::Output output
الوظائف العامة
Conv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding )
Conv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs )
العقدة
::tensorflow::Node * node() const
المشغل :: tensorflow :: الإدخال
operator::tensorflow::Input() const
المشغل :: Tensorflow :: Output
operator::tensorflow::Output() const
وظائف ثابتة عامة
تنسيق البيانات
Attrs DataFormat( StringPiece x )
التوسعات
Attrs Dilations( const gtl::ArraySlice< int > & x )
صريح
Attrs ExplicitPaddings( const gtl::ArraySlice< int > & x )
UseCudnnOnGpu
Attrs UseCudnnOnGpu( bool x )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2020-04-20 (حسب التوقيت العالمي المتفَّق عليه)