@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 é convolvido 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 por elemento.
Declaração
@noDerivative public let activation: Activation
Os passos 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 um
Conv2D
camada com os referidos filtros de polarização,, a função de activação, passos, dilatações e estofamento.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 forma [altura do filtro, largura do filtro, contagem do canal de entrada, contagem do canal de saída].
bias
O vetor de polarização da forma [contagem do canal de saída].
activation
A função de ativação por elemento.
strides
As passadas da janela deslizante para dimensões espaciais, ou seja (altura da passada, largura da passada).
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 da aplicação da 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
Acolchoar o tamanho igual a zero quando se utiliza
.valid
.Parâmetros
input
A entrada para a camada de forma [tamanho do lote, altura de entrada, largura de entrada, contagem de canal de entrada].
Valor de retorno
A saída da forma [contagem de lote, altura de saída, largura de saída, contagem de canal de saída].
init (filterShape: strides: padding: dilations: activation: useBias: filterInitializer: biasInitializer :)
Cria um
Conv2D
camada com os referidos filtros de forma, passos, preenchimento, dilatações e função de activação elemento a 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 do canal de entrada, contagem do canal de saída).
strides
As passadas da janela deslizante para dimensões espaciais, ou seja (altura da passada, largura da passada).
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 por elemento.
filterInitializer
Inicializador a ser usado para os parâmetros do filtro.
biasInitializer
Inicializador a ser usado para os parâmetros de polarização.