Dönüşüm3D

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

Görüntüler üzerinde uzaysal/uzaysal-zamansal evrişim için 3 boyutlu bir evrişim katmanı.

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

  • 5 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
  • Uzamsal boyutlar için kayan pencerenin adımları.

    beyan

    @noDerivative
    public let strides: (Int, Int, Int)
  • Evrişim için doldurma algoritması.

    beyan

    @noDerivative
    public let padding: Padding
  • Uzamsal/uzaysal zamansal boyutlar için genişleme faktörü.

    beyan

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

    beyan

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Belirtilen filtre, önyargı, etkinleştirme işlevi, adımlar ve dolgu ile bir Conv3D katmanı oluşturur.

    beyan

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

    Parametreler

    filter

    Şeklin 5 boyutlu evrişim filtresi [filtre derinliği, filtre yüksekliği, 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.

    strides

    Uzamsal boyutlar için kayan pencerenin adımları (adım derinliği, adım yüksekliği, adım genişliği)

    padding

    Evrişim için doldurma algoritması.

    dilations

    Uzamsal/uzaysal-zamansal boyutlar için genişleme faktörü.

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

    Çıktı uzamsal boyutları şu şekilde hesaplanır:

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

    çıkış yüksekliği = (giriş yüksekliği + 2 * dolgu yüksekliği - (genişleme yüksekliği * (filtre yüksekliği - 1) + 1)) / adım yüksekliği + 1

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

    ve dolgu boyutları 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

    Şekil katmanına giriş [toplu sayım, giriş derinliği, giriş yüksekliği, giriş genişliği, giriş kanalı sayısı].

    Dönüş Değeri

    Şeklin çıktısı [parti sayısı, çıktı derinliği, çıktı yüksekliği, çıktı genişliği, çıktı kanalı sayısı].

  • Belirtilen filtre şekli, adımlar, dolgu, genişletme ve öğe bazında etkinleştirme işleviyle bir Conv3D katmanı oluşturur. Filtre tensörü, belirtilen tohumla Glorot tekdüze başlatma kullanılarak başlatılır. Önyargı vektörü sıfırlarla başlatılır.

    beyan

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

    Parametreler

    filterShape

    5 boyutlu evrişim filtresinin şekli (filtre derinliği, filtre yüksekliği, filtre genişliği, giriş kanalı sayısı, çıkış kanalı sayısı).

    strides

    Uzamsal boyutlar için kayan pencerenin adımları (adım derinliği, adım yüksekliği, adım genişliği)

    padding

    Evrişim için doldurma algoritması.

    dilations

    Uzamsal/uzaysal-zamansal boyutlar 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ı.