@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Uno strato di rete neurale densamente connesso.
Dense
implementa l'operazione activation(matmul(input, weight) + bias)
, dove weight
è una matrice di peso, bias
è un vettore di polarizzazione e activation
è una funzione di attivazione per elemento.
Questo livello supporta anche tensori di peso 3D con matrici di polarizzazione 2D. In questo caso la prima dimensione di entrambi viene trattata come la dimensione batch allineata con la prima dimensione input
e viene utilizzata la variante batch dell'operazione matmul(_:_:)
, utilizzando quindi un peso e una distorsione diversi per ciascun elemento nel batch di input.
La matrice dei pesi.
Dichiarazione
public var weight: Tensor<Scalar>
Il vettore di polarizzazione.
Dichiarazione
public var bias: Tensor<Scalar>
La funzione di attivazione per elemento.
Dichiarazione
@noDerivative public let activation: Activation
Crea un'istanza dal peso specificato, dal bias opzionale e dalla funzione di attivazione.
Nota
attualmenteweight
è l’unico parametro di differenziabilità.bias
può essere reso un parametro di differenziabilità dopo cheOptional
si è conformato condizionatamente aDifferentiable
: TF-499.Dichiarazione
@differentiable(wrt: weight) public init( weight: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation )
Crea un livello
Dense
con la dimensione di input, la dimensione di output e la funzione di attivazione per elemento specificate. La matrice dei pesi viene creata con forma[inputSize, outputSize]
e il vettore bias viene creato con forma[outputSize]
.Dichiarazione
public init( inputSize: Int, outputSize: Int, activation: @escaping Activation = identity, useBias: Bool = true, weightInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Parametri
inputSize
La dimensionalità dello spazio di input.
outputSize
La dimensionalità dello spazio di output.
activation
La funzione di attivazione da utilizzare. Il valore predefinito è
identity(_:)
.weightInitializer
Inizializzatore da utilizzare per
weight
.biasInitializer
Inizializzatore da utilizzare per
bias
.