Слой

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

    Вход в слой.

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

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

  • Backpropagator

    Способ расширения

    Декларация

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • applicationForBackpropagation (к :)

    Способ расширения

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

    Декларация

    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