@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Una capa de convolución 2-D (por ejemplo, convolución espacial sobre imágenes).
Esta capa crea un filtro de convolución que convoluciona con la entrada de la capa para producir un tensor de salidas.
El filtro de convolución 4-D.
Declaración
public var filter: Tensor<Scalar>
El vector de sesgo.
Declaración
public var bias: Tensor<Scalar>
La función de activación por elementos.
Declaración
@noDerivative public let activation: Activation
Los pasos de la ventana corredera para las dimensiones espaciales.
Declaración
@noDerivative public let strides: (Int, Int)
El algoritmo de relleno para la convolución.
Declaración
@noDerivative public let padding: Padding
El factor de dilatación para las dimensiones espaciales.
Declaración
@noDerivative public let dilations: (Int, Int)
Crea una capa
Conv2D
con el filtro, el sesgo, la función de activación, los avances, las dilataciones y el relleno especificados.Declaración
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
El filtro de convolución 4-D de forma [altura del filtro, ancho del filtro, recuento de canales de entrada, recuento de canales de salida].
bias
El vector de polarización de la forma [recuento de canales de salida].
activation
La función de activación por elementos.
strides
Los pasos de la ventana corredera para dimensiones espaciales, es decir (altura de paso, ancho de paso).
padding
El algoritmo de relleno para la convolución.
dilations
Los factores de dilatación para las dimensiones espaciales, es decir (altura de dilatación, ancho de dilatación).
Devuelve el resultado obtenido al aplicar la capa a la entrada dada.
Las dimensiones espaciales de salida se calculan como:
altura de salida = (altura de entrada + 2 * altura de relleno - (altura de dilatación * (altura de filtro - 1) + 1)) / altura de zancada + 1
ancho de salida = (ancho de entrada + 2 * ancho de relleno - (ancho de dilatación * (ancho de filtro - 1) + 1)) / ancho de zancada + 1
y los tamaños de relleno están determinados por el esquema de relleno.
Nota
El tamaño del relleno es igual a cero cuando se usa
.valid
.Parámetros
input
La entrada a la capa de forma [tamaño del lote, altura de entrada, ancho de entrada, recuento de canales de entrada].
Valor de retorno
La salida de la forma [recuento de lotes, altura de salida, ancho de salida, recuento de canales de salida].
Crea una capa
Conv2D
con la forma de filtro, pasos, relleno, dilataciones y función de activación de elementos especificados.Declaración
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
La forma del filtro de convolución 4-D, que representa (altura del filtro, ancho del filtro, recuento de canales de entrada, recuento de canales de salida).
strides
Los pasos de la ventana corredera para dimensiones espaciales, es decir (altura de paso, ancho de paso).
padding
El algoritmo de relleno para la convolución.
dilations
Los factores de dilatación para las dimensiones espaciales, es decir (altura de dilatación, ancho de dilatación).
activation
La función de activación por elementos.
filterInitializer
Inicializador que se utilizará para los parámetros del filtro.
biasInitializer
Inicializador que se utilizará para los parámetros de polarización.