Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Operaciones Matemáticas con Tensores | Introducción a PyTorch
Esenciales de PyTorch

bookOperaciones Matemáticas con Tensores

Operaciones elemento a elemento

Las operaciones elemento a elemento se aplican a cada elemento del tensor individualmente. Estas operaciones, como suma, resta y división, funcionan de manera similar a como lo hacen en NumPy:

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Operaciones matriciales

PyTorch también admite la multiplicación de matrices y el producto punto, que se realizan utilizando la función torch.matmul():

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

También se puede utilizar el operador @ para la multiplicación de matrices:

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Operaciones de Agregación

Las operaciones de agregación calculan estadísticas resumidas a partir de tensores, como los valores de suma, media, máximo y mínimo, que pueden calcularse utilizando sus respectivos métodos.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy

Los métodos de agregación también tienen dos parámetros opcionales:

  • dim: especifica la dimensión (de manera similar a axis en NumPy) a lo largo de la cual se aplica la operación. Por defecto, si no se proporciona dim, la operación se aplica a todos los elementos del tensor;
  • keepdim: indicador booleano (False por defecto). Si se establece en True, la dimensión reducida se mantiene como una dimensión de tamaño 1 en la salida, preservando el número original de dimensiones.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Broadcasting

Broadcasting permite operaciones entre tensores de diferentes formas al expandir automáticamente las dimensiones. Si necesita un repaso sobre broadcasting, puede encontrar más detalles aquí.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Funciones matemáticas útiles

PyTorch también proporciona varias funciones matemáticas como exponenciales, logaritmos y funciones trigonométricas.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

¿Cuál de las siguientes operaciones realiza correctamente la multiplicación de matrices en PyTorch?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

Suggested prompts:

Can you explain more about element-wise operations in PyTorch?

What is the difference between element-wise and matrix operations?

How does broadcasting work in PyTorch?

Awesome!

Completion rate improved to 5

bookOperaciones Matemáticas con Tensores

Desliza para mostrar el menú

Operaciones elemento a elemento

Las operaciones elemento a elemento se aplican a cada elemento del tensor individualmente. Estas operaciones, como suma, resta y división, funcionan de manera similar a como lo hacen en NumPy:

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Operaciones matriciales

PyTorch también admite la multiplicación de matrices y el producto punto, que se realizan utilizando la función torch.matmul():

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

También se puede utilizar el operador @ para la multiplicación de matrices:

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Operaciones de Agregación

Las operaciones de agregación calculan estadísticas resumidas a partir de tensores, como los valores de suma, media, máximo y mínimo, que pueden calcularse utilizando sus respectivos métodos.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy

Los métodos de agregación también tienen dos parámetros opcionales:

  • dim: especifica la dimensión (de manera similar a axis en NumPy) a lo largo de la cual se aplica la operación. Por defecto, si no se proporciona dim, la operación se aplica a todos los elementos del tensor;
  • keepdim: indicador booleano (False por defecto). Si se establece en True, la dimensión reducida se mantiene como una dimensión de tamaño 1 en la salida, preservando el número original de dimensiones.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Broadcasting

Broadcasting permite operaciones entre tensores de diferentes formas al expandir automáticamente las dimensiones. Si necesita un repaso sobre broadcasting, puede encontrar más detalles aquí.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Funciones matemáticas útiles

PyTorch también proporciona varias funciones matemáticas como exponenciales, logaritmos y funciones trigonométricas.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

¿Cuál de las siguientes operaciones realiza correctamente la multiplicación de matrices en PyTorch?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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