Conv1D

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

یک لایه پیچیدگی 1 بعدی (به عنوان مثال پیچیدگی زمانی در یک سری زمانی).

این لایه یک فیلتر کانولوشن ایجاد می کند که با ورودی لایه پیچیده می شود تا یک تانسور خروجی تولید کند.

  • فیلتر کانولوشن سه بعدی.

    اعلام

    public var filter: Tensor<Scalar>
  • بردار تعصب.

    اعلام

    public var bias: Tensor<Scalar>
  • تابع فعال سازی از نظر عنصر.

    اعلام

    @noDerivative
    public let activation: Activation
  • گام پنجره کشویی برای بعد زمانی.

    اعلام

    @noDerivative
    public let stride: Int
  • الگوریتم padding برای کانولوشن.

    اعلام

    @noDerivative
    public let padding: Padding
  • عامل اتساع برای بعد زمانی.

    اعلام

    @noDerivative
    public let dilation: Int
  • نوع تابع فعال سازی از نظر عنصر.

    اعلام

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • یک لایه Conv1D با فیلتر مشخص شده، بایاس، عملکرد فعال سازی، گام، اتساع و padding مشخص شده ایجاد می کند.

    اعلام

    public init(
      filter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      stride: Int = 1,
      padding: Padding = .valid,
      dilation: Int = 1
    )

    مولفه های

    filter

    فیلتر کانولوشن سه بعدی شکل [عرض فیلتر، تعداد کانال ورودی، تعداد کانال های خروجی].

    bias

    بردار بایاس شکل [تعداد کانال خروجی].

    activation

    تابع فعال سازی از نظر عنصر.

    stride

    گام پنجره کشویی برای بعد زمانی.

    padding

    الگوریتم padding برای کانولوشن.

    dilation

    عامل اتساع برای بعد زمانی.

  • خروجی به دست آمده از اعمال لایه به ورودی داده شده را برمی گرداند.

    عرض خروجی به صورت زیر محاسبه می شود:

    عرض خروجی = (عرض ورودی + 2 * اندازه بالشتک - (اتساع * (عرض فیلتر - 1) + 1)) / گام + 1

    و اندازه بالشتک با طرح padding تعیین می شود.

    توجه داشته باشید

    اندازه پد هنگام استفاده از .valid برابر با صفر است.

    اعلام

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

    مولفه های

    input

    ورودی لایه [اندازه دسته، عرض ورودی، تعداد کانال ورودی].

    ارزش بازگشتی

    خروجی شکل [اندازه دسته، عرض خروجی، تعداد کانال خروجی].

موجود در جایی که 'Scalar.RawSignificand': 'FixedWidthInteger'
  • یک لایه Conv1D با شکل فیلتر مشخص شده، گام برداشتن، بالشتک، اتساع و عملکرد فعال سازی از نظر عنصر ایجاد می کند.

    اعلام

    public init(
      filterShape: (Int, Int, Int),
      stride: Int = 1,
      padding: Padding = .valid,
      dilation: Int = 1,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    مولفه های

    filterShape

    شکل 3 بعدی فیلتر، نشان دهنده (عرض فیلتر، تعداد کانال ورودی، تعداد کانال های خروجی).

    stride

    گام پنجره کشویی برای بعد زمانی.

    padding

    الگوریتم padding برای کانولوشن.

    dilation

    عامل اتساع برای بعد زمانی.

    activation

    تابع فعال سازی از نظر عنصر.

    filterInitializer

    آغازگر برای استفاده برای پارامترهای فیلتر.

    biasInitializer

    آغازگر برای استفاده برای پارامترهای بایاس.