PyTorch 1.0 首個 RC 版本釋出,包含大量重要特性
PyTorch 1.0 首個 RC 版本已釋出,這是一個預覽版本,包含 1.0 即將到來的大量重要特性。
亮點
JIT
這是一套編譯器工具,用於彌合 PyTorch 研究與生產之間的差距。 它包含一種名為 Torch Script 的語言(它是 Python 的一個子集,所以編寫的仍然是 Python),以及兩種可以使現有程式碼與 JIT.Torch Script 程式碼相容的方法。
使用 Torch Script 的程式碼可以實現非常大的優化,並且可以序列化以供在後續的 C++API 中使用。
# Write in Python, run anywhere! @torch.jit.script def RNN(x, h, W_h, U_h, b_h): y = [] for t in range(x.size(0)): h = torch.tanh(x[t] @ W_h + h @ U_h + b_h) y += [h] return torch.stack(y), h
torch.distributed new "C10D" library
新增全新非同步後端庫 C10D, 支援 ofollow,noindex" target="_blank">torch.distributed 包和 torch.nn.parallel.DistributedDataParallel 模組。該庫的亮點包括:
-
C10D 是由效能驅動,完全非同步所有的後端工作:
Gloo
,NCCL
,和MPI
。 -
顯著的分散式資料並行效能改進,尤其適用於基於乙太網的主機等較慢的網路。
-
為torch.distributed 包中的所有分散式集合操作新增非同步支援。
C++ Frontend[API Unstable]
C++前端是連線 PyTorch 後段的純 C++介面,它遵循已建立的 Python 前端的 API 和體系結構,旨在實現高效能、低延遲的 C ++ 應用。它提供了等價於 Python 前端所採用的torch.nn
,torch.optim
,torch.data
等元件。
完整更新內容請查閱發行說明: