Conv2D

@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

שכבת פיתול דו מימדי (למשל פיתול מרחבי על פני תמונות).

שכבה זו יוצרת מסנן קונבולציה שמתפתל עם קלט השכבה כדי לייצר טנזור של יציאות.

  • מסנן הפיתול ה-4-D.

    הַצהָרָה

    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)
  • סוג פונקציית ההפעלה מבחינת האלמנט.

    הַצהָרָה

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • יוצר שכבת 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-D של הצורה [גובה מסנן, רוחב מסנן, ספירת ערוצי קלט, ספירת ערוצי פלט].

    bias

    וקטור ההטיה של הצורה [ספירת ערוצי פלט].

    activation

    פונקציית ההפעלה מבחינה אלמנטרית.

    strides

    הצעדים של חלון ההזזה לממדים מרחביים, כלומר (גובה צעד, רוחב צעד).

    padding

    אלגוריתם הריפוד לקונבולציה.

    dilations

    גורמי ההתרחבות לממדים מרחביים, כלומר (גובה התרחבות, רוחב התרחבות).

  • מחזירה את הפלט המתקבל מהחלת השכבה על הקלט הנתון.

    הממדים המרחביים של הפלט מחושבים כך:

    גובה פלט = (גובה קלט + 2 * גובה ריפוד - (גובה הרחבה * (גובה מסנן - 1) + 1)) / גובה צעדים + 1

    רוחב פלט = (רוחב קלט + 2 * רוחב ריפוד - (רוחב הרחבה * (רוחב מסנן - 1) + 1)) / רוחב צעדים + 1

    וגדלי הריפוד נקבעים לפי סכימת הריפוד.

    הערה

    גודל הריפוד שווה לאפס בעת שימוש .valid .

    הַצהָרָה

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    פרמטרים

    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-D, המייצג (גובה מסנן, רוחב מסנן, ספירת ערוצי קלט, ספירת ערוצי מוצא).

    strides

    הצעדים של חלון ההזזה לממדים מרחביים, כלומר (גובה צעד, רוחב צעד).

    padding

    אלגוריתם הריפוד לקונבולציה.

    dilations

    גורמי ההתרחבות לממדים מרחביים, כלומר (גובה התרחבות, רוחב התרחבות).

    activation

    פונקציית ההפעלה מבחינה אלמנטרית.

    filterInitializer

    אתחול לשימוש עבור פרמטרי המסנן.

    biasInitializer

    אתחול לשימוש עבור הפרמטרים ההטיה.