¿Cómo rellenar los límites del tensor de entrada con un valor constante en PyTorch?

En este artículo, discutiremos cómo rellenar los límites del tensor de entrada con un valor constante en PyTorch . Podemos rellenar los límites del tensor de entrada con un valor constante usando el método torch.nn.ConstantPad2D().

método torch.nn.ConstantPad2D() 

Podemos rellenar los límites de los tensores 3D y 4D y la forma del tensor de entrada es [C, H, W] y [N, C, H, W] respectivamente, donde N representa el tamaño del mini lote, C representa el número de canales, y H, W representa la altura y el ancho respectivamente. Este método acepta el tamaño del relleno y un valor constante como entrada. Los límites pueden ser iguales o diferentes en todos los lados (izquierda, derecha, arriba, abajo) . podemos aumentar la altura y el ancho de un tensor acolchado usando arriba+abajo e izquierda+derecha respectivamente. La siguiente sintaxis se usa para rellenar los límites del tensor de entrada con un valor constante.

Sintaxis: torch.nn.ConstantPad2d(pad, valor)

Parámetro:

  • pad (int, tuple): este es el tamaño del relleno. El tamaño del relleno es un número entero o una tupla.
  • valor: Este es un valor constante. 

Retorno: este método devuelve un nuevo tensor con límites.

Ejemplo 1:

En este ejemplo, veremos cómo agregar los mismos tamaños de relleno en todos los lados.

Python3

# Import required library
import torch
import torch.nn as nn
  
# define a tensor
tens = torch.tensor([[[21, 22], [23, 24]]])
print("\n Input Tensor: \n", tens)
  
# give padding size same for all sides
pad = nn.ConstantPad2d(2, 9)
output = pad(tens)
  
# display result
print("\n After Pad Input Ternsor: \n", output)

Producción:

How to Pad the Input Tensor Boundaries With a Constant Value in PyTorch?

 

Ejemplo 2:

En este ejemplo, veremos cómo agregar tamaños de relleno únicos en todos los lados (izquierda, derecha, arriba, abajo).

Python3

# Import required library
import torch
import torch.nn as nn
  
# define a tensor
tens = torch.tensor([[[11, 12], [13, 14]]])
print("\n Input Tensor: \n", tens)
  
# add unique padding sizes to all sides
# (left, right, top, bottom)
pad = nn.ConstantPad2d((1, 2, 3, 4), 8)
output = pad(tens)
  
# display result
print("\n After Pad Input Ternsor:\n", output)

Producción:

How to Pad the Input Tensor Boundaries With a Constant Value in PyTorch?

 

Ejemplo 3:

En este ejemplo, veremos cómo rellenar los límites de un lote de tensores.

Python3

# Import required library
import torch
import torch.nn as nn
  
# define a batch of tensor
tens = torch.tensor([[[11, 12], [13, 14]],
                     [[21, 22], [23, 24]]])
  
print("\n Input Tensor: \n", tens)
  
# add unique padding sizes to all sides
# (left, right, top, bottom)
pad = nn.ConstantPad2d(1, 8)
output = pad(tens)
  
# display result
print("\n After Pad Input Ternsor:\n", output)

Producción:

How to Pad the Input Tensor Boundaries With a Constant Value in PyTorch?

 

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *