Conv1D

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

Uno strato di convoluzione 1-D (ad esempio, convoluzione temporale su una serie temporale).

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 3D.

    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
  • Il passo della finestra scorrevole per la dimensione temporale.

    Dichiarazione

    @noDerivative
    public let stride: Int
  • L'algoritmo di riempimento per la convoluzione.

    Dichiarazione

    @noDerivative
    public let padding: Padding
  • Il fattore di dilatazione per la dimensione temporale.

    Dichiarazione

    @noDerivative
    public let dilation: Int
  • Il tipo di funzione di attivazione per elemento.

    Dichiarazione

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

    Dichiarazione

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

    Parametri

    filter

    Il filtro di convoluzione 3D della forma [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.

    stride

    Il passo della finestra scorrevole per la dimensione temporale.

    padding

    L'algoritmo di riempimento per la convoluzione.

    dilation

    Il fattore di dilatazione per la dimensione temporale.

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

    La larghezza di output viene calcolata come:

    larghezza output = (larghezza input + 2 * dimensione riempimento - (dilatazione * (larghezza filtro - 1) + 1)) / passo + 1

    e la dimensione del riempimento è determinata 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 [dimensione batch, larghezza di input, conteggio dei canali di input].

    Valore di ritorno

    L'output della forma [dimensione batch, larghezza di output, conteggio dei canali di output].

Disponibile dove `Scalar.RawSignificand`: `FixedWidthInteger`
  • Crea un livello Conv1D con la forma del filtro, il passo, il riempimento, la dilatazione e la funzione di attivazione per elemento specificati.

    Dichiarazione

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

    Parametri

    filterShape

    La forma 3D del filtro, che rappresenta (larghezza del filtro, conteggio dei canali di ingresso, conteggio dei canali di uscita).

    stride

    Il passo della finestra scorrevole per la dimensione temporale.

    padding

    L'algoritmo di riempimento per la convoluzione.

    dilation

    Il fattore di dilatazione per la dimensione temporale.

    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.