نشكرك على متابعة Google I / O. عرض جميع الجلسات عند الطلب مشاهدة عند الطلب

تينسورفلو :: العمليات :: Conv2D

#include <nn_ops.h>

يحسب التفافًا ثنائي الأبعاد input 4-D وموترات filter .

ملخص

بالنظر إلى موتر الإدخال للشكل [batch, in_height, in_width, in_channels] ومرشح / موتر النواة للشكل [filter_height, filter_width, in_channels, out_channels] ، تقوم هذه العملية بما يلي:

  1. يسوي المرشح إلى مصفوفة ثنائية الأبعاد بالشكل [filter_height * filter_width * in_channels, output_channels] .
  2. يستخرج تصحيحات الصور من موتر الإدخال لتشكيل موتر افتراضي للشكل [batch, out_height, out_width, filter_height * filter_width * in_channels] .
  3. لكل رقعة ، يقوم اليمين بضرب مصفوفة المرشح وناقل تصحيح الصورة.

بالتفصيل ، مع تنسيق 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

محددات السمات الاختيارية لـ 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 :: 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
)