pytorch基本類型

import torch圖片

 

"""數學

pytorch 基本數據類型string

1)不支持內建string類型,使用one-hot ,Embedding表示;io

使用one-hot表示時,如表示單詞較多,則one-hot會比較長,但其中只有一個元素值爲1,故整個向量表現得很稀疏。而且one-hot不能表示語義相關性,故使用Embedding表示;class

2)內建類型:import

CPU GPU數據類型

float torch.FloatTensor torch.cuda.FloatTensorfloat

double torch.DoubleTensor torch.cuda.DoubleTensornumpy

byte torch.ByteTensor torch.cuda.ByteTensorim

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))

相關文章
相關標籤/搜索