Tensor: tạo, dtype, device và NumPy

Bài 1/615 phút

Tensor trong PyTorch tương tự np.ndarray: mảng nhiều chiều cùng kiểu. Khác biệt chính: tensor chạy được trên GPU và ghi nhớ phép toán để tự tính đạo hàm.

tensor.py
import torch

a = torch.tensor([[1., 2.], [3., 4.]])   # từ list
b = torch.zeros(2, 3)                      # shape (2, 3)
c = torch.randn(4, 8)                      # phân phối chuẩn
d = torch.arange(10)

print(a.shape, a.dtype)     # torch.Size([2, 2]) torch.float32
print(a @ a, a * a)         # nhân ma trận / nhân từng phần tử — giống NumPy

x = torch.from_numpy(np_array)   # NumPy → Tensor (dùng chung bộ nhớ)
n = a.numpy()                     # Tensor → NumPy
device = 'cuda' if torch.cuda.is_available() else 'cpu'
a = a.to(device)                  # chuyển lên GPU nếu có

Mặc định PyTorch dùng float32 (NumPy dùng float64). Học sâu không cần độ chính xác cao, float32 nhanh gấp đôi và tốn nửa bộ nhớ. Vì vậy kết quả có thể lệch NumPy ở chữ số thứ 6–7 — bình thường.

?torch.tensor([1, 2, 3]) có dtype gì?

Luyện tập ngay

Viết code và chấm tự động — có trợ lý AI gợi ý khi bí.