En este artículo, veremos diferentes operaciones in situ realizadas en tensores en PyTorch.
Las operaciones in situ se utilizan para alterar directamente los valores de un tensor. Los datos recabados del usuario no serán copiados. El beneficio fundamental de adoptar estos procedimientos es que reducen el almacenamiento de memoria mientras aumentan la computación, lo que facilita el manejo de datos de gran dimensión.
En este artículo, veremos cómo realizar algunas de las operaciones aritméticas (suma, resta y multiplicación) con y sin operaciones en el lugar.
Sintaxis para la suma
Normal Addition: t1.add(t2) In-place Addition: t1.add_(t2)
Sintaxis para la resta
Normal Subtraction: t1.sub(t2) In-place Subtraction: t1.sub_(t2)
Sintaxis para la resta
Normal Multiplication: t1.mul(t2) In-place Multiplication: t1.mul_(t2)
Ejemplo 1:
En este ejemplo, estamos creando dos tensores a y b que contienen un solo valor y realizan todas las operaciones de suma, y luego mostraremos el contenido de un tensor usando el método item().
Python3
# import required library import torch # create two tensors a and b with # single value a = torch.tensor(2) b = torch.tensor(6) print("Addition") # Normal addition a.add(b) # display content in a print("Normal addition : ", a.item()) # In-place addition a.add_(b) # display content in a print("In-place addition : ", a.item())
Producción:
Addition Normal addition : 2 In-place addition : 8
Ejemplo 2:
En este ejemplo, estamos creando dos tensores a y b que contienen un solo valor y realizan todas las operaciones de resta, y luego mostraremos el contenido de un tensor usando el método item().
Python3
# import required library import torch # create two tensors a and b with # single value a = torch.tensor(2) b = torch.tensor(6) print("Subtraction") # Normal Subtraction a.sub(b) # display content in a print("Normal Subtraction : ", a.item()) # In-place Subtraction a.sub_(b) # display content in a print("In-place Subtraction : ", a.item())
Producción:
Subtraction Normal Subtraction : 2 In-place Subtraction : -4
Ejemplo 3
En este ejemplo, estamos creando dos tensores a y b que contienen un solo valor y realizan todas las operaciones de multiplicación, y luego mostraremos el contenido de un tensor usando el método item().
Python3
# import required library import torch # create two tensors a and b with # single value a = torch.tensor(2) b = torch.tensor(6) print("Multiplication") # Normal Multiplication a.mul(b) # display content in a print("Normal Subtraction : ", a.item()) # In-place Multiplication a.mul_(b) # display content in a print("In-place Multiplication : ", a.item())
Producción:
Multiplication Normal Subtraction : 2 In-place Multiplication : 12
Ejemplo 4
En este ejemplo, estamos creando dos tensores a y b que contienen un valor múltiple y realizan todas las operaciones de suma y multiplicación, y luego mostraremos el contenido de un tensor usando el método item().
Python3
# import required library import torch # create two tensors a and b with # 4 values each a = torch.tensor([2, 3, 4, 5]) b = torch.tensor([2, 3, 4, 5]) print("Addition") # Normal addition a.add(b) # display content in a print("Normal addition : ", a) # In-place addition a.add_(b) # display content in a print("In-place addition : ", a) print("\nMultiplication") # Normal Multiplication a.mul(b) # display content in a print("Normal Subtraction : ", a) # In-place Multiplication a.mul_(b) # display content in a print("In-place Multiplication : ", a) print()
Producción:
Addition Normal addition : tensor([2, 3, 4, 5]) In-place addition : tensor([ 4, 6, 8, 10]) Multiplication Normal Subtraction : tensor([ 4, 6, 8, 10]) In-place Multiplication : tensor([ 8, 18, 32, 50])
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA