torch的用法总结

发布时间 2023-11-21 23:29:50作者: 黑逍逍

张量操作(Tensors):

创建张量(列表、numpy、0、1)

张量操作(改变形状、索引切片、)

数学操作(加 乘)

查看形状

Autograd(自动求导):

定义可训练参数:torch.nn.Parameter
自动求导上下文管理器:torch.autograd
损失函数:torch.nn.functional 中的函数,如 torch.nn.functional.cross_entropy

神经网络构建:

定义模型类:继承自 torch.nn.Module
定义前向传播方法:forward
层(Layer):如 torch.nn.Linear, torch.nn.Conv2d, torch.nn.ReLU 等

优化器(Optimizers):

梯度下降优化器:torch.optim.SGD, torch.optim.Adam 等
参数更新:optimizer.step()

数据处理:

数据加载器(DataLoader):torch.utils.data.DataLoader
数据集(Dataset):torch.utils.data.Dataset
转换(Transforms):torchvision.transforms

模型训练:

循环迭代训练数据:for epoch in range(num_epochs):
前向传播、损失计算、反向传播、参数更新

模型保存和加载:

保存模型:torch.save(model.state_dict(), 'model.pth')
加载模型:model.load_state_dict(torch.load('model.pth'))

GPU加速:

将模型移到GPU:model.to('cuda')
在GPU上执行张量操作:tensor.cuda()