Pytorch学习教程(一)—-pytorch是什么?

一、PyTorch 是什么

他是一个基于Python的科学计算包,目标用户有两类

  • 为了使用GPU来替代numpy
  • 一个深度学习援救平台:提供最大的灵活性和速度

开始

张量(Tensors)

张量类似于numpy的ndarrays,不同之处在于张量可以使用GPU来加快计算。

构建一个未初始化的5*3的矩阵:

构建一个零矩阵,使用long的类型

从数据中直接构建一个张量(tensor):

或者在已有的tensor中构建一个tensor. 这些方法将重用输入张量(tensor)的属性,例如, dtype,除非用户提供新值

获取张量(tensor)的大小

  • 注意

torch.Size实际上是一个元组,所以它支持元组的所有操作。

操作

张量上的操作有多重语法形式,下面我们以加法为例进行讲解。

语法1

语法二

语法三:

给出一个输出张量作为参数

语法四:

原地操作(in-place)

  • 注意

任何在原地(in-place)改变张量的操作都有一个后缀。例如, 操作将改变x.

你可以使用所有的索引操作。

你可以使用各种类似标准NumPy的花哨的索引功能

调整大小:如果要调整张量/重塑张量,可以使用torch.view:

如果你有一个单元素张量,使用.item()将值作为Python数字

稍后阅读

这里描述了一百多种张量操作,包括转置,索引,数学运算,线性代数,随机数等。

numpy桥

把一个torch张量转换为numpy数组或者反过来都是很简单的。

Torch张量和numpy数组将共享潜在的内存,改变其中一个也将改变另一个。

把Torch张量转换为numpy数组

通过如下操作,我们看一下numpy数组的值如何在改变。

把numpy数组转换为torch张量

看看改变numpy数组如何自动改变torch张量。

所有在CPU上的张量,除了字符张量,都支持在numpy之间转换。

CUDA张量

可以使用.to方法将张量移动到任何设备上。

来源:步步星愿

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月18日
下一篇 2022年5月18日

相关推荐