作為一名 AI 工程師,掌握一門深度學習框架是必備的生存技能之一。
自 TensorFlow 從 Google 中脫穎而出以來,它在研究和商業領域成為最受歡迎的開源深度學習框架,緊接著 從 Facebook 誕生的 PyTorch 由於社群推動的易用性改進和越來越廣泛的用例部署,而迅速趕上 TensorFlow。
兩個框架在當年一度備受爭議,TensorFlow 和 PyTorch 誰更好?
從去年校招開始到現在負責部門的面試,從我手上流走的簡歷多多少少也有上百封了。
面試了很多候選人,當問他們常用的深度學習框架時,發現他們清一色的選擇了:PyTorch。
從各個方面可以看出,經過這些年的發展,PyTorch 在學術圈的「壟斷」地位基本已經站穩。
誠然,比起 TensorFlow,大多數研究人員更偏愛 PyTorch 的 API,PyTorch 設計更科學,而 TensorFlow 自推出 2.0 版本後,與 TF 1.x 的 API 差異實在不小,導致 doc 的閱讀成本和版本適配成本都相當高。
如果是初學者,無腦 Pytorch 就對了。社群資源多、開原始碼多、上手也很簡單,各大廠商對 Pytorch 的支援也多 (TensorRT、ONNX)。
其實框架的作用就是我們無需造輪子可以直接使用,並且節省工作量,對於 Pytorch 來說對研究友好、對訓練友好、對白嫖大佬的開原始碼也友好,對模型部署也友好,可以節省大把時間去做其他有意義的事情,沒有理由不使用 Pytorch。
如果是工作了,就看公司在用什麼吧,因為公司是面向需求的。
在業界,無論演演算法效能有多好,總歸還是要上線的,選擇框架的時候便會考慮以下這些問題,是否方便部署到線上,支援多語言,並且有較好的系統穩定性以及有非常多線上應用範例。
像業界大多數支撐搜廣推場景的模型,還是用 Tensorflow,TensorFlow 適合大規模部署,特別是需要跨平臺和嵌入式部署時。
網上解讀 Tensorflow、PyTorch 文章非常多但知識點零散,學習起來抓不住重點。
最近一段時間,我整理一套深度學習框架必備的學習資料,這套資料內容非常詳盡全面,課程通過講解和實戰操作,帶你從零開始訓練網路,做到獨立搭建和設計折積神經網路(包括主流分類和檢測網路),並進行神經網路的訓練和推理(涉及 PyTorch、Tensorflow、Caffe、Mxnet 等多個主流框架),通過實戰讓你掌握各種深度學習開源框架。
資料內容過多,不一一展開,僅擷取框架學習部分目錄大家感受下。
深度學習與神經網路
深度學習簡介
基本的深度學習架構
神經元
啟用函數詳解(sigmoid、tanh、relu 等)
感性認識隱藏層
如何定義網路層
損失函數
推理和訓練
神經網路的推理和訓練
bp 演演算法詳解
歸一化
Batch Normalization 詳解
解決過擬合
dropout
softmax
手推神經網路的訓練過程
從零開始訓練神經網路
使用 python 從零開始實現神經網路訓練
構建神經網路的經驗總結
深度學習開源框架
pytorch
tensorflow
caffe
mxnet
keras
優化器詳解 (GD,SGD,RMSprop 等
由於工作需要,這份教學我本人也在學習中,雖然已經從事這個行業多年,再看這份教學的時候,仍然能查漏補缺,收穫滿滿,我相信不管是 AI 入門,還是已經具備了一定的工作經驗,這份學習資料,都值得你去認真學習研究。
該資料已打包,梳理不易,獲取前麻煩點贊、收藏、關注。獲取方法有兩種: