深圳Yolo 视觉
深圳
立即加入
词汇表

PyTorch

了解PyTorch,这是一个灵活的Python 机器学习框架,为Ultralytics YOLO 等人工智能创新提供动力。今天就开始更智能、更快速地构建!

PyTorch 是一个主要的开源 机器学习(ML)深度学习(DL)框架,可促进 智能系统的开发。PyTorch 最初由Meta AI、 现在由独立的PyTorch 基金会管理,以确保 中立和社区驱动的发展。它以其灵活性和 "Pythonic "设计而闻名,允许 开发人员构建复杂的 神经网络(NN)架构。 在Python 生态系统中感觉自然而直观。

该框架的核心是对张量进行操作。 是多维数组,类似于 NumPy库中的多维数组类似。但是 与标准数组不同,这些数据结构可以在一个 GPU来大大加快 计算速度。这种能力对于处理大规模并行处理是必不可少的。 计算机视觉 (CV) 和自然语言等任务的现代人工智能模型 计算机视觉 (CV)和自然语言 理解。

主要特点和优势

PyTorch 有别于其他框架,它采用了一系列特定的设计方案,优先考虑开发人员的 效率和调试便利性:

  • 动态计算图:与历史上使用静态图(在运行前定义网络)的框架不同,PyTorch 采用了 "边运行边定义 "的理念。 运行前定义网络)的框架不同,PyTorch 采用了 "边运行边定义 "的理念。这使得开发人员可以 图,从而更容易调试和处理变长输入,这在自然语言处理(NLP)中尤其有用。 这在自然语言处理(NLP)中尤其有用。
  • 自动区分: 该框架包括一个名为 autograd 自动计算梯度 自动计算梯度--即 反向传播.这简化了 实现 优化算法 在培训期间。
  • 强大的生态系统:它得到了特定领域库的支持,例如 针对图像任务的TorchVision,它提供了 预训练模型和数据集,以及用于声音处理的TorchAudio 声音处理。
  • 无缝部署:借助以下工具 TorchScript等工具,模型可以从研究 环境过渡到生产部署,而不会产生严重的依赖性,从而支持高效的 模型服务

实际应用

这一框架的灵活性使其在各行各业的高影响力应用中得到广泛采用。 应用:

  1. 自动驾驶: 特斯拉等公司利用基于 PyTorch 学习模型来处理来自车辆摄像头的视频信号。这些模型进行实时 物体检测,以识别车道、行人和其他车辆、 和其他车辆,使 自动驾驶汽车安全导航。
  2. 医疗诊断:在医疗图像分析领域 在医学图像分析领域,研究人员利用 框架来训练模型,以detect X 射线和核磁共振成像扫描中的异常情况。例如 NVIDIA ®Clara利用这些功能协助放射科医生 利用 图像分割

PyTorch 与其他工具的比较

要了解PyTorch 在开发者工具包中的位置,最好将其与相关技术区分开来:

  • TensorFlow虽然两者都是 TensorFlow (由Google开发)历来以静态图和 部署繁重的工作流程而闻名。PyTorch 由于其动态特性和易用性,通常是研究和快速原型开发的首选。 尽管随着时间的推移,这两种框架的功能已经趋同。
  • OpenCV OpenCV 是一个专用于传统图像处理(调整大小、过滤、颜色转换)而非深度学习的库 用于传统图像处理(调整大小、过滤、颜色转换),而非深度学习。在典型的 工作流程中,开发人员使用OpenCV 进行 在将图像输入 PyTorch 神经网络进行分析。

与Ultralytics集成

全部 Ultralytics YOLO11模型都是基于PyTorch 原生构建的。 这可以确保用户受益于该框架的速度和广泛的社区支持。无论是在 在自定义数据集上进行迁移学习,还是 为边缘计算部署模型,底层架构都会利用PyTorch 张量和梯度。

即将推出的Ultralytics 平台进一步简化了这一体验、 为训练和管理这些模型提供了一个精简的界面,而无需编写大量的模板代码。 代码。

下面的示例演示了如何加载预训练模型并运行推理,展示了该框架如何 如何处理繁重的计算:

from ultralytics import YOLO

# Load a standard YOLO11 model (built on PyTorch)
model = YOLO("yolo11n.pt")

# Perform object detection on an image
# PyTorch handles the tensor operations and GPU acceleration automatically
results = model("https://ultralytics.com/images/bus.jpg")

# Print the number of objects detected
print(f"Detected {len(results[0].boxes)} objects.")

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入