句子桥梁网—您身边的句子专家

句子桥梁网—您身边的句子专家

pytorch怎么用

59

一、安装PyTorch

环境配置

- 建议使用[conda](https://docs.conda.io/)创建新环境:

```bash

conda create -n pytorch_env python=3.8

conda activate pytorch_env

```

- 根据显卡类型选择对应版本(NVIDIA/CUDA或AMD):

- NVIDIA用户:

```bash

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

```

- AMD用户:

```bash

pip install torch torchvision torchaudio

```

- 安装后验证GPU可用性:

```python

import torch

print(torch.cuda.is_available())

```

二、张量操作(核心数据结构)

创建张量

```python

import torch

scalar = torch.tensor(5)

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

matrix = torch.tensor([[1, 2], [3, 4]])

print("标量:", scalar)

print("向量:", vector)

print("矩阵:\n", matrix)

```

张量类型与运算

- 支持`float32`、`int64`等类型,可通过`dtype`参数指定。

- 基本运算(如加法)支持直接运算符:

```python

matrix + 10

```

动态计算图与自动求导

- 默认使用动态计算图,修改张量结构会自动更新计算图。

- 设置`requires_grad=True`自动记录梯度:

```python

x = torch.tensor(2.0, requires_grad=True)

y = x 2 + 3*x + 1

y.backward()

print(x.grad) 输出梯度

```

三、神经网络构建

定义网络结构

继承`nn.Module`类,定义层与激活函数:

```python

import torch.nn as nn

class NeuralNetwork(nn.Module):

def __init__(self):

super().__init__()

self.layer1 = nn.Linear(784, 128)

self.layer2 = nn.Linear(128, 64)

self.layer3 = nn.Linear(64, 10)

def forward(self, x):

x = torch.relu(self.layer1(x))

x = torch.relu(self.layer2(x))

x = self.layer3(x)

return x

```

训练模型

- 定义损失函数与优化器:

```python

import torch.optim as optim

loss_func = nn.CrossEntropyLoss()

optimizer = optim.SGD(model.parameters(), lr=0.01)

```

- 加载数据(如MNIST)并迭代训练:

```python

from torchvision import datasets, transforms

transform = transforms.Compose([

transforms.ToTensor(),

transforms.Normalize((0.5,), (0.5,))

])

train_dataset = datasets.MNIST(root='./data', train=True, download=True)

train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64)

```

四、注意事项

版本匹配:

确保PyTorch与CUDA版本兼容,安装后通过`torch.cuda.version()`验证。

性能优化:

使用GPU加速时,将张量移动到设备(CPU/GPU):

```python

x = x.cuda() 若x在GPU上

```

调试技巧:

动态计算图便于实时修改模型结构,调试更灵活。

通过以上步骤,你可以快速上手PyTorch进行深度学习开发。建议结合官方文档和示例项目进行实践,逐步深入理解其功能与特性。