Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để thực hiện phép trừ phần tử khôn ngoan trên tenxơ trong PyTorch?

Để thực hiện phép trừ phần tử khôn ngoan trên tensor, chúng ta có thể sử dụng torch.sub () phương pháp của PyTorch. Các phần tử tương ứng của các tenxơ bị trừ đi. Chúng ta có thể trừ một tensor vô hướng hoặc tensor từ một tensor khác. Chúng ta có thể trừ một tensor từ một tensor có cùng hoặc khác thứ nguyên. Kích thước của tensor cuối cùng sẽ giống với kích thước của tensor có chiều cao hơn.

Các bước

  • Nhập thư viện được yêu cầu. Trong tất cả các ví dụ Python sau, thư viện Python bắt buộc là torch . Đảm bảo rằng bạn đã cài đặt nó.

  • Xác định hai hoặc nhiều bộ căng PyTorch và in chúng. Nếu bạn muốn trừ một đại lượng vô hướng, hãy xác định nó.

  • Trừ một đại lượng vô hướng hoặc một tensor từ một tensor khác bằng cách sử dụng torch.sub () và gán giá trị cho một biến mới. Bạn cũng có thể trừ một đại lượng vô hướng khỏi tensor. Việc trừ đi các tenxơ bằng cách sử dụng phương pháp này không tạo ra bất kỳ sự thay đổi nào đối với các tenxơ ban đầu.

  • In căng cuối cùng.

Ví dụ 1

Ở đây, chúng ta sẽ có một chương trình Python 3 để trừ một số lượng vô hướng từ atensor. Chúng ta sẽ thấy ba cách khác nhau để thực hiện cùng một tác vụ.

# Python program to perform element-wise subtraction
# import the required library
import torch

# Create a tensor
t = torch.Tensor([1.5, 2.03, 3.8, 2.9])
print("Original Tensor t:\n", t)

# Subtract a scalar value to a tensor
v = torch.sub(t, 5.60)
print("Element-wise subtraction result:\n", v)

# Same result can also be obtained as below
t1 = torch.Tensor([5.60])
w = torch.sub(t, t1)
print("Element-wise subtraction result:\n", w)

# Other way to do above operation
t2 = torch.Tensor([5.60,5.60,5.60,5.60])
x = torch.sub(t, t2)
print("Element-wise subtraction result:\n", x)

Đầu ra

Original Tensor t:
   tensor([1.5000, 2.0300, 3.8000, 2.9000])
Element-wise subtraction result:
   tensor([-4.1000, -3.5700, -1.8000, -2.7000])
Element-wise subtraction result:
   tensor([-4.1000, -3.5700, -1.8000, -2.7000])
Element-wise subtraction result:
   tensor([-4.1000, -3.5700, -1.8000, -2.7000])

Ví dụ 2

Chương trình sau đây cho biết cách trừ một tensor 1-D khỏi tensor 2-D.

# Import necessary library
import torch

# Create a 2D tensor
T1 = torch.Tensor([[8,7],[4,5]])

# Create a 1-D tensor
T2 = torch.Tensor([10, 5])
print("T1:\n", T1)
print("T2:\n", T2)

# Subtract 1-D tensor from 2-D tensor
v = torch.sub(T1, T2)
print("Element-wise subtraction result:\n", v)

Đầu ra

T1:
tensor([[8., 7.],
         [4., 5.]])
T2:
   tensor([10., 5.])
Element-wise subtraction result:
tensor([[-2., 2.],
         [-6., 0.]])

Ví dụ 3

Chương trình sau đây cho biết cách trừ một tensor 2D khỏi tensor 1D.

# Python program to subtract 2D tensor from 1D tensor
# Import the library
import torch

# Create a 2D tensor
T1 = torch.Tensor([[1,2],[4,5]])

# Create a 1-D tensor
T2 = torch.Tensor([10, 5])
print("T1:\n", T1)
print("T2:\n", T2)

# Subtract 2-D tensor from 1-D tensor
v = torch.sub(T2, T1)
print("Element-wise subtraction result:\n", v)

Đầu ra

T1:
tensor([[1., 2.],
         [4., 5.]])
T2:
   tensor([10., 5.])
Element-wise subtraction result:
tensor([[9., 3.],
         [6., 0.]])

Bạn có thể nhận thấy rằng tensor cuối cùng là tensor 2D.

Ví dụ 4

Chương trình sau đây cho biết cách trừ một tensor 2D khỏi tensor 2D.

# import the library
import torch

# Create two 2-D tensors
T1 = torch.Tensor([[8,7],[3,4]])
T2 = torch.Tensor([[0,3],[4,9]])
print("T1:\n", T1)
print("T2:\n", T2)

# Subtract above two 2-D tensors
v = torch.sub(T1,T2)
print("Element-wise subtraction result:\n", v)

Đầu ra

T1:
tensor([[8., 7.],
         [3., 4.]])
T2:
tensor([[0., 3.],
         [4., 9.]])
Element-wise subtraction result:
tensor([[ 8., 4.],
         [-1., -5.]])