No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Creación de Tensores en PyTorch

4/24
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Es importante saber leer las formas de los tensores y que nos dice. Por ejemplo un shape de (2,10) me dice que hay dos elementos que contienes 10 elementos cada una. De forma mas compleja leer un (2,10,20,3,2,3) Nos quiere decir como:

  1. Tenemos 2 terrenos
  2. Cada terreno cuenta con 10 Barriadas
  3. Cada Barriada cuenta con 20 casas
  4. Cada Casa cuenta con 3 Habitaciones
  5. Cada habitacion cuenta con 2 Camas
  6. Y cada cama cuenta con 3 almohadas.

En pocas palabras al tener tantas dimensiones nos quiere decir que agrupamos que esta adentro de que.

En PyTorch, los tensores son estructuras de datos similares a los arrays de NumPy, pero con la ventaja de que pueden ser utilizados en GPUs para acelerar los cálculos. A continuación, te muestro varias formas de crear tensores en PyTorch: \### 1. \*\*Crear un tensor a partir de una lista\*\* ```python import torch tensor = torch.tensor(\[1, 2, 3, 4, 5]) print(tensor) ``` \### 2. \*\*Crear un tensor de ceros\*\* ```python tensor = torch.zeros(3, 4) # Un tensor de 3 filas y 4 columnas lleno de ceros print(tensor) ``` \### 3. \*\*Crear un tensor de unos\*\* ```python tensor = torch.ones(3, 4) # Un tensor de 3 filas y 4 columnas lleno de unos print(tensor) ``` \### 4. \*\*Crear un tensor con valores aleatorios\*\* ```python tensor = torch.rand(3, 4) # Un tensor de 3 filas y 4 columnas con valores aleatorios entre 0 y 1 print(tensor) ``` \### 5. \*\*Crear un tensor con una secuencia de números\*\* ```python tensor = torch.arange(0, 10, step=2) # Un tensor que contiene los valores \[0, 2, 4, 6, 8] print(tensor) ``` \### 6. \*\*Crear un tensor con una distribución normal\*\* ```python tensor = torch.randn(3, 4) # Tensor con distribución normal estándar (media 0, desviación estándar 1) print(tensor) ``` \### 7. \*\*Crear un tensor vacío\*\* ```python tensor = torch.empty(2, 3) # Un tensor vacío de 2x3 (sin valores inicializados) print(tensor) ``` \### 8. \*\*Convertir un array de NumPy a un tensor\*\* Si ya tienes un array en NumPy y deseas convertirlo a un tensor de PyTorch: ```python import numpy as np array = np.array(\[1, 2, 3, 4]) tensor = torch.from\_numpy(array) print(tensor) ``` \### 9. \*\*Especificar el tipo de datos del tensor\*\* Puedes crear un tensor de un tipo específico, por ejemplo, un tensor de enteros (`torch.int`) o de punto flotante (`torch.float`): ```python tensor = torch.tensor(\[1.0, 2.0, 3.0], dtype=torch.float32) # Tensor de tipo float print(tensor) ``` \### 10. \*\*Crear un tensor en una GPU (si está disponible)\*\* Si tienes una GPU y deseas que el tensor sea creado directamente en la GPU, puedes especificarlo con `device='cuda'`: ```python if torch.cuda.is\_available(): tensor = torch.tensor(\[1, 2, 3], device='cuda') # Crear el tensor en la GPU print(tensor) ``` Estos son algunos de los métodos más comunes para crear tensores en PyTorch.
En PyTorch, los tensores son estructuras de datos similares a los arrays de NumPy, pero con la ventaja de que pueden ser utilizados en GPUs para acelerar los cálculos. A continuación, te muestro varias formas de crear tensores en PyTorch: \### 1. \*\*Crear un tensor a partir de una lista\*\* ```python import torch tensor = torch.tensor(\[1, 2, 3, 4, 5]) print(tensor) ``` \### 2. \*\*Crear un tensor de ceros\*\* ```python tensor = torch.zeros(3, 4) # Un tensor de 3 filas y 4 columnas lleno de ceros print(tensor) ``` \### 3. \*\*Crear un tensor de unos\*\* ```python tensor = torch.ones(3, 4) # Un tensor de 3 filas y 4 columnas lleno de unos print(tensor) ``` \### 4. \*\*Crear un tensor con valores aleatorios\*\* ```python tensor = torch.rand(3, 4) # Un tensor de 3 filas y 4 columnas con valores aleatorios entre 0 y 1 print(tensor) ``` \### 5. \*\*Crear un tensor con una secuencia de números\*\* ```python tensor = torch.arange(0, 10, step=2) # Un tensor que contiene los valores \[0, 2, 4, 6, 8] print(tensor) ``` \### 6. \*\*Crear un tensor con una distribución normal\*\* ```python tensor = torch.randn(3, 4) # Tensor con distribución normal estándar (media 0, desviación estándar 1) print(tensor) ``` \### 7. \*\*Crear un tensor vacío\*\* ```python tensor = torch.empty(2, 3) # Un tensor vacío de 2x3 (sin valores inicializados) print(tensor) ``` \### 8. \*\*Convertir un array de NumPy a un tensor\*\* Si ya tienes un array en NumPy y deseas convertirlo a un tensor de PyTorch: ```python import numpy as np array = np.array(\[1, 2, 3, 4]) tensor = torch.from\_numpy(array) print(tensor) ``` \### 9. \*\*Especificar el tipo de datos del tensor\*\* Puedes crear un tensor de un tipo específico, por ejemplo, un tensor de enteros (`torch.int`) o de punto flotante (`torch.float`): ```python tensor = torch.tensor(\[1.0, 2.0, 3.0], dtype=torch.float32) # Tensor de tipo float print(tensor) ``` \### 10. \*\*Crear un tensor en una GPU (si está disponible)\*\* Si tienes una GPU y deseas que el tensor sea creado directamente en la GPU, puedes especificarlo con `device='cuda'`: ```python if torch.cuda.is\_available(): tensor = torch.tensor(\[1, 2, 3], device='cuda') # Crear el tensor en la GPU print(tensor) ```
Una matriz de dimensión 3 se puede imaginar como un cubo. Cada dimensión hace referencia a una dirección nueva en el cual puedes ubicar los elementos de interés. No se debe confundir con la forma o "shape" de las matrices.
```python escalar = torch.randn(1) # forma un es un escalarvector = torch.zeros(1,10) #  vector de 1 fila con 10 columnasmatriz = torch.ones(2,2) # 2 filas 2 columnas print(escalar)print(' ')print(' ')print(vector)print(' ')print(' ')print(matriz) ```
``` escalar = torch.randn(1) # forma un es un escalarvector = torch.zeros(1,10) #  vector de 1 fila con 10 columnasmatriz = torch.ones(2,2) # 2 filas 2 columnas print(escalar)print(' ')print(' ')print(vector)print(' ')print(' ')print(matriz) ```