See also TensorFlowConda

PyTorch

PyTorch是一个开源的Python机器学习库,基于Torch,应用于人工智能领域,如自然语言处理。它最初由 Facebook 的人工智能研究团队开发,并且被用于Uber的概率编程软件"Pyro"。

PyTorch主要有两大特征:

1. History

Facebook同时运行PyTorch和Convolutional Architecture来实现快速的特性嵌入(Caffe2),但是不兼容使得PyTorch定义的模型很难转换为Caffe2,反之亦然。开放神经网络交换(ONNX)项目由Facebook和微软于2017年9月创建,用于在框架之间转换模型。Caffe2于2018年3月底并入PyTorch。

2. PyTorch Tensors

张量虽然来自数学,但在编程中是不同的,在编程中它们可以被简单地视为多维数组数据结构(数组)。PyTorch中的张量类似于NumPy数组,此外,张量还可以在支持CUDA的GPU上使用。PyTorch支持各种类型的张量。

3. Modules

3.1. Autograd

PyTorch使用一种称为自动微分的方法。记录器记录所执行的操作,然后将其回放以计算梯度。该方法特别适用于建立神经网络,通过计算前向传递参数的微分来节省单历元时间。

3.2. Optim

torch.optim 是一个实现各种神经网络优化算法的模块。大多数常用的方法都已经得到了支持,因此不需要从头构建它们。

3.3. nn

autograd 使定义计算图和获取梯度变得很容易,但是对于定义复杂的神经网络,原始 autograd 可能太低级。这就是 nn 模块可以提供帮助的地方。

4. Getting Started

https://pytorch.org/get-started/locally/


5. Reference


CategoryMachineLearning

MainWiki: PyTorch (last edited 2018-10-17 19:24:24 by twotwo)