@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Une couche de réseau neuronal densément connectée.
Dense
implémente l'opération activation(matmul(input, weight) + bias)
, où weight
est une matrice de poids, bias
est un vecteur de biais et activation
est une fonction d'activation par élément.
Cette couche prend également en charge les tenseurs de poids 3D avec des matrices de biais 2D. Dans ce cas, la première dimension des deux est traitée comme la taille du lot qui est alignée avec la première dimension d' input
et la variante par lots de l'opération matmul(_:_:)
est utilisée, utilisant ainsi un poids et un biais différents pour chaque élément. dans le lot d'entrée.
La matrice de poids.
Déclaration
public var weight: Tensor<Scalar>
Le vecteur de biais.
Déclaration
public var bias: Tensor<Scalar>
La fonction d'activation par élément.
Déclaration
@noDerivative public let activation: Activation
Crée une instance à partir du poids donné, du biais facultatif et de la fonction d'activation.
Note
actuellement,weight
est le seul paramètre de différentiabilité.bias
peut devenir un paramètre de différentiabilité après queOptional
soit conditionnellement conforme àDifferentiable
: TF-499.Déclaration
@differentiable(wrt: weight) public init( weight: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation )
Crée une couche
Dense
avec la taille d'entrée, la taille de sortie et la fonction d'activation par élément spécifiées. La matrice de poids est créée avec shape[inputSize, outputSize]
et le vecteur de biais est créé avec shape[outputSize]
.Déclaration
public init( inputSize: Int, outputSize: Int, activation: @escaping Activation = identity, useBias: Bool = true, weightInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Paramètres
inputSize
La dimensionnalité de l'espace d'entrée.
outputSize
La dimensionnalité de l'espace de sortie.
activation
La fonction d'activation à utiliser. La valeur par défaut est
identity(_:)
.weightInitializer
Initialiseur à utiliser pour
weight
.biasInitializer
Initialiseur à utiliser pour
bias
.