pytorch是什么
pytorch 是一个针对深度学习, 并且使用 GPU 和 CPU 来优化的 tensor library (张量库),pytorch 提供了一个端到端的学习框架,通过用户友好的前端、分布式培训以及工具和库的生态系统实现快速、灵活的实验和高效生产。
1.pytorch的定义
pytorch 是最受欢迎的深度学习库之一,与 Keras 和 TensorFlow等开源深度学习库竞争,让大家津津乐道的是谁是最好的开源深度学习库。pytorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络。
2.pytorch的优点
1.可付诸生产
借助 TorchScript,PyTorch 在 Eager 模式下提供易用性和灵活性,同时无缝过渡到图形模式以在 C++ 运行时环境中实现速度、优化和功能。
2.TorchServe
TorchServe 是一个易于使用的工具,用于大规模部署 PyTorch 模型。它与云和环境无关,并支持多模型服务、日志记录、指标以及为应用程序集成创建 RESTful 端点等功能。
3.分布式训练
通过利用对异步执行集体操作和可从 Python 和 C++ 访问的点对点通信的本机支持来优化研究和生产中的性能。
4.移动端(实验功能)
PyTorch 支持从 Python 到在 iOS 和 Android 上部署的端到端工作流。它扩展了 PyTorch API 以涵盖将 ML 整合到移动应用程序中所需的常见预处理和集成任务。
5.强大的生态系统
研究人员和开发人员社区已经建立了一个丰富的工具和库生态系统,用于扩展 PyTorch 并支持从计算机视觉到强化学习等领域的开发。
6.原生 ONNX 支持
以标准 ONNX(开放式神经网络交换)格式导出模型,以便直接访问与 ONNX 兼容的平台,可视化工具等。
7.C++ 前端
C++ 前端是 PyTorch 的纯 C++ 接口,它遵循已建立的 Python 前端的设计和架构。它旨在支持高性能、低延迟和裸机 C++ 应用程序的研究。
8.云支持
PyTorch 在主要云平台上得到很好的支持,通过预构建的图像、GPU 上的大规模训练、在生产规模环境中运行模型的能力等提供无摩擦开发和轻松扩展。