PyTorch被定义为一种用于Python的开源机器学习库。它用于应用程序,如自然语言处理。最初由Facebook人工智能研究组开发,以及基于它构建的Uber Pyro概率编程软件。
最初,PyTorch由Hugh Perkins开发,作为基于Torch框架的LusJIT的Python封装。有两个PyTorch变体。
PyTorch在Python中重新设计和实现了Torch,同时共享相同的核心C库以用于后端代码。PyTorch开发人员调整了这个后端代码,以高效运行Python。他们还保留了基于GPU的硬件加速以及使Lua-based Torch出名的可扩展性功能。
特点
PyTorch的主要特点如下:
简单的接口 - PyTorch提供易于使用的API;因此,它被认为是非常简单操作且运行在Python上。在这个框架中的代码执行非常容易。
Python使用 - 这个库被认为是Pythonic的,可以与Python数据科学堆栈无缝集成。因此,它可以利用Python环境提供的所有服务和功能。
计算图 - PyTorch提供了一个出色的平台,提供动态计算图。因此,用户可以在运行时更改它们。这在开发人员不知道创建神经网络模型需要多少内存时非常有用。
PyTorch以以下三个抽象级别而闻名:
张量 - 在GPU上运行的命令式n维数组。
变量 - 计算图中的节点。它存储数据和梯度。
模块 - 存储状态或可学习权重的神经网