Конв1D

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

Одномерный слой свертки (например, временная свертка по временному ряду).

Этот слой создает фильтр свертки, который свертывается с входными данными слоя для создания тензора выходных данных.

  • Трехмерный сверточный фильтр.

    Декларация

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

    Декларация

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

    Декларация

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

    Декларация

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

    Декларация

    @noDerivative
    public let padding: Padding
  • Коэффициент расширения временного измерения.

    Декларация

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

    Декларация

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

    Декларация

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

    Параметры

    filter

    Трехмерный сверточный фильтр формы [ширина фильтра, количество входных каналов, количество выходных каналов].

    bias

    Вектор смещения формы [количество выходных каналов].

    activation

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

    stride

    Шаг скользящего окна для временного измерения.

    padding

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

    dilation

    Коэффициент расширения временного измерения.

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

    Выходная ширина рассчитывается как:

    выходная ширина = (входная ширина + 2 * размер заполнения - (расширение * (ширина фильтра - 1) + 1)) / шаг + 1

    и размер заполнения определяется схемой заполнения.

    Примечание

    Размер заполнения равен нулю при использовании .valid .

    Декларация

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

    Параметры

    input

    Входные данные слоя [размер пакета, ширина ввода, количество входных каналов].

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

    Форма вывода [размер пакета, ширина вывода, количество выходных каналов].

Доступно, если `Scalar.RawSignificand`: `FixedWidthInteger`
  • Создает слой Conv1D с указанной формой фильтра, шагом, заполнением, расширением и функцией активации поэлементно.

    Декларация

    public init(
      filterShape: (Int, Int, Int),
      stride: Int = 1,
      padding: Padding = .valid,
      dilation: Int = 1,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Параметры

    filterShape

    Трехмерная форма фильтра, представляющая (ширину фильтра, количество входных каналов, количество выходных каналов).

    stride

    Шаг скользящего окна для временного измерения.

    padding

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

    dilation

    Коэффициент расширения временного измерения.

    activation

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

    filterInitializer

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

    biasInitializer

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