Pytorch ABC 1

因為同學推薦,今天安裝Pytorch框架。據(jù)說比Tensorflow更方便,也更省內(nèi)存。
在介紹中,Pytorch自稱為deep框架的numpy。

安裝

非常簡單,人性化。一行代碼即可,比其他框架容易。

Pytorch安裝

基本語法

定義張量

x = torch.Tensor(5, 3)
print(x)
y = torch.FloatTensor(5, 3)
print(y)
 0.0000e+00  0.0000e+00 -7.8785e+31
 4.5577e-41 -7.8789e+31  4.5577e-41
 5.0649e-38  0.0000e+00  5.0649e-38
 0.0000e+00  4.0357e-40  1.6772e-37
 8.9683e-44  0.0000e+00 -7.8785e+31
[torch.FloatTensor of size 5x3]


 0.0000e+00  0.0000e+00 -7.8785e+31
 4.5577e-41 -7.8787e+31  4.5577e-41
 5.0649e-38  0.0000e+00  5.0649e-38
 0.0000e+00  0.0000e+00  1.6771e-37
 8.9683e-44  0.0000e+00  0.0000e+00
[torch.FloatTensor of size 5x3]

可見torch.Tensor 默認構(gòu)造一個FloatTensor。
簡單計算

計算加法有以下幾種寫法

x = torch.randn(5, 3)
y = torch.randn(5, 3)
print x + y
print torch.add(x, y)
-0.7518  0.0857  0.5324
 1.2734 -0.9105 -1.1632
-1.5461 -0.1408  1.3701
 1.6882 -2.6038 -0.3492
-1.1691  0.3820 -1.1746
[torch.FloatTensor of size 5x3]


-0.7518  0.0857  0.5324
 1.2734 -0.9105 -1.1632
-1.5461 -0.1408  1.3701
 1.6882 -2.6038 -0.3492
-1.1691  0.3820 -1.1746
[torch.FloatTensor of size 5x3]
result = torch.Tensor(5, 3)
torch.add(x, y, out=result)
print result
-0.7518  0.0857  0.5324
 1.2734 -0.9105 -1.1632
-1.5461 -0.1408  1.3701
 1.6882 -2.6038 -0.3492
-1.1691  0.3820 -1.1746
[torch.FloatTensor of size 5x3]
y.add_(x)
-0.7518  0.0857  0.5324
 1.2734 -0.9105 -1.1632
-1.5461 -0.1408  1.3701
 1.6882 -2.6038 -0.3492
-1.1691  0.3820 -1.1746
[torch.FloatTensor of size 5x3]

Slicing
和Numpy相同

print x[:]
print x[1:3, :]
-0.1647 -0.4870 -0.1755
-0.3148 -0.5922 -0.2053
-0.5448 -1.4650  2.0470
 2.3983 -1.5116  0.6507
-1.2435 -0.1560 -0.8927
[torch.FloatTensor of size 5x3]


-0.3148 -0.5922 -0.2053
-0.5448 -1.4650  2.0470
[torch.FloatTensor of size 2x3]

與Numpy變量之間的轉(zhuǎn)換

>>> a = torch.ones(5)
>>> b = a.numpy()
>>> a

 1
 1
 1
 1
 1
[torch.FloatTensor of size 5]

>>> b
array([ 1.,  1.,  1.,  1.,  1.], dtype=float32)

注意,在運算的時候,它們是綁定的:

>>> a.add_(1)

 2
 2
 2
 2
 2
[torch.FloatTensor of size 5]

>>> b
array([ 2.,  2.,  2.,  2.,  2.], dtype=float32)

放在CUDA中運算

>>> torch.cuda.is_available()
True
>>> x = x.cuda()
>>> y = y.cuda()
>>> x+y

   0.0983    0.5931    0.4211
   0.6717    0.9579    0.4118
   0.5332    0.1976    0.6919
   0.2896    0.3155    0.1421
   0.7828  409.2463    0.8346
[torch.cuda.FloatTensor of size 5x3 (GPU 0)]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 介紹 首先讓我們來看看TensorFlow! 但是在我們開始之前,我們先來看看Python API中的Ten...
    JasonJe閱讀 11,981評論 1 32
  • 深度學習相比較于之前的數(shù)學模型而言更容易上手。大多數(shù)研究深度學習的人都是在用那些牛人們創(chuàng)造的模型,只需要換一個不同...
    君君玩科技閱讀 2,213評論 0 13
  • 她輕輕轉(zhuǎn)身 看到心形葉 還漂浮著 看到雕欄玉砌 仍立在那 看到恍若隔世的臉 就如星海 她回過了頭 看到了藍天白云 ...
    冬日的藍水閱讀 176評論 0 0
  • 只有優(yōu)秀的程序員才關(guān)心產(chǎn)品,只有優(yōu)秀的程序員才在乎程序的性能,我們要具備性能測試和性能優(yōu)化的能力,今天開始我開始給...
    江水東流閱讀 918評論 0 3
  • 你不必跟隨他們,但你必須知道它們是什么! 作為挑剔的創(chuàng)意讀者,我們從來沒有不期望你盲目的跟隨潮流。但趨勢仍值得了解...
    打豆豆閱讀 160評論 0 1

友情鏈接更多精彩內(nèi)容