pytorch60分鐘入門1

 

"""python

在開頭加上from __future__ import print_function這句以後,即便在python2.X,對象

使用print就得像python3.X那樣加括號使用。python2.X中print不須要括號,而在python3.X中則須要;字符串

低版本支持高版本,高版本不支持;it

"""io

from __future__ import print_functionfunction

import torchclass

 

x = torch.empty(5,3)##5行3列矩陣,未初始化;實際上會進行隨機初始化;import

"""基礎

tensor([[1.3220e-08, 4.5712e-41, 1.3220e-08],語法

[4.5712e-41, 8.8674e-04, 6.2717e+22],

[4.7428e+30, 1.8179e+31, 7.0948e+22],

[3.1855e-12, 1.7565e+25, 2.9590e+21],

[6.8899e+22, 2.6301e+20, 1.2118e+25]])

"""

print(x)

x = torch.empty(5,3,dtype=torch.float16)#帶類型建立,注意這裏是小寫torch;

print(x.type())#torch.HalfTensor

 

x = torch.rand(5,3)#這裏意思是均勻分佈

print(x)

 

x = torch.zeros(5,3)

x = torch.ones(3,2)#這裏咱們指定初始化位0或者1;

y = torch.tensor([1,2])#這裏直接從張量建立,注意這裏的語法;

 

x = x.new_ones(3,2)

print(x)##根據已有張量進行建立,使用已有張量屬性;包括形狀,初始化值等;

x = x.new_ones(3,2,dtype=torch.float64)#這裏指定類型;另一種語法形式以下:

x = torch.rand_like(x,dtype=torch.float32)#同上,只是語法稍微有所不一樣;並進行了類型覆蓋

print(x)

print(x.size())#torch.Size([3, 2])

x = x+x

x = torch.add(x,x)#兩者是一樣意思;

torch.add(x,x,out=x)#將運算結果給x,省略了賦值操做;

x.add(x)#在x基礎上加上x;

 

x=torch.randn(4,4)#標準正太分佈

x = x.view(16)#轉換爲一行

x = x.view(-1,8)#轉換爲2行8列,這裏-1表明自動計算行;

 

print(x[0][0].item())#獲取具體數值內容,再轉換爲數字;

 

x = x.numpy()

print(type(x))#<class 'numpy.ndarray'>轉換類型;

x = torch.from_numpy(x)

 

#設備遷移

if torch.cuda.is_available():

device = torch.device('cuda')#建立一個cuda設備對象;

gpu_tensor = torch.ones_like(x,device=device)#在GPU上建立一個張量

x = x.to(device)#和上面徹底同樣,只是方式不一樣;

x = x.to('cpu',torch.double)#將張量轉移到cpu上,並設置類型。這裏使用的是字符串形式遷移,本質是同樣的;

相關文章
相關標籤/搜索