Conv3D

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

Un livello di convoluzione 3D per la convoluzione spaziale/spazio-temporale 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 5-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, Int)
  • L'algoritmo di riempimento per la convoluzione.

    Dichiarazione

    @noDerivative
    public let padding: Padding
  • Il fattore di dilatazione per le dimensioni spaziali/spazio-temporali.

    Dichiarazione

    @noDerivative
    public let dilations: (Int, Int, Int)
  • Il tipo di funzione di attivazione per elemento.

    Dichiarazione

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Crea un livello Conv3D con il filtro, il bias, la funzione di attivazione, i passi e il riempimento specificati.

    Dichiarazione

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

    Parametri

    filter

    Il filtro di convoluzione 5-D della forma [profondità del filtro, 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 (profondità del passo, altezza del passo, larghezza del passo)

    padding

    L'algoritmo di riempimento per la convoluzione.

    dilations

    Il fattore di dilatazione per le dimensioni spaziali/spazio-temporali.

  • Restituisce l'output ottenuto dall'applicazione del livello all'input specificato.

    Le dimensioni spaziali di output sono calcolate come:

    profondità di output = (profondità di input + 2 * profondità di riempimento - (profondità di dilatazione * (profondità filtro - 1) + 1)) / profondità del passo + 1

    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 .

    Dichiarazione

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

    Parametri

    input

    L'input al livello della forma [conteggio batch, profondità di input, altezza di input, larghezza di input, conteggio dei canali di input].

    Valore di ritorno

    L'output della forma [conteggio batch, profondità di output, altezza di output, larghezza di output, conteggio dei canali di output].

  • Crea un livello Conv3D con la forma del filtro, i passi, il riempimento, le dilatazioni e la funzione di attivazione per elemento specificati. Il tensore del filtro viene inizializzato utilizzando l'inizializzazione uniforme Glorot con il seme specificato. Il vettore bias è inizializzato con zeri.

    Dichiarazione

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

    Parametri

    filterShape

    La forma del filtro di convoluzione 5-D, che rappresenta (profondità del filtro, 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 (profondità del passo, altezza del passo, larghezza del passo)

    padding

    L'algoritmo di riempimento per la convoluzione.

    dilations

    Il fattore di dilatazione per le dimensioni spaziali/spazio-temporali.

    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.