متراکم

@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

    Initializer برای استفاده برای bias .