pytorch基本类型

import torch

 

"""

pytorch 基本数据类型

1)不支持内建string类型,使用one-hot ,Embedding表示;

使用one-hot表示时,如表示单词较多,则one-hot会比较长,但其中只有一个元素值为1,故整个向量表现得很稀疏。并且one-hot不能表示语义相关性,故使用Embedding表示;

2)内建类型:

CPU GPU

float torch.FloatTensor torch.cuda.FloatTensor

double torch.DoubleTensor torch.cuda.DoubleTensor

byte torch.ByteTensor torch.cuda.ByteTensor

int torch.IntTensor torch.cuda.IntTensor

long torch.LongTensor torch.cuda.LongTensor

3)类型推断:

"""

 

a = torch.randn(2,3)#随机初始化2row3col

print(a.type(),type(a),isinstance(a,torch.FloatTensor))#torch.FloatTensor <class 'torch.Tensor'> True

 

"""

4)cpu与gpu转换

"""

print(isinstance(a,torch.cuda.FloatTensor))#false

a = a.cuda()

print(isinstance(a,torch.cuda.FloatTensor))#true

 

"""

5)标量:主要用于计算loss时

Dimension 0 / Rank 0

a = torch.Tensor(1.0)#早期支持,最新版不支持

b = torch.Tensor(.3)

print(a,b)

标量的意思时没有方向的量,如买5个苹果,重量2.5KG,这里即为标量;

 

6)向量:注意这里注意数学和计算机不同表示 方式,本质上二者是一个东西。主要用于偏置,注意其是有方向的

Dimension 1 / Rank 1

"""

a = torch.FloatTensor([1.1])

b = torch.Tensor([1.1])#二者相同

c = torch.Tensor(2)#随机初始化

print(a,b,c)#tensor([1.1000]) tensor([1.1000]) tensor([1.0962e+09, 4.5874e-41])

 

import numpy as np

data = np.ones(2)

d = torch.from_numpy(data)#从numpy引入

print(d)#tensor([1., 1.], dtype=torch.float64)

print(torch.__version__)#1.1.0

print(d.shape,d.size())#torch.Size([2]) torch.Size([2])注意dimension和rank是一个东西,rank是数学上叫法;如[2,3]则其rank为2;size和shape指的是具体形状;

 

"""

Dimension2,Dimension3(适合RNN),Dimension4(适合图片)

7)

"""

a = torch.randn(2,3)

print(a.size(0),a.shape[0])#第0个元素

a = torch .randn(2,3,4)

print(a.size(0))

 

转载于:https://my.oschina.net/u/4131400/blog/3048429

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值