Ter uma questão? Conecte-se com a comunidade no Fórum TensorFlow Visite o Fórum

Denso

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

Uma camada de rede neural densamente conectada.

Dense implementa a activation(matmul(input, weight) + bias) da operação activation(matmul(input, weight) + bias) , em que o weight é uma matriz de peso, a bias é um vetor de polarização e a activation é uma função de ativação elemento a elemento.

Esta camada também suporta tensores de peso 3-D com matrizes de polarização 2-D. Neste caso, a primeira dimensão de ambos é tratada como o tamanho do lote que está alinhado com a primeira dimensão de input e a variante do lote da matmul(_:_:) é usada, usando, portanto, um peso e inclinação diferentes para cada elemento no lote de entrada.

  • A matriz de peso.

    Declaração

    public var weight: Tensor<Scalar>
  • O vetor de polarização.

    Declaração

    public var bias: Tensor<Scalar>
  • A função de ativação por elemento.

    Declaração

    @noDerivative
    public let activation: Activation
  • O tipo de função de ativação por elemento.

    Declaração

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Cria uma instância a partir do peso, polarização opcional e função de ativação fornecidos.

    Observação

    atualmente, o weight é o único parâmetro de diferenciabilidade. bias pode ser transformado em um parâmetro de diferenciabilidade após Optional condicionalmente estar em conformidade com Differentiable : TF-499.

    Declaração

    @differentiable(wrt: weight)
    public init(
      weight: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation
    )
  • Retorna a saída obtida da aplicação da camada à entrada fornecida.

    Declaração

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

    Parâmetros

    input

    A entrada para a camada.

    Valor de retorno

    A saída.

  • Cria uma camada Dense com o tamanho de entrada especificado, tamanho de saída e função de ativação por elemento. A matriz de peso é criada com forma [inputSize, outputSize] e o vetor de polarização é criado com forma [outputSize] .

    Declaração

    public init(
      inputSize: Int,
      outputSize: Int,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      weightInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Parâmetros

    inputSize

    A dimensionalidade do espaço de entrada.

    outputSize

    A dimensionalidade do espaço de saída.

    activation

    A função de ativação a ser usada. O valor padrão é identity(_:) .

    weightInitializer

    Inicializador a ser usado para weight .

    biasInitializer

    Inicializador a ser usado para bias .