Camada

public protocol Layer : Module where Self.Input : Differentiable

Uma camada de rede neural.

Os tipos que estão em conformidade com Layer representam funções que mapeiam entradas para saídas. Eles podem ter um estado interno representado por parâmetros, como tensores de peso.

As instâncias Layer definem um método callAsFunction(_:) diferenciável para mapear entradas para saídas.

  • Retorna a saída obtida ao aplicar a 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.

  • avançar(_:) Implementação padrão

    Implementação padrão

    Declaração

    @differentiable
    func forward(_ input: Input) -> Output
  • inferindo (de:) Método de extensão

    Retorna a saída de inferência obtida ao aplicar a 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.

  • Retropropagador Método de extensão

    Declaração

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • aplicadoForBackpropagation(to:) Método de extensão

    Retorna a saída de inferência e a função de retropropagação obtida ao aplicar a 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