@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
2 boyutlu bir evrişim katmanı (örneğin, görüntüler üzerinde uzamsal evrişim).
Bu katman, çıktıların tensörünü üretmek için katman girişiyle evrilen bir evrişim filtresi oluşturur.
4 boyutlu evrişim filtresi.
beyan
public var filter: Tensor<Scalar>
Önyargı vektörü.
beyan
public var bias: Tensor<Scalar>
Öğe bazında aktivasyon işlevi.
beyan
@noDerivative public let activation: Activation
Uzamsal boyutlar için kayan pencerenin adımları.
beyan
@noDerivative public let strides: (Int, Int)
Evrişim için doldurma algoritması.
beyan
@noDerivative public let padding: Padding
Uzamsal boyutlar için genişleme faktörü.
beyan
@noDerivative public let dilations: (Int, Int)
Belirtilen filtre, önyargı, etkinleştirme işlevi, adımlar, genişletmeler ve dolguyla bir
Conv2D
katmanı oluşturur.beyan
public init( filter: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation = identity, strides: (Int, Int) = (1, 1), padding: Padding = .valid, dilations: (Int, Int) = (1, 1) )
Parametreler
filter
Şeklin 4 boyutlu evrişim filtresi [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 işlevi.
strides
Uzaysal boyutlar için kayan pencerenin adımları, yani (adım yüksekliği, adım genişliği).
padding
Evrişim için doldurma algoritması.
dilations
Uzamsal boyutlar için genişleme faktörleri, yani (genişleme yüksekliği, genişleme genişliği).
Katmanın verilen girişe uygulanmasıyla elde edilen çıktıyı döndürür.
Çıktı uzamsal boyutları şu şekilde hesaplanır:
çı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.Parametreler
input
Şekil katmanına giriş [toplu iş boyutu, giriş yüksekliği, giriş genişliği, giriş kanalı sayısı].
Dönüş Değeri
Şeklin çıktısı [parti sayısı, çı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
Conv2D
katmanı oluşturur.beyan
public init( filterShape: (Int, Int, Int, Int), strides: (Int, Int) = (1, 1), padding: Padding = .valid, dilations: (Int, Int) = (1, 1), activation: @escaping Activation = identity, useBias: Bool = true, filterInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Parametreler
filterShape
4 boyutlu evrişim filtresinin şekli (filtre yüksekliği, filtre genişliği, giriş kanalı sayısı, çıkış kanalı sayısı).
strides
Uzaysal boyutlar için kayan pencerenin adımları, yani (adım yüksekliği, adım genişliği).
padding
Evrişim için doldurma algoritması.
dilations
Uzamsal boyutlar için genişleme faktörleri, yani (genişleme yüksekliği, genişleme genişliği).
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ı.