3.2 张量的创建

本文详细介绍了深度学习中基础的张量概念,包括如何在各种深度学习框架下创建张量,以及张量的基本操作如加减乘除、形状变换等,为初学者提供了清晰的入门指南。
摘要由CSDN通过智能技术生成

方式一:直接创建

方式二:固定元素

方式三:数列

方式四:随机函数

一、直接创建

pytorch提供了丰富的张量创建的方法。这里总结为3大类。我们先看一下直接创建方法。

1 torch.tensor()

2 torch.from_numpy(ndarray)

详细介绍如下:

1. torch.tensor(data, dtype = None, device=None, requires_grad=False, pin_memory=False)

torch.tensor()这个方法是将data创建Tensor。

data:data可以是list,也可以是一个numpy的ndarray。除了data这个参数需要设置,还需要四个参数。

dtype: 数据类型。它默认会与data的数据类型一致。比如输入的是ndarray是64整型的话,我们的Tensor也是64位整型。【例1】

device:cuda/cpu。可以设置是在CPU上还是GPU上。

requires_grad:是否需要计算梯度。

pin_memory:是否将Tensor存于锁页内存。通常设置为False就可以。

例1:

结果:

可以看到生产的Tensor的数据类型是float64,是与输入的ndarray的数据类型是一致的。

例2:如果想把Tensor放到GPU上,就可以把device设置为cuda.

 

结果:

可以发现t的结果要等一会才能出来,这是因为数据要从CPU转到GPU,这需要一定的耗时。

2. torch.from_numpy(ndarray)

功能:从numpy的数组来创建Tensor。

在使用的时候,有一个注意事项:

例:

首先根据numpy创建一个数组。然后通过numpy数组创建Tensor。

修改arr的数值,观察Tensor是否发生变化。

结果:

说明,两者共享内存。

同样如果修改了t的值。arr的值也会发生变化:

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值