一 區別
1.1 編程語言
pytorch 采用 python 語言。編程實際是 C語言做底層和C++做接口
torch 采用 lua 語言。編程實際是是 C語言做底層和lua語言做接口的深度學習庫
知識擴展: Lua相當於一個小型加強版的C語言,支持類和面向對象
1.2 依賴庫
pytorch 可調用python強大的第三方庫,比如 opencv
torch 可調用 lua 庫函數,目前 lua庫函數沒有python多
pytorch 依賴庫多於 torch
1.3 效率
python的debug功能比lua強大很多,所以 pytorch 效率大於 torch
1.4 模型和中間變量的關系
pytorch中中間變量都存在於計算圖中,所有model共享中間變量
torch中的中間變量則在每一個模塊中,想要調用其他模塊的參數就必須首先復制這個模塊然后再調用
1.5 編寫模型
pytroch:可直接修改 forward 函數
torch:不建議直接修改forward 函數,通常是修改updateOutput函數來實現forward操作
二 聯系
2.1 編程
torch 代碼在Pytorch中照樣可以編譯使用
2.2 編寫模型
用autograd技術實現自動求導,不需要再去麻煩地寫反向傳播的計算函數
2.2 總結
pytorch可以說是torch的python版,並增加了很多新功能
三 官網圖
四 兩種深度學習框架選擇
新手小白,入門推薦 pytorch
如果想學扎實,兩種框架pytorch torch 同時使用,難度系數也不高
轉自:https://blog.csdn.net/WJ_MeiMei/article/details/88720146