كثيف

@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

طبقة شبكة عصبية متصلة بكثافة.

Dense تنفذ عملية activation(matmul(input, weight) + bias) ، حيث weight هو مصفوفة الوزن، و bias هو متجه التحيز، و activation هي وظيفة تفعيل عنصر الحكمة.

تدعم هذه الطبقة أيضًا موترات الوزن ثلاثية الأبعاد مع مصفوفات تحيز ثنائية الأبعاد. في هذه الحالة يجب معالجة البعد الأول لكل من حيث حجم الدفعة التي تتوافق مع البعد الأول من input والبديل دفعة من matmul(_:_:) عملية يستخدم، وبالتالي استخدام وزن مختلف والتحيز لكل عنصر في دفعة الإدخال.

  • مصفوفة الوزن.

    إعلان

    public var weight: Tensor<Scalar>
  • ناقل التحيز.

    إعلان

    public var bias: Tensor<Scalar>
  • وظيفة التنشيط من حيث العناصر.

    إعلان

    @noDerivative
    public let activation: Activation
  • نوع وظيفة التنشيط الحكيم.

    إعلان

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • يُنشئ مثيلًا من الوزن المحدد والتحيز الاختياري ووظيفة التنشيط.

    ملحوظة

    حاليا، weight هو المعلمة التفاضل فقط. bias ويمكن إجراء معلمة التفاضل بعد Optional يتفق مشروط ل Differentiable : TF-499.

    إعلان

    @differentiable(wrt: weight)
    public init(
      weight: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation
    )
  • تُرجع المخرجات التي تم الحصول عليها من تطبيق الطبقة على المدخلات المحددة.

    إعلان

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

    العوامل

    input

    الإدخال إلى الطبقة.

    قيمة الإرجاع

    الإخراج.

  • يخلق Dense طبقة مع الحجم المحدد المدخلات، وحجم الانتاج، وظيفة تفعيل عنصر الحكمة. يتم إنشاء مصفوفة الوزن مع شكل [inputSize, outputSize] وناقلات التحيز يتم إنشاؤه مع شكل [outputSize] .

    إعلان

    public init(
      inputSize: Int,
      outputSize: Int,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      weightInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    العوامل

    inputSize

    أبعاد مساحة الإدخال.

    outputSize

    أبعاد مساحة الإخراج.

    activation

    وظيفة التنشيط المراد استخدامها. القيمة الافتراضية هي identity(_:) .

    weightInitializer

    مهيئ لاستخدامها في weight .

    biasInitializer

    مهيئ لاستخدامها في bias .