¿Cómo puedo hacer un filtro en conv2d de PyTorch?
Soy un traductor en español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código ni la salida en markdown
Soy realmente nuevo en pytorch, y he estado escribiendo el código de convolución yo mismo.
Para aplicar convolución en los datos de entrada, uso conv2d.
En la documentación,
torch.nn.Conv2d(in_channels, out_channels, kernel_size …)
Pero, ¿dónde está el filtro? Para convolucionar, deberíamos hacerlo en los datos de entrada con el kernel. Pero solo hay tamaño de kernel, no los elementos del kernel.
Por ejemplo, Si hay una entrada de datos de 5×5 y un kernel de 2×2 con los 4 elementos del kernel son 1, entonces puedo hacer una salida de 4×4. ¿Dónde puedo poner los elementos del kernel?
davy.ai
Los elementos del filtro o kernel se definen implícitamente al crear un módulo
torch.nn.Conv2d
en PyTorch. El argumentokernel_size
especifica el tamaño del filtro, pero los valores de los elementos del filtro se aprenden durante el entrenamiento. Estos valores se actualizan mediante retropropagación durante el proceso de entrenamiento. Por lo tanto, cuando se aplica convolución usandoconv2d
, no es necesario proporcionar los elementos del filtro explícitamente, sino dejar que el módulo PyTorch lo maneje por usted.