溪客(编程代码) 溪客(编程代码)

  • 今天是2025年08月20日 Wednesday
  • 首页
  • 知识
  • 网址
  • AI助手

Python

首页 / 知识 / Python
  • 基础
    • Conda
    • Jupyter
    • dump
    • CSharp2Python
    • 关于模块导入
    • 关于推导式
    • 关于元组
    • set和数组的区别
    • 关于Literal
    • 关于iter
    • 关于setup.py
    • 路径拼接
    • 方法命名约定
  • 库
    • 其他
    • argparse命令行参数解析
    • asyncio自带异步编程库
    • aiofiles异步文件读写库
    • beautifulsoup4_HTML_XML解析库
    • colorama_在终端输出漂亮的字
    • datasets数据集处理
    • html2text
    • httpx_HTTP请求库
    • litellm
    • loguru日志库
    • numpy科学计算基础库
    • pillow图像处理
    • pydantic数据验证
    • pyyaml
    • requests_HTTP请求库
    • tenacity重试
    • tiktoken计算Token量
    • torch机器学习_深度学习框架
    • tomli TOML文件解析库
    • tomllib 自带TOML文件解析库
    • unidiff_文本_文件差异对比
    • uvicorn_Web服务器
  • langchain
    • langchain-chatchat
    • langchain-qianfan
**torch(即 PyTorch)** 是由 **Meta(原 Facebook)** 开发维护的一个开源的 **Python 机器学习与深度学习框架**,用于**构建和训练神经网络、进行张量计算、实现 AI 模型**。 --- ## 一、torch 是什么?(简单理解) - **torch(PyTorch)** 是一个基于 **Python 的科学计算与深度学习库**,核心是支持**动态神经网络、自动求导(Autograd)、GPU 加速**。 - 它让开发者可以**灵活地定义、训练和部署深度学习模型**,是目前全球范围内**最流行、最受科研和工业界欢迎的深度学习框架之一**。 - 很多 AI 研究论文的代码实现、各大公司的深度学习项目(如计算机视觉、自然语言处理、语音识别等)都广泛使用 PyTorch。 --- ## 二、torch 解决什么问题? 当你需要做以下事情时,就会用到 torch(PyTorch): | 任务 | 说明 | |------|------| | **构建神经网络** | 定义如卷积神经网络(CNN)、循环神经网络(RNN)、Transformer 等模型 | | **训练深度学习模型** | 使用 GPU 加速,进行前向传播、反向传播、参数更新 | | **张量计算(Tensor)** | 类似于 NumPy 的多维数组,但支持 GPU 和自动求导 | | **自动求导(Autograd)** | 自动计算梯度,用于优化模型参数 | | **计算机视觉 / NLP / 语音等 AI 任务** | 提供大量工具和预训练模型,如 torchvision、torchaudio、transformers 等 | | **部署 AI 模型** | 可将训练好的模型导出并部署到服务器、移动端、嵌入式设备等 | --- ## 三、torch 的核心概念 | 概念 | 说明 | |------|------| | **Tensor(张量)** | torch 的基础数据结构,类似于 NumPy 的 ndarray,但支持 GPU 加速和自动求导 | | **Autograd(自动求导)** | 自动计算张量的梯度,用于反向传播和模型优化 | | **nn.Module** | 构建神经网络模块的基类,用于定义模型结构 | | **优化器(Optimizer)** | 如 SGD、Adam,用于更新模型参数 | | **损失函数(Loss Function)** | 用于衡量模型预测与真实值的差距,指导模型优化 | --- ## 四、安装 torch 安装命令根据你的系统(CPU 或 GPU)有所不同,常见安装方式如下: ### 1. 安装 CPU 版本(仅使用 CPU): ```bash pip install torch ``` ### 2. 安装 GPU 版本(支持 CUDA,需要 NVIDIA 显卡): 访问官网获取和你 CUDA 版本对应的安装命令:[https://pytorch.org](https://pytorch.org) 例如,使用 pip 安装支持 CUDA 11.8 的版本: ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 ``` 🔧 如果你不确定自己的 CUDA 版本,可以先安装 CPU 版本使用。 --- ## 五、torch 的简单使用示例 ### 示例 1:创建一个张量(Tensor) ```python import torch # 创建一个 2x3 的张量 x = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(x) ``` ### 示例 2:进行简单的张量运算 ```python y = torch.tensor([[1, 1, 1], [1, 1, 1]]) z = x + y # 张量相加 print(z) ``` ### 示例 3:定义一个简单的神经网络 ```python import torch import torch.nn as nn # 定义一个简单的全连接网络 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc = nn.Linear(10, 1) # 输入10维,输出1维 def forward(self, x): return self.fc(x) model = Net() print(model) ``` --- ## 六、torch 常用子库(生态) | 子库 | 用途 | |------|------| | **torchvision** | 计算机视觉相关工具,包括数据集、模型、图像变换等 | | **torchaudio** | 音频处理与语音相关工具 | | **torchtext** | 自然语言处理相关工具(较旧,新项目推荐用 transformers) | | **torchserve / TorchScript** | 模型部署与导出工具 | | **PyTorch Lightning** | 高级训练框架,简化训练流程 | | **Hugging Face Transformers** | 基于 PyTorch 的 NLP 预训练模型库(如 BERT、GPT 等) | --- ## 七、总结(中文) > **torch(即 PyTorch)是 Python 中最主流的深度学习框架之一,用于张量计算、神经网络构建、模型训练和 AI 研发,支持动态图、自动求导和 GPU 加速,广泛应用于学术研究和工业界。** > > 它简单灵活、功能强大,是当前 AI 开发者最常用的工具之一,尤其适合做**深度学习模型开发、科研实验、计算机视觉、自然语言处理等任务**。 --- ✅ **简单来说:** > 如果你要用 Python 做深度学习(比如训练神经网络、做 AI 模型),**torch(PyTorch)就是你最常用、最核心的工具库。**
© 2022 - 溪客(编程代码) - 粤ICP备10217501号 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)