@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Uno strato di convoluzione 2D (ad esempio, convoluzione spaziale sulle immagini).
Questo livello crea un filtro di convoluzione che viene convoluto con l'input del livello per produrre un tensore di output.
Il filtro di convoluzione 4-D.
Dichiarazione
public var filter: Tensor<Scalar>
Il vettore di polarizzazione.
Dichiarazione
public var bias: Tensor<Scalar>
La funzione di attivazione per elemento.
Dichiarazione
@noDerivative public let activation: Activation
I passi avanti della finestra scorrevole per le dimensioni spaziali.
Dichiarazione
@noDerivative public let strides: (Int, Int)
L'algoritmo di riempimento per la convoluzione.
Dichiarazione
@noDerivative public let padding: Padding
Il fattore di dilatazione per le dimensioni spaziali.
Dichiarazione
@noDerivative public let dilations: (Int, Int)
Crea un layer
Conv2D
con il filtro, il bias, la funzione di attivazione, i passi, le dilatazioni e il riempimento specificati.Dichiarazione
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) )
Parametri
filter
Il filtro di convoluzione 4-D della forma [altezza del filtro, larghezza del filtro, conteggio dei canali di input, conteggio dei canali di output].
bias
Il vettore di polarizzazione della forma [conteggio dei canali di uscita].
activation
La funzione di attivazione per elemento.
strides
I passi della finestra scorrevole per le dimensioni spaziali, ovvero (altezza del passo, larghezza del passo).
padding
L'algoritmo di riempimento per la convoluzione.
dilations
I fattori di dilatazione per le dimensioni spaziali, ovvero (altezza di dilatazione, larghezza di dilatazione).
Restituisce l'output ottenuto dall'applicazione del livello all'input specificato.
Le dimensioni spaziali di output sono calcolate come:
altezza output = (altezza input + 2 * altezza imbottitura - (altezza dilatazione * (altezza filtro - 1) + 1)) / altezza passo + 1
larghezza output = (larghezza input + 2 * larghezza imbottitura - (larghezza dilatazione * (larghezza filtro - 1) + 1)) / larghezza passo + 1
e le dimensioni del riempimento sono determinate dallo schema di riempimento.
Nota
La dimensione del riempimento è uguale a zero quando si utilizza
.valid
.Parametri
input
L'input al livello della forma [dimensione batch, altezza input, larghezza input, conteggio canali input].
Valore restituito
L'output della forma [conteggio batch, altezza di output, larghezza di output, conteggio dei canali di output].
Crea un livello
Conv2D
con la forma del filtro, i passi, il riempimento, le dilatazioni e la funzione di attivazione per elemento specificati.Dichiarazione
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() )
Parametri
filterShape
La forma del filtro di convoluzione 4-D, che rappresenta (altezza del filtro, larghezza del filtro, conteggio dei canali di input, conteggio dei canali di output).
strides
I passi della finestra scorrevole per le dimensioni spaziali, ovvero (altezza del passo, larghezza del passo).
padding
L'algoritmo di riempimento per la convoluzione.
dilations
I fattori di dilatazione per le dimensioni spaziali, ovvero (altezza di dilatazione, larghezza di dilatazione).
activation
La funzione di attivazione per elemento.
filterInitializer
Inizializzatore da utilizzare per i parametri del filtro.
biasInitializer
Inizializzatore da utilizzare per i parametri di bias.