@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Uma camada de convolução 2-D (por exemplo, convolução espacial sobre imagens).
Esta camada cria um filtro de convolução que é convoluído com a entrada da camada para produzir um tensor de saídas.
O filtro de convolução 4-D.
Declaração
public var filter: Tensor<Scalar>
O vetor de polarização.
Declaração
public var bias: Tensor<Scalar>
A função de ativação elemento a elemento.
Declaração
@noDerivative public let activation: Activation
Os avanços da janela deslizante para dimensões espaciais.
Declaração
@noDerivative public let strides: (Int, Int)
O algoritmo de preenchimento para convolução.
Declaração
@noDerivative public let padding: Padding
O fator de dilatação para dimensões espaciais.
Declaração
@noDerivative public let dilations: (Int, Int)
Cria uma camada
Conv2D
com filtro, polarização, função de ativação, avanços, dilatações e preenchimento especificados.Declaração
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) )
Parâmetros
filter
O filtro de convolução 4-D de formato [altura do filtro, largura do filtro, contagem de canais de entrada, contagem de canais de saída].
bias
O vetor de polarização da forma [contagem de canais de saída].
activation
A função de ativação elemento a elemento.
strides
Os avanços da janela deslizante para dimensões espaciais, ou seja, (altura do passo, largura do passo).
padding
O algoritmo de preenchimento para convolução.
dilations
Os fatores de dilatação para dimensões espaciais, ou seja, (altura de dilatação, largura de dilatação).
Retorna a saída obtida ao aplicar a camada à entrada fornecida.
As dimensões espaciais de saída são calculadas como:
altura de saída = (altura de entrada + 2 * altura de preenchimento - (altura de dilatação * (altura do filtro - 1) + 1)) / altura da passada + 1
largura de saída = (largura de entrada + 2 * largura de preenchimento - (largura de dilatação * (largura do filtro - 1) + 1)) / largura da passada + 1
e os tamanhos de preenchimento são determinados pelo esquema de preenchimento.
Observação
O tamanho do preenchimento é igual a zero ao usar
.valid
.Parâmetros
input
A entrada para a camada de forma [tamanho do lote, altura de entrada, largura de entrada, contagem de canais de entrada].
Valor de retorno
A saída da forma [contagem de lote, altura de saída, largura de saída, contagem de canais de saída].
Cria uma camada
Conv2D
com a forma de filtro especificada, avanços, preenchimento, dilatações e função de ativação por elemento.Declaração
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() )
Parâmetros
filterShape
A forma do filtro de convolução 4-D, representando (altura do filtro, largura do filtro, contagem de canais de entrada, contagem de canais de saída).
strides
Os avanços da janela deslizante para dimensões espaciais, ou seja, (altura do passo, largura do passo).
padding
O algoritmo de preenchimento para convolução.
dilations
Os fatores de dilatação para dimensões espaciais, ou seja, (altura de dilatação, largura de dilatação).
activation
A função de ativação elemento a elemento.
filterInitializer
Inicializador a ser usado para os parâmetros de filtro.
biasInitializer
Inicializador a ser usado para os parâmetros de polarização.