Yoğun

@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 fonksiyonu.

    beyan

    @noDerivative
    public let activation: Activation
  • Öğe bazında etkinleştirme işlevi türü.

    beyan

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Verilen ağırlıktan, isteğe bağlı önyargıdan ve etkinleştirme işlevinden bir örnek oluşturur.

    Not

    şu anda weight tek türevlenebilirlik parametresidir. bias Optional bağlı olarak Differentiable : 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
    )
  • Katmanın verilen girişe uygulanmasıyla elde edilen çıktıyı döndürür.

    beyan

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

    Parametreler

    input

    Katmanın girişi.

    Geri dönüş değeri

    Çıktı.

  • 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ı.