torch:
1>動態計算圖,可以根據計算需要實時改變計算圖
2>動態計算機制使得除錯更加容易
3>動態計算更加適用於自然語言處理
4>傳統的物件導向程式設計風格
靜態圖計算——程式在編譯執行時將先生成神經網路的結構,然後再執行相應的操作,類似於「惰性計算」。
動態圖計算——程式按照編寫命令的順序進行執行
同等情況下,靜態可以更好的優化,而動態更加容易除錯
pytorch 0.4.0之前只能用variable
包裝器的方法定義張量:
a = variable(torch.randn(5,5))
pytorch 0.4.0之後保留原始定義方法外,還可用torch.tensor
方法定義張量。
a = torch.tensor([1,2,3])
a = variable(torch.randn(5,5))
張量計算可通過gpu加速,提供自動求導機制,且pytorch可以將張量存放於cpu或gpu中,可以大幅加速計算。
每個變數都有乙個標記(梯度請求)requires_grad
。它允許從梯度計算中排除子圖,提高效率;
a = variable(torch.randn(5,5),requires_grad = true) # requires_grad預設是false
當表示式的所有輸入都不需要梯度計算時,表示式結果不會輸出梯度
x = variable(torch.randn(5,5)) # 預設不請求梯度計算
y = variable(torch.randn(5,5)) # 預設不請求梯度計算
x = variable(torch.randn(5,5),requires_grad = true)
a = x + y # x,y都不請求梯度計算,a也不請求
a.requires_grad # 輸出false
b = a + z # z請求梯度計算,b也請求
a.requires_grad # 輸出true
當想要凍結部分模型,做模型優化微調finetuning時,這個引數十分實用。
pytorch 0.4.0之前用volatile
自動求導,現已被棄用。
pytorch 0.4.0之後,用torch.no_grad()/torch.set_grad_enabled(grad_mode)
表示是否求導,不再考慮遞推,已經換成了一套更加靈活的上下文管理方式。**如下:
x = torch.zeros(1,requires_grad = true)
with torch.no_grad(): # 通過with限定不可求導 的範圍
y = x * 2
y.requires_grad # 輸出false
is_train = false
with torch.set_grad_enabled(is_train): # 設定這一部分要不要放到計算圖
y = x * 2
y.requires_grad # 輸出false
torch.set_grad_enabled(true): # 不要with,也可直接使用
y = x * 2
y.requires_grad # 輸出true
torch.set_grad_enabled(false): # 不要with,也可直接使用
y = x * 2
y.requires_grad # 輸出false
可以參考我上傳的資源pytorch模型基本**.tar.gz中的pytorch基礎.ipynb
檔案
可以參考我上傳的資源pytorch模型基本**.tar.gz中的線性回歸和邏輯回歸檔案
可以參考我上傳的資源pytorch模型基本**.tar.gz中的多層感知器檔案
可以參考我上傳的資源pytorch模型基本**.tar.gz的cnn和rnn檔案
mysql第六章 第六章 mysql日誌
第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...
第六章 指標
1.多位元組資料的位址是在最左邊還是最右邊的位置,不同的機器有不同的規定,這也正是大端和小端的區別,位址也要遵從邊界對齊 2.高階語言的乙個特性就是通過名字而不是位址來訪問記憶體的位置,但是硬體仍然通過位址訪問記憶體位置 3.記憶體中的變數都是義序列的0或1的位,他們可以被解釋為整數或者其他,這取決...
第六章總結
6.1 使用滑鼠 6.1.1 滑鼠時間和滑鼠訊息 根據使用者操作滑鼠時滑鼠的位置,滑鼠訊息分為兩類 客戶區滑鼠訊息和非客戶區滑鼠訊息。1.客戶去滑鼠訊息 2.當滑鼠游標位於視窗的使用者區時,將生成客戶滑鼠訊息。滑鼠訊息和鍵盤訊息有所不同,windows 只將鍵盤有訊息傳送給具有輸入極點的視窗,但滑鼠...