@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Yoğun şekilde bağlı bir sinir ağı katmanı.
Dense
activation(matmul(input, weight) + bias)
işlemini uygular; burada weight
bir ağırlık matrisidir, bias
bir önyargı vektörüdür ve activation
, öğe bazında bir aktivasyon fonksiyonudur.
Bu katman aynı zamanda 2 boyutlu önyargı matrislerine sahip 3 boyutlu ağırlık tensörlerini de destekler. Bu durumda her ikisinin de birinci boyutu, input
birinci boyutuyla hizalanan toplu iş boyutu olarak ele alınır ve matmul(_:_:)
işleminin toplu değişkeni kullanılır, böylece her öğe için farklı bir ağırlık ve önyargı kullanılır. giriş kümesinde.
Ağırlık matrisi.
beyan
public var weight: Tensor<Scalar>
Önyargı vektörü.
beyan
public var bias: Tensor<Scalar>
Öğe bazında aktivasyon işlevi.
beyan
@noDerivative public let activation: Activation
Verilen ağırlıktan, isteğe bağlı önyargıdan ve etkinleştirme işlevinden bir örnek oluşturur.
Not
şu andaweight
tek türevlenebilirlik parametresidir.bias
Optional
bağlı olarakDifferentiable
: TF-499'a uygun olduktan sonra bir türevlenebilirlik parametresi yapılabilir.beyan
@differentiable(wrt: weight) public init( weight: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation )
Belirtilen giriş boyutuna, çıkış boyutuna ve öğe bazında etkinleştirme işlevine sahip bir
Dense
katman oluşturur. Ağırlık matrisi şekil[inputSize, outputSize]
ile oluşturulur ve önyargı vektörü şekil[outputSize]
ile oluşturulur.beyan
public init( inputSize: Int, outputSize: Int, activation: @escaping Activation = identity, useBias: Bool = true, weightInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Parametreler
inputSize
Giriş uzayının boyutluluğu.
outputSize
Çıkış alanının boyutluluğu.
activation
Kullanılacak etkinleştirme işlevi. Varsayılan değer
identity(_:)
dir.weightInitializer
weight
için kullanılacak başlatıcı.biasInitializer
bias
için kullanılacak başlatıcı.