博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pytorch学习入门:什么是pytorch+安装
阅读量:4053 次
发布时间:2019-05-25

本文共 1680 字,大约阅读时间需要 5 分钟。

0 安装

步骤1:

输入下面地址:

步骤2:

选择自己想要的版本:
(pytorch build一般选择stable)
(选择自己的系统)
(选择用什么方式来下载:如果安装了anaconda,可以选择conda;一般选择pip) 注:不知为何原因,我用conda安装失败,在pip安装成功
在这里插入图片描述

步骤3:

run the command

1 入门学习

1.1 PyTorch 是什么

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

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

1.2 张量(tensors)

参考:

前言:

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

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

矩阵(Matrix)是好几个向量拍成一排合并而成的一堆数字,如[1,2;3,4] 二维

在这里插入图片描述

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

张量类似于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 availableif torch.cuda.is_available():    x = x.cuda()    y = y.cuda()    x + y
你可能感兴趣的文章
也许可以更power
查看>>
我来拉Eclipse
查看>>
自己编写的NIO非阻塞聊天室
查看>>
毕业生的来清醒一下
查看>>
EL第四节课回想
查看>>
一些界面标准规范
查看>>
不是人过的四天!
查看>>
Roller2.1的配置手册
查看>>
关于session的详细解释
查看>>
Just one month!
查看>>
Reading Design Patterns
查看>>
华为公司 java 面试题
查看>>
走好创业之路第一步——创业时机的选择与目标的设定
查看>>
软件项目计划如何编写
查看>>
10 Places You Must Use Ajax
查看>>
刷脸支付青蛙Pro打通微信卡包小程序
查看>>
Flutter 事件分发流程
查看>>
大数据分析需要什么技术架构?
查看>>
Java开发有必要转大数据吗?
查看>>
Scala对于大数据开发重要吗?Scala基础学习建议
查看>>