تدفق التوتر:: العمليات:: Conv2D
#include <nn_ops.h>
يحسب الالتواء ثنائي الأبعاد input
رباعية الأبعاد وموترات 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
، انظر أدناه للحصول على التفاصيل. - مرشح: موتر رباعي الأبعاد للشكل
[filter_height, filter_width, in_channels, out_channels]
- الخطوات: موتر 1-D للطول 4. خطوة النافذة المنزلقة لكل بُعد من أبعاد
input
. يتم تحديد ترتيب الأبعاد حسب قيمةdata_format
، انظر أدناه للحصول على التفاصيل. - الحشو: نوع خوارزمية الحشو المستخدمة.
السمات الاختيارية (انظر Attrs
):
- plain_paddings: إذا كانت
padding
هي"EXPLICIT"
، فقائمة كميات المساحة المتروكة الصريحة. بالنسبة للبعد التاسع، فإن مقدار المساحة المتروكة التي تم إدراجها قبل وبعد البعد هيexplicit_paddings[2 * i]
وexplicit_paddings[2 * i + 1]
على التوالي. إذا لم تكنpadding
"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 | محددات السمات الاختيارية لـ Conv2D . |
الصفات العامة
عملية
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::الإخراج
operator::tensorflow::Output() const