@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Uma camada de rede neural densamente conectada.
Dense
implementa a operação activation(matmul(input, weight) + bias)
, onde weight
é uma matriz de peso, bias
é um vetor de polarização e activation
é uma função de ativação elemento a elemento.
Esta camada também suporta tensores de peso 3D com matrizes de polarização 2D. 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 operação matmul(_:_:)
é usada, usando assim um peso e viés diferente 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 elemento a elemento.
Declaração
@noDerivative public let activation: Activation
Cria uma instância a partir do peso fornecido, da polarização opcional e da função de ativação.
Observação
atualmente,weight
é o único parâmetro de diferenciabilidade.bias
pode ser transformado em um parâmetro de diferenciabilidade apósOptional
condicionalmente estar em conformidade comDifferentiable
: TF-499.Declaração
@differentiable(wrt: weight) public init( weight: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation )
Cria uma camada
Dense
com o tamanho de entrada, tamanho de saída e função de ativação elemento a elemento especificados. A matriz de peso é criada com shape[inputSize, outputSize]
e o vetor de polarização é criado com shape[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
.