Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Formas y Dimensiones en PyTorch | Introducción a PyTorch
Esenciales de PyTorch

bookFormas y Dimensiones en PyTorch

De manera similar a los arreglos de NumPy, la forma de un tensor determina sus dimensiones. Puede inspeccionar la forma de un tensor utilizando el atributo .shape:

123
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(f"Tensor shape: {tensor.shape}")
copy

Cambio de forma de tensores con view

El método .view() crea una nueva vista del tensor con la forma especificada sin modificar el tensor original. El número total de elementos debe permanecer igual.

1234567
import torch tensor = torch.arange(12) # Reshape a tensor to 4x3 reshaped_tensor = tensor.view(4, 3) print(f"Reshaped tensor: {reshaped_tensor}") # Original tensor remains unchanged print(f"Original tensor: {tensor}")
copy

Redimensionamiento de tensores con reshape

El método .reshape() es similar a .view(), pero puede manejar casos en los que el tensor no está almacenado de forma contigua en la memoria. Además, no modifica el tensor original.

12345
import torch tensor = torch.arange(12) # Reshape a tensor to 6x2 reshaped_tensor = tensor.reshape(6, 2) print(f"Reshaped tensor: {reshaped_tensor}")
copy

Uso de Dimensiones Negativas

Se puede utilizar -1 en la forma para que PyTorch infiere el tamaño de una dimensión según el número total de elementos.

12345
import torch tensor = torch.arange(12) # Automatically infer the second dimension inferred_tensor = tensor.view(2, -1) print("Inferred Tensor:", inferred_tensor)
copy

Comprensión de las Vistas de Tensores

Una vista de un tensor comparte los mismos datos con el tensor original. Los cambios en la vista afectan al tensor original y viceversa.

1234567
import torch tensor = torch.arange(12) view_tensor = tensor.view(2, 6) view_tensor[0, 0] = 999 # Changes in the view are reflected in the original tensor print("View Tensor:", view_tensor) print("Original Tensor:", tensor)
copy

Cambio de dimensiones

Los siguientes dos métodos permiten agregar o eliminar dimensiones:

  • unsqueeze(dim) agrega una nueva dimensión en la posición especificada;
  • squeeze(dim) elimina dimensiones de tamaño 1.
12345678
import torch tensor = torch.arange(12) # Add a new dimension unsqueezed_tensor = tensor.unsqueeze(0) # Add a batch dimension print(f"Unsqueezed tensor: {unsqueezed_tensor.shape}") # Remove a dimension of size 1 squeezed_tensor = unsqueezed_tensor.squeeze(0) print(f"Squeezed Tensor: {squeezed_tensor.shape}")
copy
question mark

¿Cuál será la forma del tensor después de ejecutar el siguiente código?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 9

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 5

bookFormas y Dimensiones en PyTorch

Desliza para mostrar el menú

De manera similar a los arreglos de NumPy, la forma de un tensor determina sus dimensiones. Puede inspeccionar la forma de un tensor utilizando el atributo .shape:

123
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(f"Tensor shape: {tensor.shape}")
copy

Cambio de forma de tensores con view

El método .view() crea una nueva vista del tensor con la forma especificada sin modificar el tensor original. El número total de elementos debe permanecer igual.

1234567
import torch tensor = torch.arange(12) # Reshape a tensor to 4x3 reshaped_tensor = tensor.view(4, 3) print(f"Reshaped tensor: {reshaped_tensor}") # Original tensor remains unchanged print(f"Original tensor: {tensor}")
copy

Redimensionamiento de tensores con reshape

El método .reshape() es similar a .view(), pero puede manejar casos en los que el tensor no está almacenado de forma contigua en la memoria. Además, no modifica el tensor original.

12345
import torch tensor = torch.arange(12) # Reshape a tensor to 6x2 reshaped_tensor = tensor.reshape(6, 2) print(f"Reshaped tensor: {reshaped_tensor}")
copy

Uso de Dimensiones Negativas

Se puede utilizar -1 en la forma para que PyTorch infiere el tamaño de una dimensión según el número total de elementos.

12345
import torch tensor = torch.arange(12) # Automatically infer the second dimension inferred_tensor = tensor.view(2, -1) print("Inferred Tensor:", inferred_tensor)
copy

Comprensión de las Vistas de Tensores

Una vista de un tensor comparte los mismos datos con el tensor original. Los cambios en la vista afectan al tensor original y viceversa.

1234567
import torch tensor = torch.arange(12) view_tensor = tensor.view(2, 6) view_tensor[0, 0] = 999 # Changes in the view are reflected in the original tensor print("View Tensor:", view_tensor) print("Original Tensor:", tensor)
copy

Cambio de dimensiones

Los siguientes dos métodos permiten agregar o eliminar dimensiones:

  • unsqueeze(dim) agrega una nueva dimensión en la posición especificada;
  • squeeze(dim) elimina dimensiones de tamaño 1.
12345678
import torch tensor = torch.arange(12) # Add a new dimension unsqueezed_tensor = tensor.unsqueeze(0) # Add a batch dimension print(f"Unsqueezed tensor: {unsqueezed_tensor.shape}") # Remove a dimension of size 1 squeezed_tensor = unsqueezed_tensor.squeeze(0) print(f"Squeezed Tensor: {squeezed_tensor.shape}")
copy
question mark

¿Cuál será la forma del tensor después de ejecutar el siguiente código?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 9
some-alt