pyTorch基本数据类型

pyTorch基本数据类型

没有目的,就做不成任何事情;目的渺小,就做不成任何大事——狄德罗

首先比较一下python和pytorch的数据类型区别

pyhon的特点

整型Int
浮点型float
整型数组Int array
浮点型数组Float array
字符串string

pytorch的特点

IntTensor of size()
FloatTensor of size()
IntTensor of size[d1,d2…]
FloatTensor of size[d1,d2…]

怎么做pytorch类型的推断?如:

a=torch.randn(2,3)

利用随机的正态分布来初始化,即X服从均值为0,方差为1的正态分布;表示初始化一个2行3列的一个Tensor(张量)

a.type

得到‘torch.FloatTensor’;而如果使用一下打印:

type(a)

出来的结果是torch.Tensor,并不会出来什么类型;我们如果想检验一下Tensor是什么类型,可以如下:

isinstance(a,torch.FloatTensor)
True

得到的结果为True,说明a这个Tensor是FloatTensor类型的。

维度为0的标量

比如在python里边的标量,例如1.2 3.4,这种标量在pytorch里边怎么表示呢?

torch.tensor(1.)
tensor(1.)

使用torch.tensor方法,生成的是维度为0的一个张量,而[1.3]是维度为1的Tensor。那么怎么才能检查一个张量的维度?

a.shape
torch.Size([])
len(a.shape)

得到的结果为0,也就是说明a是一个维度为0的Tensor;

维度为1的向量

torch.tensor([1.1,2.2])
tensor([1.1000,2.200])
或者
torch.FlaotTensor(2)
tensor([3.224,2.353])

在这里,既给定了维度,也给定了相应的数据类型;下面的给定方式表明了随机化生成一个维度为1,长度为2的一个向量;

维度为2的Tensor

a=torch.randn(1,3)

a.shape
torch.Size([2,3])

a.size(0)
2

随机初始化一个2行3列的Tensor;如果给size(0)表示取矩阵形式的第0个元素,也就是2;同理,若取size(1),则输出结果为3

维度为3的Tensor

a=torch.rand(123)

a.shape
torch.Size([1,2,3])

注:关于shape和size的具体区别,查了一些资料,理解如下:

首先相同点:shape和size都能得到相同的结果

不同:shape是作为Tensor的属性,而size()是作为Tensor的方法

注:所说的维度是什么?比如说2行2列,3行3列,则说维度分别为2和3;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值