Dönüşüm1D

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

1 boyutlu bir evrişim katmanı (örneğin bir zaman serisi üzerinde zamansal evrişim).

Bu katman, çıktıların tensörünü üretmek için katman girişiyle evrilen bir evrişim filtresi oluşturur.

  • 3 boyutlu evrişim filtresi.

    beyan

    public var filter: Tensor<Scalar>
  • Önyargı vektörü.

    beyan

    public var bias: Tensor<Scalar>
  • Öğe bazında aktivasyon fonksiyonu.

    beyan

    @noDerivative
    public let activation: Activation
  • Zamansal boyut için kayan pencerenin adımları.

    beyan

    @noDerivative
    public let stride: Int
  • Evrişim için doldurma algoritması.

    beyan

    @noDerivative
    public let padding: Padding
  • Zamansal boyut için genişleme faktörü.

    beyan

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

    beyan

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Belirtilen filtre, önyargı, aktivasyon fonksiyonu, adım, genişleme ve dolgu ile bir Conv1D katmanı oluşturur.

    beyan

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

    Parametreler

    filter

    Şeklin 3 boyutlu evrişim filtresi [filtre genişliği, giriş kanalı sayısı, çıkış kanalı sayısı].

    bias

    Şeklin önyargı vektörü [çıkış kanalı sayısı].

    activation

    Öğe bazında aktivasyon fonksiyonu.

    stride

    Zamansal boyut için kayan pencerenin adımları.

    padding

    Evrişim için doldurma algoritması.

    dilation

    Zamansal boyut için genişleme faktörü.

  • Katmanın verilen girişe uygulanmasıyla elde edilen çıktıyı döndürür.

    Çıkış genişliği şu şekilde hesaplanır:

    çıktı genişliği = (giriş genişliği + 2 * dolgu boyutu - (genişleme * (filtre genişliği - 1) + 1)) / adım + 1

    ve dolgu boyutu, dolgu şemasına göre belirlenir.

    Not

    .valid kullanıldığında dolgu boyutu sıfıra eşittir.

    beyan

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

    Parametreler

    input

    Katmanın girişi [toplu iş boyutu, giriş genişliği, giriş kanalı sayısı].

    Dönüş Değeri

    Şeklin çıktısı [parti boyutu, çıktı genişliği, çıktı kanalı sayısı].

`Scalar.RawSignificand`: `FixedWidthInteger` konumunda kullanılabilir
  • Belirtilen filtre şekli, adım, dolgu, genişletme ve öğe bazında etkinleştirme işleviyle bir Conv1D katmanı oluşturur.

    beyan

    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()
    )

    Parametreler

    filterShape

    Filtrenin (filtre genişliği, giriş kanalı sayısı, çıkış kanalı sayısı) temsil eden 3 boyutlu şekli.

    stride

    Zamansal boyut için kayan pencerenin adımları.

    padding

    Evrişim için dolgu algoritması.

    dilation

    Zamansal boyut için genişleme faktörü.

    activation

    Öğe bazında aktivasyon işlevi.

    filterInitializer

    Filtre parametreleri için kullanılacak başlatıcı.

    biasInitializer

    Önyargı parametreleri için kullanılacak başlatıcı.