Rate this post

Chúng ta biết Tensor có nhiều loại kích thước khác nhau như không chiều, một chiều và nhiều chiều. Vectơ là một tenxơ một chiều và để thao tác với chúng một số phép toán có sẵn. Các phép toán vectơ thuộc các loại khác nhau như phép toán toán học, tích dấu chấm và khoảng trống. Vectơ đóng một vai trò quan trọng trong học sâu.

Các bài viết liên quan:

Trong mạng nơ-ron học sâu, chúng tôi tạo ra điểm ngẫu nhiên với sự trợ giúp của vectơ hoặc tensor một chiều. Có các hoạt động sau đây được thực hiện trên vectơ.

Giới thiệu về Toán tử vector trong PyTorch

Toán tử vector trong PyTorch là một phần quan trọng của thư viện PyTorch, được sử dụng để thực hiện các phép toán và thao tác trên các vectors và tensors trong môi trường Python. PyTorch cung cấp một loạt các toán tử vector mạnh mẽ, linh hoạt và hiệu quả, giúp người dùng dễ dàng thao tác với dữ liệu đa chiều và thực hiện tính toán số học phức tạp trên đó.

Một số toán tử vector quan trọng trong PyTorch bao gồm:

  1. Cộng và trừ vectors: Sử dụng toán tử “+”, “-” để thực hiện phép cộng và phép trừ giữa các vectors cùng kích thước.
  2. Nhân vectors với scalar: Sử dụng toán tử “*”, “/” để nhân hoặc chia vectors với một scalar.
  3. Nhân và chia vectors: Sử dụng toán tử “*” để thực hiện phép nhân giữa các vectors cùng kích thước.
  4. Phép dot product: Sử dụng hàm torch.dot(a, b) để tính toán phép nhân chấm (dot product) giữa hai vectors.
  5. Phép cross product: Sử dụng hàm torch.cross(a, b) để tính toán phép nhân chéo (cross product) giữa hai vectors.

Ngoài ra, PyTorch còn cung cấp nhiều toán tử vector khác như phép chia lấy dư (modulo), tích vô hướng (inner product), tích tensor (tensor product) và nhiều hàm khác để thực hiện các phép toán và thao tác phức tạp trên vectors.

Với sự hỗ trợ mạnh mẽ của PyTorch trong việc thực hiện các phép toán vector, người dùng có thể dễ dàng xây dựng và huấn luyện các mô hình học máy phức tạp dựa trên vectors và tensors trong lĩnh vực trí tuệ nhân tạo và học sâu.

Xem thêm Product trong marketing là gì ?

Các Toán tử vector trong PyTorch

Chúng ta có thể cộng, trừ, nhân và chia tensor với một tensor khác. Sau đây là bảng của tất cả các phép toán được thực hiện trên vectơ với đầu ra mong đợi.

Trong PyTorch, có nhiều toán tử vector mạnh mẽ để thực hiện các phép toán và thao tác trên vectors. Dưới đây là một số toán tử vector quan trọng và các ví dụ minh họa:

  1. Cộng và trừ vectors:
import torch

a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

c = a + b  # Phép cộng vectors
# Kết quả: tensor([5, 7, 9])

d = a - b  # Phép trừ vectors
# Kết quả: tensor([-3, -3, -3])
  1. Nhân vectors với scalar:
import torch

a = torch.tensor([1, 2, 3])
scalar = 2

b = a * scalar  # Nhân vector với scalar
# Kết quả: tensor([2, 4, 6])

c = a / scalar  # Chia vector cho scalar
# Kết quả: tensor([0.5, 1.0, 1.5])
  1. Nhân và chia vectors:
import torch

a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

c = a * b  # Phép nhân vectors
# Kết quả: tensor([4, 10, 18])

d = a / b  # Phép chia vectors
# Kết quả: tensor([0.25, 0.4, 0.5])
  1. Phép dot product:
import torch

a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

dot_product = torch.dot(a, b)  # Phép nhân chấm (dot product) của hai vectors
# Kết quả: tensor(32)
  1. Phép cross product:
import torch

a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

cross_product = torch.cross(a, b)  # Phép nhân chéo (cross product) của hai vectors
# Kết quả: tensor([-3, 6, -3])

Ngoài ra, PyTorch còn cung cấp nhiều toán tử và hàm khác như phép chia lấy dư (modulo), tích vô hướng (inner product), tích tensor (tensor product) và nhiều hàm khác để thực hiện các phép toán và thao tác phức tạp trên vectors. Bạn có thể tìm hiểu thêm trong tài liệu chính thức của PyTorch.

import torch  
A=torch.tensor([1,2,3])  
B=torch.tensor([4,5,6])  
A+B  
A+2  
A-B  
B-2  
A*B  
A*2  
B/A  
B/2  

Đầu ra:

Xem thêm Sử dụng tính toán Vector trong R

Linspace trong pytorch

Trong PyTorch, hàm torch.linspace() được sử dụng để tạo ra một tensor chứa các giá trị tạo thành một dãy số tuyến tính trong một khoảng xác định.

Xem thêm Tensor 2 chiều

Cú pháp của hàm torch.linspace() như sau:

torch.linspace(start, end, steps=100, dtype=None, device=None, requires_grad=False)

Trong đó:

  • start: Giá trị đầu của dãy số.
  • end: Giá trị cuối của dãy số.
  • steps (tùy chọn): Số lượng bước trong dãy số. Mặc định là 100.
  • dtype (tùy chọn): Kiểu dữ liệu của tensor. Mặc định là None (sẽ được suy luận từ dữ liệu đầu vào).
  • device (tùy chọn): Thiết bị lưu trữ tensor. Mặc định là None (sử dụng thiết bị mặc định của PyTorch).
  • requires_grad (tùy chọn): Xác định xem tensor có cần lưu giữ gradient cho việc tính toán ngược (backpropagation) hay không. Mặc định là False.

Hàm torch.linspace() sẽ trả về một tensor chứa steps giá trị được phân bố đều trong khoảng từ start đến end.

Dưới đây là một ví dụ về cách sử dụng torch.linspace():

import torch

# Tạo tensor với 5 giá trị trong khoảng từ 0 đến 1
x = torch.linspace(0, 1, 5)

print(x)

Kết quả:

tensor([0.0000, 0.2500, 0.5000, 0.7500, 1.0000])

Trong ví dụ trên, chúng ta đã tạo một tensor x với 5 giá trị phân bố đều trong khoảng từ 0 đến 1.

Ví dụ

import torch  
import numpy as np  
import matplotlib.pyplot as plt  
x=torch.linspace(0,10,100)  
y=torch.exp(x)  
plt.plot(x.numpy(),y.numpy())  
plt.show()  

Đầu ra:

Lưu ý: Để hoạt động trơn tru hơn theo cấp số nhân, chúng ta phải tăng dữ liệu trong linspace. Nếu nó là 100 thay vì 5, thì đầu ra sẽ mượt mà hơn.

Lưu ý: Chúng ta có thể vẽ biểu đồ giá trị sin của x chứ không phải giá trị hàm mũ. Vì vậy, nó sẽ tạo ra một sin được gọi là một đường cong.

Ví dụ

import torch  
import numpy as np  
import matplotlib.pyplot as plt  
x=torch.linspace(0,10,100)  
y=torch.sin(x)  
plt.plot(x.numpy(),y.numpy())  
plt.show()  

Đầu ra:

Xem thêm Keras backends -tìm hiểu kiến thức cơ bản

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now