Camada

public protocol Layer : Module where Self.Input : Differentiable

Uma camada de rede neural.

Tipos que estejam em conformidade com Layer representam funções que mapeiam entradas e saídas. Eles podem ter um estado interno representado por parâmetros, como tensores de peso.

Layer instâncias definir um diferenciável callAsFunction(_:) método para entradas de mapeamento para saídas.

  • Retorna a saída obtida da aplicação da camada à entrada fornecida.

    Declaração

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

    Parâmetros

    input

    A entrada para a camada.

    Valor de retorno

    A saída.

  • frente(_:)

    Implementação padrão

    Implementação Padrão

    Declaração

    @differentiable
    func forward(_ input: Input) -> Output
  • inferir (de :)

    Método de extensão

    Retorna a saída de inferência obtida da aplicação da camada à entrada fornecida.

    Declaração

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

    Parâmetros

    input

    A entrada para a camada.

    Valor de retorno

    A saída de inferência.

  • Backpropagator

    Método de extensão

    Declaração

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

    Método de extensão

    Retorna a saída de inferência e a função de retropropagação obtida da aplicação da camada à entrada fornecida.

    Declaração

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

    Parâmetros

    input

    A entrada para a camada.

    Valor de retorno

    Uma tupla contendo a saída e a função de retropropagação. A função backpropagation (também conhecida como backpropagator) pega um vetor de direção e retorna os gradientes na camada e na entrada, respectivamente.

Disponível onde `Input`:` DifferentiableTensorProtocol`, `Output`:` DifferentiableTensorProtocol`

  • callAsFunction (_ :)

    Implementação padrão

    Implementação Padrão

    Declaração

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