@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
یک لایه کانولوشن دو بعدی (به عنوان مثال پیچیدگی فضایی روی تصاویر).
این لایه یک فیلتر کانولوشن ایجاد می کند که با ورودی لایه پیچیده می شود تا یک تانسور خروجی تولید کند.
فیلتر کانولوشن 4 بعدی.
اعلامیه
public var filter: Tensor<Scalar>
بردار تعصب.
اعلامیه
public var bias: Tensor<Scalar>
تابع فعال سازی از نظر عنصر.
اعلامیه
@noDerivative public let activation: Activation
گام های پنجره کشویی برای ابعاد فضایی.
اعلامیه
@noDerivative public let strides: (Int, Int)
الگوریتم padding برای کانولوشن.
اعلامیه
@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
فیلتر کانولوشن 4 بعدی شکل [ارتفاع فیلتر، عرض فیلتر، تعداد کانال ورودی، تعداد کانال خروجی].
bias
بردار بایاس شکل [تعداد کانال خروجی].
activation
تابع فعال سازی از نظر عنصر.
strides
گام های پنجره کشویی برای ابعاد فضایی، یعنی (ارتفاع گام، عرض گام).
padding
الگوریتم padding برای کانولوشن.
dilations
عوامل اتساع برای ابعاد فضایی، یعنی (ارتفاع اتساع، عرض اتساع).
خروجی به دست آمده از اعمال لایه به ورودی داده شده را برمی گرداند.
ابعاد فضایی خروجی به صورت زیر محاسبه می شود:
ارتفاع خروجی = (ارتفاع ورودی + 2 * ارتفاع بالشتک - (ارتفاع گشاد شدن * (ارتفاع فیلتر - 1) + 1)) / ارتفاع گام + 1
عرض خروجی = (عرض ورودی + 2 * عرض لایه - (عرض گشاد شدن * (عرض فیلتر - 1) + 1)) / عرض گام + 1
و اندازه بالشتک ها توسط طرح padding تعیین می شود.
توجه داشته باشید
اندازه پد هنگام استفاده از
.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
شکل فیلتر کانولوشن 4 بعدی، نشان دهنده (ارتفاع فیلتر، عرض فیلتر، تعداد کانال ورودی، تعداد کانال های خروجی).
strides
گام های پنجره کشویی برای ابعاد فضایی، یعنی (ارتفاع گام، عرض گام).
padding
الگوریتم padding برای کانولوشن.
dilations
عوامل اتساع برای ابعاد فضایی، یعنی (ارتفاع اتساع، عرض اتساع).
activation
تابع فعال سازی از نظر عنصر.
filterInitializer
آغازگر برای استفاده برای پارامترهای فیلتر.
biasInitializer
آغازگر برای استفاده برای پارامترهای بایاس.