Слой

public protocol Layer : Module where Self.Input : Differentiable

Слой нейронной сети.

Типы, соответствующие Layer , представляют функции, которые сопоставляют входные данные с выходными. Они могут иметь внутреннее состояние, представленное параметрами, такими как тензоры веса.

Экземпляры Layer определяют дифференцируемый метод callAsFunction(_:) для сопоставления входных данных с выходными.

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

    Декларация

    @differentiable
    func callAsFunction(_ input: Input) -> Output

    Параметры

    input

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

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

    Вывод.

  • вперед(_:) Реализация по умолчанию

    Реализация по умолчанию

    Декларация

    @differentiable
    func forward(_ input: Input) -> Output
  • вывод (из:) Метод расширения

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

    Декларация

    public func inferring(from input: Input) -> Output

    Параметры

    input

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

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

    Вывод вывода.

  • Обратный пропагатор Метод расширения

    Декларация

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • applyForBackpropagation(to:) Метод расширения

    Возвращает выходные данные вывода и функцию обратного распространения ошибки, полученную в результате применения слоя к заданным входным данным.

    Декларация

    public func appliedForBackpropagation(to input: Input)
      -> (output: Output, backpropagator: Backpropagator)

    Параметры

    input

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

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

    Кортеж, содержащий выходные данные и функцию обратного распространения ошибки. Функция обратного распространения ошибки (она же обратное распространение ошибки) принимает вектор направления и возвращает градиенты на слое и на входе соответственно.

Доступно, где `Input`: `DifferentiableTensorProtocol`, `Output`: `DifferentiableTensorProtocol`
  • callAsFunction(_:) Реализация по умолчанию

    Реализация по умолчанию

    Декларация

    @differentiable(wrt: self)
    @differentiable
    public func callAsFunction(_ input: Input) -> Output