pytorch是基於python的開源深度學習框架,它包括了支援gpus計算的tensor模組以及自動求導等先進的模組,被廣泛應用於科學研究中,是最流行的動態圖框架。
pytorch的運算單元叫作張量tensor
。我們可以將張量理解為乙個多維陣列,一階張量即為一位陣列,通常叫作向量vector
;二階張量即為二維陣列,通常叫作矩陣matrix
;三階張量即為三維陣列;n
nn階張量即為n
nn維陣列,有n
nn個下標。
1.1定義張量
利用pytorch定義乙個張量,需要先導入pytorch的包,在jupyter notebook中寫入以下**即可:
import torch
接下來就是建立張量
x = torch.tensor(5,
3)#乙個尺寸為(5,3)的二階張量(也就是5行3列的矩陣)
#從列表建立乙個tensor
3)#建立從均勻分布u[0,1]取樣的5x3的tensor
tensor的其他建立方法
說明torch.ones()
全1 的tensor
torch.zeros()
全0的tensor
torch.eye()
對角線為1,其他為0
torch.randn()
元素服從標準分布
torch.normal(0,1)
n(0,1)正態分佈
1.2tensor的基本操作和運算
x.shape #檢視x的形狀,與x.size()等價
#檢視tensor的維度和元素個數
tensor的其他操作和運算
說明torch.mm(x,y)
矩陣乘法運算
torch.add(x,y)
求和torch.dot(x,y)
求內積x.numpy()
將tensor轉換為numpy的ndarray結構
torch.from_numpy(arr)
將ndarray結構轉換為tensor
torch.abs/torch.sqrt(x)
求絕對值和平方根
torch.exp/fmod/log(x)
求指數/求餘/對數
torch.pow(x,2)
逐元素求2次冪
以上是pytorch中關於tensor(張量)的部分,如有不足,請見諒!
pytorch 深度學習框架
定義網路 net net 定義資料 資料預處理,1.轉為tensor,2.歸一化 transform transforms.compose transforms.totensor transforms.normalize 0.5 0.5 0.5 0.5 0.5 0.5 訓練集 trainset to...
第04課 深度學習框架 PyTorch
隨著深度學習的研究熱潮持續高漲,各種開源深度學習框架也層出不窮,包括 tensorflow pytorch caffe2 keras cntk mxnet paddle deeplearning4 lasagne neon 等等。其中,谷歌推出的 tensorflow 無疑在關注度和使用者數上都佔據...
深度學習 Pytorch學習筆記(一)
pytorch中需要自己定義網路模型,該模型需要封裝到乙個自定義的類中,該類只是乙個子類,其繼承的父類為torch.nn.module,可見如下樹形結構圖 module實際又是繼承了object類,關於為什麼要繼承object類有興趣的可以看這篇部落格mro演算法 也就是說,自定義的模型除了要有 i...