Ramai rakan bertanya kepada saya cara belajar PyTorch. Amalan telah membuktikan bahawa pemula hanya perlu menguasai beberapa konsep dan penggunaan. Mari kita lihat ringkasan panduan ringkas ini!
Tensors in PyTorch are multi-dimensional arrays, similar to NumPy's ndarrays, but can run on the GPU:
import torch# Create a 2x3 tensortensor = torch.tensor([[1, 2, 3], [4, 5, 6]])print(tensor)
PyTorch uses dynamic computation graphs to perform operations when performing operasi Bina graf pengiraan dengan pantas, yang memberikan kefleksibelan untuk mengubah suai graf semasa masa jalan:
# Define two tensorsa = torch.tensor([2.], requires_grad=True)b = torch.tensor([3.], requires_grad=True)# Compute resultc = a * bc.backward()# Gradientsprint(a.grad)# Gradient w.r.t a
PyTorch membolehkan penukaran mudah antara CPU dan GPU. Hanya gunakan .to(device):
device = "cuda" if torch.cuda.is_available() else "cpu"tensor = tensor.to(device)
Autograd PyTorch menyediakan fungsi pembezaan automatik untuk semua operasi tensor Tetapan require_grad=True boleh menjejaki pengiraan:
x = torch.tensor([2.], requires_grad=True)y = x**2y.backward()print(x.grad)# Gradient of y w.r.t x
import torch.nn as nnclass SimpleNN(nn.Module):def __init__(self):super().__init__()self.fc = nn.Linear(1, 1)def forward(self, x):return self.fc(x)
loss_fn = nn.CrossEntropyLoss()optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
from torch.utils.data import Dataset, DataLoaderclass CustomDataset(Dataset):# ... (methods to define)data_loader = DataLoader(dataset, batch_size=32, shuffle=True)
JIT, butger mode secara lalai juga menyediakan kompilasi just-in-time (JIT) untuk model:
for epoch in range(epochs):for data, target in data_loader:optimizer.zero_grad()output = model(data)loss = loss_fn(output, target)loss.backward()optimizer.step()
Atas ialah kandungan terperinci Bagaimana untuk belajar PyTorch? terlalu mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!