当前位置: 首页 > 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.lryc.cn/news/579298.html

相关文章:

  • EXCEL小妙招——判断A列和B列是否相等
  • AI时代SEO关键词策略
  • cv610将音频chn0配置为g711a,chn1配置为 aac编码,记录
  • Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的跨语言信息检索与知识融合(331)
  • Docker:容器化技术的基石与实践指南
  • 机器学习在智能能源管理中的应用:需求响应与可再生能源整合
  • ECharts 安装使用教程
  • 计算机视觉的新浪潮:扩散模型(Diffusion Models)技术剖析与应用前景
  • 第8章网络协议-NAT
  • 多种方法实现golang中实现对http的响应内容生成图片
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ButtonRippleEffect(按钮涟漪效果)
  • springboot切面编程
  • Softhub软件下载站实战开发(十):实现图片视频上传下载接口
  • 全角半角空格在网页中占位符和编码emsp;ensp;
  • CentOS 6操作系统安装
  • 毫米波雷达 – 深度学习
  • ubuntu 22.04 LTS 安装preempt-rt
  • C++2d我的世界V1.4
  • 模型预测专题:强鲁棒性DPCC
  • YOLOv11剪枝与量化(二)通道剪枝技术原理
  • Dify 工作流全栈解析:从零构建你的 AI 应用流程引擎
  • 【Java面试】Redis的poll函数epoll函数区别?
  • springboot 显示打印加载bean耗时工具类
  • 【大模型学习 | MINIGPT-4原理】
  • MYSQL基础内容
  • dial tcp 10.1.68.88:3306: connect: cannot assign requested address
  • Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
  • 深度剖析NumPy核心函数reshape()
  • 使用Scapy构造OSPF交互报文欺骗网络设备与主机建立Full关系
  • Python 高光谱分析工具(PyHAT)