התרחבות 2D

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

שכבת הרחבה מורפולוגית דו מימדית

שכבה זו מחזירה את ההתרחבות המורפוגית של טנזור הקלט עם המסננים שסופקו

  • מסנן הרחבה 4-D.

    הַצהָרָה

    public var filter: Tensor<Scalar>
  • הצעדים של חלון הזזה לממדים מרחביים.

    הַצהָרָה

    @noDerivative
    public let strides: (Int, Int)
  • אלגוריתם הריפוד להרחבה.

    הַצהָרָה

    @noDerivative
    public let padding: Padding
  • מקדם ההתרחבות לממדים מרחביים.

    הַצהָרָה

    @noDerivative
    public let rates: (Int, Int)
  • יוצר שכבת Dilation2D עם המסנן שצוין, צעדים, הרחבות וריפוד.

    הַצהָרָה

    public init(
      filter: Tensor<Scalar>,
      strides: (Int, Int) = (1, 1),
      rates: (Int, Int) = (1, 1),
      padding: Padding = .valid
    )

    פרמטרים

    filter

    מסנן הרחבה 4-D של צורה [גובה מסנן, רוחב מסנן, ספירת ערוצי כניסה, ספירת ערוצי פלט].

    strides

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

    rates

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

    padding

    אלגוריתם הריפוד להרחבה.

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

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

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

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

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

    פֶּתֶק

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

    הַצהָרָה

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

    פרמטרים

    input

    הקלט לשכבת הצורה [גודל אצווה, גובה קלט, רוחב קלט, ספירת ערוצי קלט].

    ערך החזרה

    הפלט של צורה [ספירת אצווה, גובה פלט, רוחב פלט, ספירת ערוצי פלט].