SuperAPI AI 工具集

pytorch

通用与其它

查看项目

更新于 10-16 01:49

技能介绍

用途:PyTorch 是 Python 深度学习框架,用张量做 GPU 加速数值计算,用动态计算图(Autograd)实现自动微分,适合研究新架构、训练神经网络、求解物理信息神经网络(PINN)、实现 GAN/扩散等生成模型,以及通过 TorchScript/ONNX 做部署。

主要能力:张量类似 NumPy ndarray,但可放在 GPU 上并支持自动微分;动态图在代码执行时即时构建,允许模型内使用 Python 的 if/for 控制流;nn.Module 作为网络组件基类,自动跟踪 nn.Parameter 权重与偏置;torch.utils.data 提供 Dataset 与 DataLoader 处理批、打乱和多进程加载;torch.autograd.grad 可求高阶导数(Jacobian/Hessian);torch.compile 与 torch.cuda.amp 分别用于编译加速和混合精度。

使用方式:安装命令为 CPU 版 pip install torch torchvision,GPU 版 pip install torch --index-url https://download.pytorch.org/whl/cu121(具体 CUDA 版本以 pytorch.org 为准)。典型流程:定义张量数据、用 nn.Module 或 nn.Linear 建模型、选损失与优化器,训练循环中依次执行 optimizer.zero_grad()、loss.backward()、optimizer.step()。用 .to(device) 把模型和数据移到同一设备;推理时用 torch.no_grad() 并配合 model.eval();训练时用 model.train()。

适用场景:CNN、RNN、Transformer 训练;动态图研究;NVIDIA CUDA 或 Mac MPS 上的张量加速;PINN;GAN、Diffusion;大规模自动微分优化;生产部署。

限制与注意:梯度默认累积,忘记 zero_grad() 会导致不收敛;CPU 与 GPU 张量混用会报 RuntimeError;日志标量应使用 loss.item() 避免保留计算图;GPU 上不宜过度使用 float64;避免在循环中逐条把 Python 列表转张量,应使用 DataLoader 批处理;梯度爆炸可用 clip_grad_norm_,Dead ReLU 可换 LeakyReLU/ELU。官方文档 https://pytorch.org/docs/,教程 https://pytorch.org/tutorials/。