pytorch学习笔记(入门)

几乎所有框架都是基于计算图的,计算图可分为静态和动态计算图。tensorflow使用的是静态计算图,pytorch使用的是动态图,静态图先定义再运行,一次定义多次运行。动态图在运行过程中被定义,在运行时构建,可多次构建多次运行。静态图创建后不能修改,语法繁复导致静态图过于庞大,可能占用过高的显存。动态图框架语法简单,可以使用Python中的if,while等语句。

jupyter下调试

一、创建变量:

Tensor可认为是一个高维数组,可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)或者更高维的数组。

import torch as t

x = t.Tensor(5,3)  # 可通过x.size(), 查看x的形状, x.size()[1],x.size(1) 查看列的个数

y = t.rand(5,3)  # 使用[0,1]均匀分布随机初始化二维数组

二、Tensor的选取操作:

x[:, 1]  #获取第一列所有元素,python中从0开始

x[3,0]  #获取第3行第0列的元素

三、相加:

1.  x + y 

2.  t.add(x, y)

3.  指定输出目标

result = t.Tensor(5, 3)  # 预先分配空间

t.add(x, y, out = result)   # 输入到result

result

关于加法注意:已有x,y,执行 y.add(x)后,y的值不变,执行y.add_(x)后,y的值被修改。所以,函数名后带下划线_的函数会修改Tensor本身。x.add_(y) 和 x.t_()会改变x,但x.add(y)和x.t()会返回一个新的Tensor,而x本身不变。

三、Tensor与numpy之间的互操作

Tensot不支持的操作可以先转为numpy数组处理,再转回Tensor。

 b = a.numpy()   # Tensor -> Numpy

 b = t.from_numpy(a)  # Numpy -> Tensor

四、torch.max()

a = torch.randn(3,3)

torch.max(a,0)       #返回a中每一列元素的最大值,且返回最大值对应的行索引

torch.max(a,0)[0]   #返回a中每一列元素的最大值

torch.max(a,0)[1]   #返回a中每一列元素的最大值对应的行索引

同理,torch.max(a,1) 则为返回a中每一行元素的最大值,且返回最大值对应的列索引

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值