当前位置: 首页 > news >正文

PyTorch 安装使用教程

一、PyTorch 简介

PyTorch 是由 Facebook AI Research 团队开发的开源深度学习框架。它以动态图机制、灵活性强、易于调试而著称,广泛应用于自然语言处理、计算机视觉和学术研究。


二、安装 PyTorch

2.1 通过官网选择安装命令(推荐)

访问官网安装页面:
https://pytorch.org/get-started/locally/

选择操作系统、Package、Python版本、CUDA版本,自动生成安装命令。

2.2 pip 安装(CPU 版本)

pip install torch torchvision torchaudio

2.3 pip 安装(GPU + CUDA 版本示例)

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

注意:需安装对应版本的 NVIDIA 驱动和 CUDA Toolkit。

2.4 conda 安装(推荐 Anaconda 用户)

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

三、验证安装

import torch
print(torch.__version__)
print("CUDA 是否可用:", torch.cuda.is_available())

四、PyTorch 基本使用

4.1 创建张量

import torchx = torch.tensor([1.0, 2.0, 3.0])
y = torch.ones(3)
print(x + y)

4.2 Tensor 与 NumPy 互转

import numpy as npa = np.array([1, 2, 3])
b = torch.from_numpy(a)
c = b.numpy()

4.3 使用 GPU

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
x = torch.rand(3, 3).to(device)

五、构建神经网络模型

import torch.nn as nn
import torch.nn.functional as Fclass Net(nn.Module):def __init__(self):super(Net, self).__init__()self.fc1 = nn.Linear(784, 128)self.fc2 = nn.Linear(128, 10)def forward(self, x):x = F.relu(self.fc1(x))return self.fc2(x)

六、训练模型示例

model = Net()
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)for epoch in range(10):# 假设有 inputs 和 labelsoutputs = model(inputs)loss = criterion(outputs, labels)optimizer.zero_grad()loss.backward()optimizer.step()

七、保存与加载模型

保存

torch.save(model.state_dict(), 'model.pth')

加载

model.load_state_dict(torch.load('model.pth'))
model.eval()

八、常见问题

Q1: 安装后 torch 无法导入?

请检查当前环境是否为正确的 Python 解释器,并确保 PyTorch 安装成功。

Q2: CUDA 不可用?

请确认:

  • 安装的 PyTorch 是 GPU 版本
  • 安装了兼容的 CUDA 驱动和工具包
  • 显卡驱动安装无误

九、学习资源推荐

  • PyTorch 中文文档
  • 官方文档
  • 动手学深度学习(PyTorch)
  • 深度学习 100 例项目

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.dtcms.com/a/265381.html

相关文章:

  • 【51单片机串行通信实验】2022-6-3
  • 数据库基础——事务隔离级别
  • 热血三国建筑攻略表格
  • Dubbo RPC 序列化问题记录
  • 信号与槽(1)
  • JXLS 库导出复杂 Excel
  • 多模态AI Agent技术栈解析:视觉-语言-决策融合的算法原理与实践
  • MySQL 8.0 OCP 1Z0-908 题目解析(18)
  • 如何摆脱情绪的自动驾驶模式:掌控你的内心反应
  • 如何将信息从 iPhone 同步到Mac(完整步骤和示意图)
  • 网络工具如何帮助消除网络安全风险
  • 解决RHEL/Rocky Linux 虚拟化KVM添加 物理主机异常
  • Python Rich 详解:让终端输出焕发新生
  • 一、Docker:一场颠覆应用部署与运维的容器革命
  • C# Linq to SQL:数据库编程的解决方案
  • YOLOv8 模型转换 ONNX 后 C# 调用异常:一个参数引发的跨平台适配难题
  • van-tabbar-item选中active数据变了,图标没变
  • Rust与Locust集成实战
  • 制作一款打飞机游戏76:分数显示
  • 【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(2)神经网络整体结构
  • Codeforces Round 1034 (Div. 3)
  • 互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
  • SerialAssist 串口调试助手 - 功能介绍
  • 解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
  • io-进程/线程--理论+实操
  • 旋量理论与运动旋量计算:Sympy中的数学实现与物理内涵
  • 实验室超算替代方案:AMD EPYC 双路高性能工作站,预装全套科研软件 配置科研环境3天拿到全套已优化工作站
  • leetcode 3304. 找出第 K 个字符 I 简单
  • 【Java工程师面试全攻略】Day10:系统性能优化全链路实践
  • AI时代SEO关键词策略