СепараблеКонв2Д

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

Двумерный разделимый слой свертки.

Этот слой выполняет глубинную свертку, которая действует отдельно на каналы, за которой следует точечная свертка, которая смешивает каналы.

  • Ядро 4-D глубинной свертки.

    Декларация

    public var depthwiseFilter: Tensor<Scalar>
  • Ядро 4-D поточечной свертки.

    Декларация

    public var pointwiseFilter: Tensor<Scalar>
  • Вектор смещения.

    Декларация

    public var bias: Tensor<Scalar>
  • Поэлементная функция активации.

    Декларация

    @noDerivative
    public let activation: Activation
  • Шаги скользящего окна для пространственных измерений.

    Декларация

    @noDerivative
    public let strides: (Int, Int)
  • Алгоритм заполнения для свертки.

    Декларация

    @noDerivative
    public let padding: Padding
  • Тип функции поэлементной активации.

    Декларация

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Создает слой SeparableConv2D с указанным глубинным и точечным фильтром, смещением, функцией активации, шагами и заполнением.

    Декларация

    public init(
      depthwiseFilter: Tensor<Scalar>,
      pointwiseFilter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid
    )

    Параметры

    depthwiseFilter

    Ядро 4-D глубинной свертки [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    Ядро 4-D поточечной свертки [1, 1, channel multiplier * input channels count, output channels count] .

    bias

    Вектор смещения.

    activation

    Поэлементная функция активации.

    strides

    Шаги скользящего окна для пространственных измерений.

    padding

    Алгоритм заполнения для свертки.

  • Возвращает выходные данные, полученные в результате применения слоя к заданным входным данным.

    Декларация

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

    Параметры

    input

    Входные данные слоя.

    Возвращаемое значение

    Выход.

  • Создает слой SeparableConv2D с заданной формой фильтра по глубине и по точкам, шагами, заполнением и функцией активации поэлементно.

    Декларация

    public init(
      depthwiseFilterShape: (Int, Int, Int, Int),
      pointwiseFilterShape: (Int, Int, Int, Int),
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      depthwiseFilterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      pointwiseFilterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Параметры

    depthwiseFilterShape

    Форма четырехмерного ядра глубинной свертки.

    pointwiseFilterShape

    Форма четырехмерного ядра точечной свертки.

    strides

    Шаги скользящего окна для пространственных/пространственно-временных измерений.

    padding

    Алгоритм заполнения для свертки.

    activation

    Функция поэлементной активации.

    filterInitializer

    Инициализатор, используемый для параметров фильтра.

    biasInitializer

    Инициализатор, используемый для параметров смещения.