pytorch学习入门:什么是pytorch+安装

0 安装

步骤1:
输入下面地址:https://pytorch.org/get-started/locally/

步骤2:
选择自己想要的版本:
(pytorch build一般选择stable)
(选择自己的系统)
(选择用什么方式来下载:如果安装了anaconda,可以选择conda;一般选择pip) 注:不知为何原因,我用conda安装失败,在pip安装成功
pytorch学习入门:什么是pytorch+安装_第1张图片

步骤3:
run the command

1 入门学习

https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py

1.1 PyTorch 是什么

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

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

1.2 张量(tensors)

参考:https://www.jianshu.com/p/5ae644748f21/

前言:

标量(Scalar)是只有大小,没有方向的量,如1,2,3等 零维

向量(Vector)是有大小和方向的量,其实就是一串数字,如(1,2) 一维

矩阵(Matrix)是好几个向量拍成一排合并而成的一堆数字,如[1,2;3,4] 二维
pytorch学习入门:什么是pytorch+安装_第2张图片

张量就是按照任意维排列的一堆数字的推广。 标量、向量、矩阵都属于张量。除此之外,张量还可以是三维、四维、五维的等等。

张量类似于numpy中的ndarrays,不同在于张量可以使用GPU加速

创建张量:

例子1

x = torch.Tensor(2,3)  #构造一个2x3的矩阵,没初始化但仍然会有值

输出:

tensor([[0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000]])

例子2

y = torch.rand(5,3,2)  #构造一个5x3x2的张量,初始化为随机数

输出:

tensor([[[0.5264, 0.4299],
         [0.1690, 0.5533],
         [0.3089, 0.8002]],

        [[0.6012, 0.8172],
         [0.9650, 0.3159],
         [0.6204, 0.4612]],

        [[0.5796, 0.2908],
         [0.2410, 0.4130],
         [0.2657, 0.4400]],

        [[0.3991, 0.1783],
         [0.5380, 0.5921],
         [0.1039, 0.5153]],

        [[0.5698, 0.9856],
         [0.2059, 0.5438],
         [0.9882, 0.7355]]])

可以看出,5x3x2的张量y由5个3x2的矩阵构成,这符合了我们数学上的定义。

查看张量的大小:

print(x.size())

输出:

torch.Size([5, 3])

注意:
torch.Size实际上是一个元组,所以它支持元组相同的操作。

张量的加法(4种)

res = a+b
res = torch.add(a,b)
res = torch.Tensor(5,3)
torch.add(a,b,out=res)
b.add_(a) #运算结果覆盖掉b

把torch张量转换为numpy数组

tensor2array = torch_data.numpy()

把numpy数组转换为torch张量

torch_data = torch.from_numpy(np_data)

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

把torch张量移动到GPU上

# let us run this cell only if CUDA is available
if torch.cuda.is_available():
    x = x.cuda()
    y = y.cuda()
    x + y

你可能感兴趣的:(深度学习,pytorch,python)