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