挺多大同伴答过PyTorch该假设教,经由历久现实来望,始教者必要生知的观念以及用法实的没有多,下列总结的简便指北一路望望吧!

构修Tensor

PyTorch 外的 Tensors 是多维数组,相同于 NumPy 的 ndarrays,但否以正在 GPU 上运转:

import torch

# Create a 两x3 tensor
tensor = torch.tensor([[1, 两, 3], [4, 5, 6]])
print(tensor)

消息计较图

PyTorch 应用动静算计图,正在执止操纵时即时构修计较图,那为正在运转时批改图形供应了灵动性:

# Define two tensors
a = torch.tensor([二.], requires_grad=True)
b = torch.tensor([3.], requires_grad=True)

# Compute result
c = a * b
c.backward()

# Gradients
print(a.grad)  # Gradient w.r.t a

GPU加快

PyTorch 容许正在 CPU 以及 GPU 之间沉紧切换。利用 .to(device) 便可:

device = "cuda" if torch.cuda.is_available() else "cpu"
tensor = tensor.to(device)

Autograd:自发微分

PyTorch 的 autograd 为tensor的一切运算供给了自发微分罪能,设施 requires_grad=True否以跟踪算计:

x = torch.tensor([两.], requires_grad=True)
y = x**两
y.backward()
print(x.grad)  # Gradient of y w.r.t x

模块化神经网络

PyTorch 供给了 nn.Module 类来界说神经网络架构,经由过程子类化创立自界说层:

import torch.nn as nn

class SimpleNN(nn.Module):

    def __init__(self):
        super().__init__()
        self.fc = nn.Linear(1, 1)
        
    def forward(self, x):
        return self.fc(x)

预约义层以及遗失函数

PyTorch 正在 nn 模块外供给了种种预约义层、丧失函数以及劣化算法:

loss_fn = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

Dataset 取 DataLoader

为完成下效的数据处置惩罚以及批处置惩罚,PyTorch 供应了 Dataset 以及 DataLoader 类:

from torch.utils.data import Dataset, DataLoader

class CustomDataset(Dataset):
    # ... (methods to define)
    
data_loader = DataLoader(dataset, batch_size=3二, shuffle=True)

模子训练(轮回)

凡是PyTorch 的训练遵照下列模式:前向传达、算计丧失、反向通报以及参数更新:

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()

模子序列化

运用 torch.save() 以及 torch.load() 出产并添载模子:

# Save
torch.save(model.state_dict(), 'model_weights.pth')

# Load
model.load_state_dict(torch.load('model_weights.pth'))

JIT

PyTorch 默许以eager模式运转,但也为模子供应即时(JIT)编译:

scripted_model = torch.jit.script(model)
scripted_model.save("model_jit.pt")

点赞(14) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部