跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
PyTorch
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{Infobox software | name = PyTorch | logo = [[File:Pytorch logo.svg|200px]] | developer = [[Facebook AI Research]] (FAIR) | released = {{Start date and age|2016|10}} | programming_language = [[Python (编程语言)|Python]], [[C++]], [[CUDA]] | operating_system = [[Linux]], [[macOS]], [[Windows]] | genre = [[机器学习库]], [[深度学习框架]] | license = [[BSD许可证]] | website = {{URL|https://pytorch.org}} }} '''PyTorch'''是一个基于[[Python (编程语言)|Python]]的开源[[机器学习]]库,主要用于[[深度学习]]应用开发。由[[Facebook AI Research]] (FAIR)团队开发并维护,PyTorch以其动态计算图(称为'''自动微分''')和直观的接口而闻名,已成为学术界和工业界广泛使用的深度学习框架之一。 == 历史与发展 == PyTorch的前身是Torch,一个基于[[Lua (编程语言)|Lua]]的科学计算框架。2016年10月,Facebook发布了PyTorch 0.1.0版本,将Torch的核心功能移植到Python生态系统中。2018年发布的1.0版本引入了TorchScript,使得模型可以部署到生产环境中。 == 核心特性 == === 动态计算图 === PyTorch采用'''动态计算图'''(Dynamic Computational Graph)机制,也称为'''define-by-run'''方式。这使得模型可以在运行时构建和修改计算图,为研究和实验提供了极大的灵活性。 <syntaxhighlight lang="python"> import torch # 动态计算图示例 x = torch.tensor(3.0, requires_grad=True) y = torch.tensor(4.0, requires_grad=True) z = x**2 + y**3 z.backward() print(x.grad) # 输出: tensor(6.) print(y.grad) # 输出: tensor(48.) </syntaxhighlight> === 自动微分 === PyTorch的'''autograd'''包提供了自动微分功能,可以自动计算梯度,这对于训练神经网络至关重要。 === GPU加速 === PyTorch支持[[CUDA]],可以无缝地在CPU和GPU之间切换计算: <syntaxhighlight lang="python"> device = torch.device("cuda" if torch.cuda.is_available() else "cpu") x = torch.randn(1000, 1000, device=device) </syntaxhighlight> === 丰富的预训练模型 === PyTorch提供了'''torchvision'''、'''torchtext'''和'''torchaudio'''等扩展库,包含大量预训练模型: <syntaxhighlight lang="python"> from torchvision import models resnet = models.resnet50(pretrained=True) </syntaxhighlight> == 主要组件 == === torch === 核心张量库,提供类似[[NumPy]]的功能,但支持GPU加速和自动微分。 === torch.nn === 神经网络模块,包含各种层、损失函数和优化器。 === torch.optim === 优化算法实现,如[[随机梯度下降]](SGD)、[[Adam]]等。 === torch.utils.data === 数据加载和预处理工具。 == 与其他框架的比较 == {| class="wikitable" |- ! 特性 !! PyTorch !! [[TensorFlow]] (2.x) |- | 计算图 || 动态 || 动态/静态可选 |- | 调试难度 || 较易 || 较难 |- | 社区支持 || 学术为主 || 工业为主 |- | 部署工具 || TorchScript || TensorFlow Lite/Serving |- | 可视化 || TensorBoard || TensorBoard |} == 应用案例 == === 计算机视觉 === PyTorch在[[计算机视觉]]领域应用广泛,支持图像分类、目标检测、语义分割等任务。 === 自然语言处理 === 许多最新的[[自然语言处理]](NLP)模型如[[BERT]]、[[GPT]]都有PyTorch实现。 === 强化学习 === PyTorch的动态特性使其特别适合[[强化学习]]算法的实现。 == 生态系统 == * '''TorchVision''':计算机视觉专用库 * '''TorchText''':文本处理工具 * '''TorchAudio''':音频处理工具 * '''PyTorch Lightning''':轻量级封装框架 * '''HuggingFace Transformers''':预训练NLP模型库 == 安装与配置 == PyTorch可以通过[[pip]]或[[conda]]安装: <syntaxhighlight lang="bash"> # 使用pip安装CPU版本 pip install torch torchvision torchaudio # 使用conda安装GPU版本(需要CUDA) conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch </syntaxhighlight> == 学习资源 == * [https://pytorch.org/tutorials/ 官方教程] * [https://course.fast.ai/ Fast.ai课程] * 《Deep Learning with PyTorch》书籍 == 参见 == * [[TensorFlow]] * [[Keras]] * [[MXNet]] * [[深度学习]] * [[机器学习框架比较]] [[Category:机器学习库]] [[Category:深度学习框架]] [[Category:Python库]] [[Category:Facebook软件]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
该页面使用的模板:
模板:Infobox
(
编辑
)
模板:Infobox software
(
编辑
)
模板:Infobox software/simple
(
编辑
)
模板:MONTHNAME
(
编辑
)
模板:MONTHNUMBER
(
编辑
)
模板:Main other
(
编辑
)
模板:Plainlist
(
编辑
)
模板:Plainlist/styles.css
(
编辑
)
模板:Start date and age
(
编辑
)
模板:Template link expanded
(
编辑
)
模板:Template other
(
编辑
)
模板:Tlx
(
编辑
)
模板:Trim
(
编辑
)
模板:URL
(
编辑
)
模板:Wikidata
(
编辑
)
模板:Years or months ago
(
编辑
)
模板:Yesno
(
编辑
)
模块:Arguments
(
编辑
)
模块:Check for unknown parameters
(
编辑
)
模块:Infobox
(
编辑
)
模块:Infobox/styles.css
(
编辑
)
模块:InfoboxImage
(
编辑
)
模块:Template link general
(
编辑
)
模块:URL
(
编辑
)
模块:Wd
(
编辑
)