⑴PyTorch是一个功能强大简单易用的端到端机器学习框架,可帮助用户快速搭建分布式培训以及工具和库的生态系统,具有强大的GPU加速和基于磁带的自动记录系统构建的深度神经网络,支持Tensor高速计算,和NumPy基本一样,通过这款升级网络计算系统可以实现快速灵活的实验和高效开发;PyTorch绿色安全免费开源,基于磁带的自动分化库编译栈神经网络库等组成,可作为深度学习研究平台,提供最为专业灵活的开发环境,轻松实现系统分布式管理和培训,可以说是一款非常不错的神经网络计算系统。
⑵借助TorchScript,PyTorch在急切模式下提供了易用性和灵活性,同时无缝过渡到图形模式以实现C
⑶++运行时环境中的速度,优化和功能。
⑷TORCHSERVE
⑸TorchServe是易于使用的工具,可用于大规模部署PyTorch模型。它与云和环境无关,并支持多种功能,例如多模型服务,日志记录,指标以及用于应用程序集成的RESTful端点的创建。
⑹通过利用对Python和C ++可以访问的集体操作和对等通信的异步执行的本机支持,来优化研究和生产中的性能。
⑺PyTorch支持从Python到在iOS和Android上部署的端到端工作流。它扩展了PyTorch
⑻API,以涵盖将ML集成到移动应用程序中所需的常见预处理和集成任务。
⑼活跃的研究人员和开发人员社区建立了丰富的工具和库生态系统,用于扩展PyTorch并支持从计算机视觉到强化学习的领域的开发。
⑽本机ONNX支持
⑾以标准ONNX(开放式神经网络交换格式导出模型,以直接访问与ONNX兼容的平台,运行时,可视化工具等。
⑿C++前端是PyTorch的纯C ++接口,它遵循已建立的Python前端的设计和体系结构。它旨在实现高性能,低延迟和裸机C
⒀++应用程序的研究。
⒁PyTorch在主要的云平台上得到了很好的支持,可通过预构建的图像进行无摩擦的开发并轻松扩展,在GPU上进行大规模培训,可以在生产规模的环境中运行模型,等等。
⒂本部分贯穿API,以完成机器学习中的常见任务。请参考各节中的链接以更深入地学习。
⒃PyTorch有两个处理数据的原语: torch.utils.data.DataLoader和torch.utils.data.Dataset。
⒄Dataset存储样本及其相应的标签,并DataLoader在周围包裹一个可迭代的对象Dataset。
⒅PyTorch提供了特定领域的库,例如TorchText,
⒆TorchVision和TorchAudio,所有这些库都包含数据集。在本教程中,我们将使用TorchVision数据集。
⒇该torchvision.datasets模块包含Dataset许多现实世界的视觉数据的对象,例如CIFAR,COCO(在此完整列表。在本教程中,我们使用FashionMNIST数据集。每个TorchVision都Dataset包含两个参数:transform和
⒈target_transform分别修改样本和标签。
⒉我们将Dataset当作参数传递给DataLoader。这在我们的数据集上包装了一个可迭代的对象,并支持自动批处理,采样,改组和多进程数据加载。在这里,我们将批处理大小定义为,即,可迭代的数据加载器中的每个元素将返回一批个功能部件和标签。
⒊阅读更多有关在PyTorch中加载数据的信息。
⒋为了在PyTorch中定义一个神经网络,我们创建了一个从nn.Module继承的类。我们在__init__函数中定义网络的层,并在函数中指定数据如何通过网络forward。为了加速神经网络中的操作,我们将其移至GPU(如果有。
⒌阅读有关在PyTorch中构建神经网络的更多信息。
⒍要训练模型,我们需要损失函数 和优化器。
⒎在单个训练循环中,模型对训练数据集进行预测(分批进给,然后反向传播预测误差以调整模型的参数。
⒏我们还将对照测试数据集检查模型的性能,以确保模型正在学习。
⒐训练过程是在几个迭代(历元上进行的。在每个时期,模型都会学习参数以做出更好的预测。我们在每个时期打印模型的准确性和损失;我们希望看到每个时期的精度都会提高而损耗会降低。
⒑了解有关训练模型的更多信息。
⒒保存模型的常用方法是序列化内部状态字典(包含模型参数。
⒓加载模型的过程包括重新创建模型结构并将状态字典加载到其中。
⒔现在可以使用该模型进行预测。