突發! 人工智慧框架大戰新爆發,PyTorch又勝TensorFlow一局!
關於深度學習的框架之爭一直沒有停止過。最近,PyTorch與TensorFlow之爭又爆發,吃瓜群眾歷時1個月的圍觀之後,PyTorch居然又勝一局!
能與TensorFlow抗衡,PyTorch是何方神聖?
Pytorch是Facebook 的 AI 研究團隊釋出了一個 Python 工具包,專門針對 GPU 加速的深度神經網路(DNN)程式設計。作為經典機器學習庫 Torch 的埠,PyTorch 為 Python 語言使用者提供了舒適的寫程式碼選擇
好框架應具備的三點,Pytorch有!
對大的計算圖能方便的實現;能自動求變數的導數;能簡單的執行在GPU上;pytorch都做到了,但是現在很多公司用的都是TensorFlow,而pytorch由於比較靈活,在學術科研上用得比較多一點。鄙人認為可能,Google可能下手早一些,而Facebook作後來者,雖然靈活,但是很多公司已經入了TensorFlow的坑了,要全部遷移出來還是很費功夫;而且,TensorFlow在GPU的分散式計算上更為出色,在資料量巨大時效率比pytorch要高一些,我覺得這個也是一個重要的原因吧。
推力:史丹佛大學CS博士對比彙總報告再次發酵
準備時間:PyTorch勝
PyTorch實際上是NumPy的替代,它支援GPU,有著更高階的功能,可以用來構建和訓練深度神經網路。
而TensorFlow則可以看成是一種嵌入Python的程式語言。剛使用TensorFlow的人因為這個額外的間接層而苦思冥想。也因為如此,想用TensorFlow還需要學一些額外的概念,比如會話、圖、變數作用域和佔位符等。如要執行基本模型,則還需更多的樣板程式碼。使用TensorFlow的前期準備時間肯定比PyTorch要長。
圖建立和除錯: PyTorch勝
建立和執行計算圖可能是這兩個框架最大的不同。PyTorch中,圖架構是動態的,圖是在執行時建立。而在TensorFlow中,圖架構是靜態的,這意味著先編譯出圖然後再執行。
TensorFlow可以執行dynamic_rnn語句,但是建立自定義的動態計算更加困難。PyTorch中簡單的圖架構容易推導,更容易除錯。
資料載入:PyTorch勝
PyTorch中用於資料載入的API設計得很好。介面在資料集、取樣器和資料載入器中有明確規定。資料載入器接收資料集和取樣器,根據取樣器的排程,在資料集上生成迭代器。載入並行資料就像把num_workers語句傳遞到資料載入器一樣簡單。
TensorFlow還沒發現特別有用的載入資料的工具,例如readers, queues, queue runners等,都不夠好。部分原因是因為將想要執行的所有預處理程式碼新增到TensorFlow圖中並不總是直接的,例如計算時頻譜(spectrogram)。
而且,API本身更繁瑣,更難以學習。
自定義擴充套件:PyTorch勝
在這兩種框架中都可以用C語言、C++或CUDA構建或繫結自定義擴充套件。但TensorFlow需要更多的樣板程式碼,即使它支援多種型別和裝置。在PyTorch中,只需為每個CPU和GPU版本編寫一個介面和相應的實現。用這兩種框架來編譯擴充套件都很直接,並且不需要下載除了pip安裝包之外的任何標頭檔案或原始碼。
覆蓋率:TensorFlow勝
因PyTorch在逐漸發展,兩者之間的差距會縮小甚至到零。然而,目前仍有一些TensorFlow支援但PyTorch不支援的功能,如下所示:
沿著維度翻轉張量 (np.flip, np.flipud, np.fliplr)
檢查張量是空值還是無限值(np.is_nan, np.is_inf)
快速傅立葉變換(np.fft)
此外,TensorFlow的contrib包中有更多比PyTorch更高階的函式和模型。
序列化:TensorFlow勝
兩種框架下儲存和載入模型都很簡單。PyTorch有一個特別簡單的API,既可以儲存模型的所有權重,也可以pickle全部類。
TensorFlow的Saver物件也很容易使用,併為檢查點(check-pointing)提供了更多選擇。
在序列化中TensorFlow的主要優點是可以將整個圖儲存為協議緩衝區。這包括引數和運算。此外,該圖可以通過其他支援的語言(C++,Java)載入。這對不支援Python的排程棧來說至關重要。理論上,在改變模型原始碼之後,你想要執行舊模型時它也能有所幫助。
部署:TensorFlow勝
對於小規模的伺服器端部署,兩個框架都很容易封裝在諸如Flask web伺服器中。
不過,TensorFlow支援移動和嵌入式部署。可以確定的說,這比包括PyTorch在內的大多數深度學習框架支援功能的都要多。將TensorFlow部署到Android或iOS上確實需要大量的工作,但至少你不必用Java或C++重寫模型的整個推理程式。
學AI必須得懂Pytorch框架!程式設計師不學行嗎?
想學習AI,推薦必備入門課:《60分鐘帶你掌握PyTorch框架》
基於PyTorch的良好效能及大好前景,CSDN學院聯合張校捷老師出品《60分鐘帶你掌握PyTorch框架》,讓你輕鬆快速入門上手PyTorch。
掃碼開始學習
深入淺出+預售折扣
https://edu.csdn.net/course/detail/23740?utm_source=blog11
為什麼選擇這門課
CSDN學院聯合張校捷老師出品《60分鐘帶你掌握PyTorch框架》,讓你輕鬆快速入門上手PyTorch。張校捷有著多年行業經驗及嚴謹的技術態度。講解幽默風趣深入淺出,將技術點提煉的簡練精華。最終打造成此課。限時秒殺39元!
相信對於初學者同學,是一個很好的助力,重點明確少走彎路,學習輕鬆,12講內掌握入門技能,拒絕冗雜。
想學習PyTorch,從現在開始起航吧!
點選學習:https://edu.csdn.net/course/detail/23740?utm_source=blog11
相關文章
- 未來人工智慧會愈發強大 人類真的沒有機會戰勝嗎?人工智慧
- 中美將爆發科技冷戰?人工智慧是“導火索”人工智慧
- 生死大戰已勝,網路大戰將至
- 電商拼多多又獲新一輪融資,小程式爆發的風向標更加清晰了?
- 遊戲業Q4收官戰能否迎來大爆發?遊戲
- “真金”誘惑,印度遊戲大爆發遊戲
- Log4J 2.16.0版本又爆新漏洞
- 六大障礙阻礙人工智慧創新發展人工智慧
- 微信小遊戲爆發式增長,如何保證小遊戲的版本迭代又快又穩?遊戲
- Java又爆致命漏洞Java
- 小遊戲,大爆發,四大重磅助力生態遊戲
- 理解事件分發和衝突的實戰技巧事件
- 谷歌跨界醫學新動作:基因突變定位模型又更!新!了!谷歌模型
- 全民戰“疫”之後,網際網路人才需求或將迎來大爆發
- AlphaGo戰勝李世石讓人工智慧早熟10年Go人工智慧
- 2023年二次元遊戲又將再次大爆發?二次元遊戲
- 戰吼網路:爆款音樂遊戲《Beat Blade》研發發行覆盤遊戲
- TensorFlow與PyTorch之爭,哪個框架最適合深度學習PyTorch框架深度學習
- 深度學習框架跑分測驗(TensorFlow/Caffe/MXNet/Keras/PyTorch)深度學習框架KerasPyTorch
- 伯克利AI分散式框架Ray,相容TensorFlow、PyTorch與MXNetAI分散式框架PyTorch
- 新冠疫情爆發一年有餘,如何克服遠端辦公的安全挑戰
- PyTorch一週年戰績總結:是否比TensorFlow來勢凶猛?PyTorch
- 微軟 Vs. AOL:網路爭奪戰悄然爆發 (轉)微軟
- 新火種AI | 拼多多“後發制人”殺入大模型,誰將勝出,誰先出局AI大模型
- DDD函式程式設計案例:戰勝軟體開發的複雜性! 戰勝方式本身有點複雜哦!函式程式設計
- 人工智慧抗擊疫情,賦能產業新發展——智慧戰疫聯合行動人工智慧產業
- 人工智慧新風口上,網易是否能夠突圍?人工智慧
- 新發版號98款遊戲App過審,多款遊戲上架即爆款!6月新遊大廠聚集遊戲APP
- 馬斯克:全球人工智慧競賽可能引發第三次世界大戰馬斯克人工智慧
- 哪一個深度學習框架增長最迅猛?TensorFlow 還是 PyTorch?深度學習框架PyTorch
- transformer多頭注意力的不同框架實現(tensorflow+pytorch)ORM框架PyTorch
- 桌面軟體開發框架大賞框架
- 十大前端開發框架(上)前端框架
- 十大前端開發框架(下)前端框架
- PyTorch 官方庫「上新」,TorchMultimodal 助力多模態人工智慧PyTorch人工智慧
- 新火種AI|“賭城”上演“科技春晚”,AI硬體將在2024年大爆發AI
- 處理併發衝突
- [譯] 哪一個深度學習框架增長最迅猛?TensorFlow 還是 PyTorch?深度學習框架PyTorch