torch和torchvision是 PyTorch 生态中最核心的两个库。简单来说torch是基础框架负责张量计算和自动微分而torchvision是专注于视觉任务的工具集让你能方便地加载数据、使用预训练模型和进行图像处理。 torch深度学习框架的核心你可以把它看作整个 PyTorch 世界的基石。它的核心能力包括张量计算类似 NumPy 的多维数组但可以放到 GPU 上加速计算。自动微分 (torch.autograd)这是训练神经网络的关键。它能自动计算梯度帮你省去复杂的手动求导。神经网络模块 (torch.nn)提供了构建模型的各种“积木”比如全连接层、卷积层、激活函数、损失函数等。优化器 (torch.optim)包含各种优化算法如 Adam、SGD用于根据梯度更新模型参数。数据加载 (torch.utils.data)提供了Dataset和DataLoader工具能高效地加载、预处理和批量化你的数据。模型部署 (torch.jit)可以将 Python 模型编译成独立、可优化的 TorchScript 格式方便在生产环境中部署尤其是在 C 环境下。分布式训练 (torch.distributed)支持在多块 GPU 或多台机器上并行训练超大规模的模型。 torchvision视觉任务的专属工具箱torchvision是 PyTorch 的官方视觉扩展库专门处理图像和视频相关任务。它建立在torch之上让视觉应用的开发变得非常便捷主要由四个部分组成预训练模型 (torchvision.models)提供大量经典和前沿的模型架构并支持加载在 ImageNet 等海量数据上预训练好的权重。比如 ResNet、EfficientNet 用于图像分类Mask R-CNN 用于实例分割。这是快速落地 AI 应用的关键。数据集 (torchvision.datasets)内置了众多公开学术数据集的加载接口如 MNIST、CIFAR、COCO。你只需要几行代码就能自动下载并加载数据非常方便。图像变换 (torchvision.transforms)一套强大的图像预处理和数据增强工具。常用的操作有Resize、CenterCrop、ToTensor、Normalize等。你可以把它们组合成一个流程在数据送入模型前进行统一处理。工具函数 (torchvision.utils)提供一些实用工具比如将多张图片拼接成网格以便可视化的make_grid和将张量保存为图片文件的save_image。 它们的协作关系一句话总结它们的关系torch 构建了引擎和底盘torchvision 则在上面为你组装好了方向盘、座椅和轮子让你能直接开走这辆车。在一个典型的图像分类任务中它们的配合流程是这样的准备数据用torchvision.datasets加载数据集并用torchvision.transforms定义图像预处理步骤。创建模型用torchvision.models加载一个预训练的 ResNet 模型然后用torch.nn修改其输出层以适应当前任务。定义训练组件通过torch.nn定义损失函数如交叉熵损失通过torch.optim选择优化器。构建数据流用torch.utils.data.DataLoader将数据集打包实现分批次、多线程加载。训练与评估将数据放入模型进行前向/反向传播更新参数整个过程都由torch的核心框架驱动。✨ Mermaid 总结框图这个图清晰地展示了torch作为底盘提供计算、求导、优化等核心能力而torchvision作为上层的应用模块通过模型、数据和图像处理工具让视觉任务的开发更加便捷。
深度学习篇---torch 和 torchvision
torch和torchvision是 PyTorch 生态中最核心的两个库。简单来说torch是基础框架负责张量计算和自动微分而torchvision是专注于视觉任务的工具集让你能方便地加载数据、使用预训练模型和进行图像处理。 torch深度学习框架的核心你可以把它看作整个 PyTorch 世界的基石。它的核心能力包括张量计算类似 NumPy 的多维数组但可以放到 GPU 上加速计算。自动微分 (torch.autograd)这是训练神经网络的关键。它能自动计算梯度帮你省去复杂的手动求导。神经网络模块 (torch.nn)提供了构建模型的各种“积木”比如全连接层、卷积层、激活函数、损失函数等。优化器 (torch.optim)包含各种优化算法如 Adam、SGD用于根据梯度更新模型参数。数据加载 (torch.utils.data)提供了Dataset和DataLoader工具能高效地加载、预处理和批量化你的数据。模型部署 (torch.jit)可以将 Python 模型编译成独立、可优化的 TorchScript 格式方便在生产环境中部署尤其是在 C 环境下。分布式训练 (torch.distributed)支持在多块 GPU 或多台机器上并行训练超大规模的模型。 torchvision视觉任务的专属工具箱torchvision是 PyTorch 的官方视觉扩展库专门处理图像和视频相关任务。它建立在torch之上让视觉应用的开发变得非常便捷主要由四个部分组成预训练模型 (torchvision.models)提供大量经典和前沿的模型架构并支持加载在 ImageNet 等海量数据上预训练好的权重。比如 ResNet、EfficientNet 用于图像分类Mask R-CNN 用于实例分割。这是快速落地 AI 应用的关键。数据集 (torchvision.datasets)内置了众多公开学术数据集的加载接口如 MNIST、CIFAR、COCO。你只需要几行代码就能自动下载并加载数据非常方便。图像变换 (torchvision.transforms)一套强大的图像预处理和数据增强工具。常用的操作有Resize、CenterCrop、ToTensor、Normalize等。你可以把它们组合成一个流程在数据送入模型前进行统一处理。工具函数 (torchvision.utils)提供一些实用工具比如将多张图片拼接成网格以便可视化的make_grid和将张量保存为图片文件的save_image。 它们的协作关系一句话总结它们的关系torch 构建了引擎和底盘torchvision 则在上面为你组装好了方向盘、座椅和轮子让你能直接开走这辆车。在一个典型的图像分类任务中它们的配合流程是这样的准备数据用torchvision.datasets加载数据集并用torchvision.transforms定义图像预处理步骤。创建模型用torchvision.models加载一个预训练的 ResNet 模型然后用torch.nn修改其输出层以适应当前任务。定义训练组件通过torch.nn定义损失函数如交叉熵损失通过torch.optim选择优化器。构建数据流用torch.utils.data.DataLoader将数据集打包实现分批次、多线程加载。训练与评估将数据放入模型进行前向/反向传播更新参数整个过程都由torch的核心框架驱动。✨ Mermaid 总结框图这个图清晰地展示了torch作为底盘提供计算、求导、优化等核心能力而torchvision作为上层的应用模块通过模型、数据和图像处理工具让视觉任务的开发更加便捷。