卷起來了,寫了一套Tensorflow和Pytorch的教程
作為一名AI工程師,掌握一門深度學習框架是必備的生存技能之一。
自 TensorFlow 從 Google 中脫穎而出以來,它在研究和商業(yè)領域成為最受歡迎的開源深度學習框架,緊接著 從 Facebook 誕生的 PyTorch 由于社區(qū)推動的易用性改進和越來越廣泛的用例部署,而迅速趕上TensorFlow。
兩個框架在當年一度備受爭議,TensorFlow和PyTorch誰更好?
從去年校招開始到現(xiàn)在負責部門的面試,從我手上流走的簡歷多多少少也有上百封了。
面試了很多候選人,當問他們常用的深度學習框架時,發(fā)現(xiàn)他們清一色的選擇了:PyTorch。
從各個方面可以看出,經(jīng)過這些年的發(fā)展,PyTorch在學術圈的「壟斷」地位基本已經(jīng)站穩(wěn)。
誠然,比起TensorFlow,大多數(shù)研究人員更偏愛PyTorch的API,PyTorch設計更科學,而TensorFlow自推出2.0版本后,與TF 1.x 的API差異實在不小,導致doc的閱讀成本和版本適配成本都相當高。
如果是初學者,無腦Pytorch就對了。社區(qū)資源多、開源代碼多、上手也很簡單,各大廠商對Pytorch的支持也多(TensorRT、ONNX)。
其實框架的作用就是我們無需造輪子可以直接使用,并且節(jié)省工作量,對于Pytorch來說對研究友好、對訓練友好、對白嫖大佬的開源代碼也友好,對模型部署也友好,可以節(jié)省大把時間去做其他有意義的事情,沒有理由不使用Pytorch。
如果是工作了,就看公司在用什么吧,因為公司是面向需求的。
在業(yè)界,無論算法性能有多好,總歸還是要上線的,選擇框架的時候便會考慮以下這些問題,是否方便部署到線上,支持多語言,并且有較好的系統(tǒng)穩(wěn)定性以及有非常多線上應用實例。
TF 1.x系列面世較早,在學術界、工業(yè)界都有很深的積淀,工業(yè)界由于項目更重,牽一發(fā)而動全身,因此目前很多項目仍然停留在TF 1.x(1.1x)上面。
像業(yè)界大多數(shù)支撐搜廣推場景的模型,還是用Tensorflow,TensorFlow適合大規(guī)模部署,特別是需要跨平臺和嵌入式部署時。
至于延伸到選擇哪個的問題:
顯而易見,小孩子才做選擇,而我們都要學,基本都要會用,這樣才能自己選擇工具,而不是工具挑選你。
然而,我們通過調(diào)研發(fā)現(xiàn),80%的0-3歲互聯(lián)網(wǎng)人沒有系統(tǒng)的學習過Tensorflow、PyTorch方向,缺乏項目實戰(zhàn),處于比較淺層面的對比。
網(wǎng)上解讀Tensorflow、PyTorch文章非常多但知識點零散,學習起來抓不住重點。
最近整理一套深度學習框架必備的學習資料,這套資料內(nèi)容非常詳盡全面,課程通過講解和實戰(zhàn)操作,帶你從零開始訓練網(wǎng)絡,做到獨立搭建和設計卷積神經(jīng)網(wǎng)絡(包括主流分類和檢測網(wǎng)絡),并進行神經(jīng)網(wǎng)絡的訓練和推理(涉及PyTorch、Tensorflow、Caffe、Mxnet等多個主流框架),通過實戰(zhàn)讓你掌握各種深度學習開源框架。(資料已經(jīng)全部整理好)

資料內(nèi)容過多,不一一展開,僅截取框架學習部分目錄大家感受下。
深度學習與神經(jīng)網(wǎng)絡
深度學習簡介
基本的深度學習架構
神經(jīng)元
激活函數(shù)詳解(sigmoid、tanh、relu等)
感性認識隱藏層
如何定義網(wǎng)絡層
損失函數(shù)
推理和訓練
神經(jīng)網(wǎng)絡的推理和訓練
bp算法詳解
歸一化
Batch Normalization詳解
解決過擬合
dropout
softmax
手推神經(jīng)網(wǎng)絡的訓練過程
從零開始訓練神經(jīng)網(wǎng)絡
使用python從零開始實現(xiàn)神經(jīng)網(wǎng)絡訓練
構建神經(jīng)網(wǎng)絡的經(jīng)驗總結
深度學習開源框架
pytorch
tensorflow
caffe
mxnet
keras
優(yōu)化器詳解(GD,SGD,RMSprop等
