@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
طبقة الالتواء ثنائية الأبعاد (على سبيل المثال الالتفاف المكاني فوق الصور).
تقوم هذه الطبقة بإنشاء مرشح تلافيفي يتم دمجه مع مدخلات الطبقة لإنتاج موتر من المخرجات.
مرشح الالتواء رباعي الأبعاد.
تصريح
public var filter: Tensor<Scalar>
ناقل التحيز.
تصريح
public var bias: Tensor<Scalar>
وظيفة التنشيط الحكيمة للعنصر.
تصريح
@noDerivative public let activation: Activation
خطوات النافذة المنزلقة للأبعاد المكانية.
تصريح
@noDerivative public let strides: (Int, Int)
خوارزمية الحشو للالتفاف.
تصريح
@noDerivative public let padding: Padding
عامل التمدد للأبعاد المكانية.
تصريح
@noDerivative public let dilations: (Int, Int)
ينشئ طبقة
Conv2D
باستخدام المرشح المحدد والتحيز ووظيفة التنشيط والخطوات والتوسعات والحشو.تصريح
public init( filter: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation = identity, strides: (Int, Int) = (1, 1), padding: Padding = .valid, dilations: (Int, Int) = (1, 1) )
حدود
filter
مرشح الالتواء رباعي الأبعاد للشكل [ارتفاع المرشح، عرض المرشح، عدد قنوات الإدخال، عدد قنوات الإخراج].
bias
متجه التحيز للشكل [عدد قنوات الإخراج].
activation
وظيفة التنشيط الحكيمة للعنصر.
strides
خطوات النافذة المنزلقة للأبعاد المكانية، أي (ارتفاع الخطوة، عرض الخطوة).
padding
خوارزمية الحشو للالتفاف.
dilations
عوامل التمدد للأبعاد المكانية أي (ارتفاع التمدد، عرض التمدد).
إرجاع المخرجات التي تم الحصول عليها من تطبيق الطبقة على المدخلات المحددة.
يتم حساب الأبعاد المكانية للإخراج على النحو التالي:
ارتفاع الإخراج = (ارتفاع الإدخال + 2 * ارتفاع الحشو - (ارتفاع التمدد * (ارتفاع الفلتر - 1) + 1)) / ارتفاع الخطوة + 1
عرض الإخراج = (عرض الإدخال + 2 * عرض الحشو - (عرض التمدد * (عرض الفلتر - 1) + 1)) / عرض الخطوة + 1
ويتم تحديد أحجام الحشو من خلال نظام الحشو.
ملحوظة
حجم الحشو يساوي صفر عند استخدام
.valid
.حدود
input
الإدخال إلى طبقة الشكل [حجم الدفعة، ارتفاع الإدخال، عرض الإدخال، عدد قنوات الإدخال].
قيمة الإرجاع
إخراج الشكل [عدد الدُفعات، ارتفاع الإخراج، عرض الإخراج، عدد قنوات الإخراج].
ينشئ طبقة
Conv2D
مع شكل المرشح المحدد، والخطوات، والحشو، والتوسعات، ووظيفة التنشيط حسب العناصر.تصريح
public init( filterShape: (Int, Int, Int, Int), strides: (Int, Int) = (1, 1), padding: Padding = .valid, dilations: (Int, Int) = (1, 1), activation: @escaping Activation = identity, useBias: Bool = true, filterInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
حدود
filterShape
شكل المرشح التلافيفي رباعي الأبعاد ويمثل (ارتفاع المرشح، عرض المرشح، عدد قنوات الإدخال، عدد قنوات الإخراج).
strides
خطوات النافذة المنزلقة للأبعاد المكانية، أي (ارتفاع الخطوة، عرض الخطوة).
padding
خوارزمية الحشو للالتواء.
dilations
عوامل التمدد للأبعاد المكانية أي (ارتفاع التمدد، عرض التمدد).
activation
وظيفة التنشيط الحكيمة للعنصر.
filterInitializer
مُهيئ لاستخدامه في معلمات التصفية.
biasInitializer
مُهيئ لاستخدامه في معلمات التحيز.