方式一:直接创建 方式二:固定元素 方式三:数列 方式四:随机函数 一、直接创建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的值也会发生变化: 结果: |
3.2 张量的创建
最新推荐文章于 2022-09-24 16:04:54 发布
本文详细介绍了深度学习中基础的张量概念,包括如何在各种深度学习框架下创建张量,以及张量的基本操作如加减乘除、形状变换等,为初学者提供了清晰的入门指南。
摘要由CSDN通过智能技术生成