2
votes

Comment mettre à l'échelle une image dans Pytorch?

comment mettre à l'échelle une image dans Pytorch sans définir la hauteur et la largeur à l'aide de transformations? ('--upscale_factor', type = int, required = True, help = "facteur de montée en gamme de la super résolution")


2 commentaires

C'est intéressant, mais cela peut poser des problèmes si vos images ont une taille différente, après avoir appliqué upscale cela freine votre lot. Vous devez donc penser à votre pipeline de prétraitement.


J'ai besoin d'interpoler l'image avant de la transmettre au NN, c'est pourquoi, mais je ne veux pas modifier l'ensemble de données


3 Réponses :


0
votes

Cela pourrait faire le travail

transforms.Compose([transforms.resize(ImageSize*Scaling_Factor)])


0 commentaires

0
votes

Si je comprends bien que vous souhaitez suréchantillonner un tenseur x en spécifiant simplement un facteur f (au lieu de spécifier la largeur et la hauteur de la cible), vous pouvez essayer ceci: < pre> XXX

Notez que Upsample permet plusieurs modes d'interpolation, par exemple mode = 'le plus proche' ou mode='bilinear'


0 commentaires

0
votes

Voici un exemple intéressant:

tensor([[[[1., 1., 2., 2.],
          [1., 1., 2., 2.],
          [3., 3., 4., 4.],
          [3., 3., 4., 4.]]]])

Sortie:

input = torch.tensor([[1.,2.],[3.,4.]])
input=input[None]  
input=input[None]  
output = nn.functional.interpolate(input, scale_factor=2, mode='nearest')
print(output)


0 commentaires