Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

258
Visualizações
remodelando un tensor con relleno en pytorch

¿Cómo remodelo un tensor con dimensiones (30, 35, 49) a (30, 35, 512) al rellenarlo?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Si bien la solución de @nemo funciona bien, hay una rutina interna de pytorch, torch.nn.functional.pad , que hace lo mismo, y que tiene un par de propiedades que una torch.ones(*sizes)*pad_value no tiene (a saber otras formas de relleno, como el relleno de reflexión o el relleno de réplica... también comprueba algunas propiedades relacionadas con el degradado):

 import torch.nn.functional as F source = torch.rand((5,10)) # now we expand to size (7, 11) by appending a row of 0s at pos 0 and pos 6, # and a column of 0s at pos 10 result = F.pad(input=source, pad=(0, 1, 1, 1), mode='constant', value=0)

La semántica de los argumentos es:

  • input : el tensor fuente,
  • pad : una lista de longitud 2 * len(source.shape) de la forma (comienza el último eje, finaliza el último eje, comienza del 2º al último eje, finaliza del 2º al último eje, comienza del 3º al último eje, etc.) que indica cómo se deben agregar muchas dimensiones al principio y al final de cada eje,
  • mode : 'constant' , 'reflect' o 'replicate' . Predeterminado: 'constant' para los diferentes tipos de relleno
  • value para el relleno constante.
over 4 years ago · Santiago Trujillo Relatório

0

La solución más simple es asignar un tensor con su valor de relleno y las dimensiones de destino y asignar la parte para la que tiene datos:

 target = torch.zeros(30, 35, 512) source = torch.ones(30, 35, 49) target[:, :, :49] = source

Tenga en cuenta que no hay garantía de que rellenar su tensor con ceros y luego multiplicarlo con otro tensor tenga sentido al final, eso depende de usted.

over 4 years ago · Santiago Trujillo Relatório

0

Un módulo que podría ser más claro y adecuado para esta pregunta es torch.nn.ConstantPad1d por ejemplo

 import torch from torch import nn x = torch.ones(30, 35, 49) padded = nn.ConstantPad1d((0, 512 - 49), 0)(x)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda