深度学习与PyTorch笔记4

基本数据类型

python PyTorch
Int IntTensor of size()
float FloatTensor of size()
Int array IntTensor of size [d1,d2,…]
Float array FloatTensor of size [d1,d2,…]
string - -

内部没有自带的表示string的方法,用one-hot-encoding。

Data type

Data type dtype CPU tensor GPU tensor
32-bit floating point torch.float32 or torch.float torch.FloatTensor torch.cuda.FloatTensor
64-bit floating point torch.float64 or torch.doubie torch.DoubleTensor torch.cuda.DoubleTensor
16-bit floating point torch.float16 or torch.half torch.HalfTensor torch.cuda.HalfTensor
8-bit integer(unsigned) torch.uint8 torch.ByteTensor torch.cuda.ByteTensor
8-bit integer(signed) torch.int8 torch.CharTensor torch.cuda.CharTensor
16-bit integer(signed) torch.int16 or torch.short torch.ShortTensor torch.cuda.ShortTensor
32-bit integer(signed) torch.int32 or torch.int torch.IntTensor torch.cuda.IntTensor
64-bit integer(signed) torch.int64 or torch.long torch.LongTensor torch.cuda.LongTensor
data.type()

查询类型。

isinstance(data,torch.FloatTensor)

参数的合法化检验。

标量Dimension0/rank0

torch.tensor()表示标量。
例:(in为输入,out为输出显示)

in:torch.tensor(1.)
out:tensor(1.)

in:torch.tensor(1.3)
out:tensor(1.300)
data.shap
date.size()

返回类型。

len(data.shap)

检验长度,返回为0为标量。

张量(向量)Dim1/rank1

torch.tensor([])

例:

in:torch.tensor([1.1])
out:tensor([1.1000])

in:torch.tensor([1.1,2.2])
out:tensor([1.1000,2.2000])

in:torch.FloatTensor(1)#随机产生一维
out:tensor([3.2239e-25])

in:torch.FloatTensor(2)
out:tensor([3.2239e-25,4.5915e-41])

in:data=np.ones(2)#从numpy引入
   data
out:array([1.,1.])

in:torch.from_numpy(data)
out:tensor([1.,1.],dtype=torch.float64)
data=torch.ones(2)
data.shape
data.size()

查询类型。
注:
dim:维数
size/shape:整个的形状
tensor:具体数据
比如:[1,3;2,4]的dim为2,size/shape为[2,2],tensor为[1,3;2,4]。

Dim2

torch.randn( , )或torch.FloatTensor( , )

in:a.torch.randn(2,3)
    a
out:tensor([[-0.4423,0.5949,1.1440],
                   [-2.0935,0.2051,1.2781]])
in:a.shap
out:torch.Size([2,3])
in:a.size(0)#取shape的第一个元素
out:2
in:a.size(1)
out:3
in:a.shape[1]
out:3

处理图片

Dim3

randn随机正态分布,rand随即均匀分布。
torch.rand( , , )

in:a=torch.rand(1,2,3)
    a
out:tensor([[[0.0764,0.2590,0.9816],
                   [0.6798,0.1568,0,7919]]])
                   
in:a.shape
out:torch.Size([1,2,3])

in:a[0]
out:tensor([[0.0764,0.2590,0.9816],
                  [0.6798,0.1568,0.7919]])
in:list(a.shape)
out:[1,2,3]
                  

处理文字

Dim4

CNN[b,c,h,w]
b:照片张数 c:通道 1灰度 3彩色 h:高 w:宽

in:a=torch.rand(2,3,28,28)
    a
out:tensor([[[[0.0509,0.0420,0.2934,...,0.6700,0.1302,0.9558],[0.9358,0.7044,0.6030,...,0.4887,0.7318,0.2061],[0.8381,0.8006,0.0413,...,0.8347,0.7955,0.0314],
...,

...,
[0.3959,0.1904,0.4436,...,0.1279,0.8817,0.1984],[0.8796,0.7907,0.4319,...,0.1975,0.0611,0.1149],[0.3238,0.4519,0.0493,...,0.6546,0.8963,0.4967]]]])


得到具体数据大小

in:a.shape
out:torch.Size([2,3,28,28])

in:a.numel()  #2*3*28*28
out:4704

in:a.dim()  #返回维度
out:4

in:a=torch.tensor(1)
    a.dim()
out:0

处理图片

猜你喜欢

转载自blog.csdn.net/niuniu990/article/details/87396545