機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

機器學習平臺在人工智能的開發過程中扮演者非常重要的作用,所以,這些年來,也出現了很多不同的機器學習平臺,側重傳統方法的scipy、sklearn,側重深度學習的caffe、theno、pytorch、tensorflow、mxnet,還有高度集成的gluon、keras,都在人工智能工作中扮演者重要的角色,今天我就推薦一些這兩年表現比較突出的三個機器學習平臺的相關學習資源,分別是tensorflow、pytorch、mxnet。

備註:我已經把tensorflow、pytorch、mxnet官方文檔PDF版和epub版放進共享鏈接,有需要的可以關注微信公眾號"平凡而詩意"回覆doc獲取。


機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合


01 為什麼需要機器學習平臺?

我們做計算機視覺或自然語言,懂算法、自己會開發不就行了,為什麼還需要學習這些機器學習平臺的使用?原因有幾個:

  1. 節省時間
  2. 精度高

首先說一下節省時間,比如做計算機視覺過程中,我們搭一個YOLO模型,裡面涉及矩陣運算、卷積運算、梯度傳播、池化、dropout、激活函數、dataloader、優化算法等等,如果把這些模塊都自己重新開發一邊,必然會耗費很多時間,而這些模塊又是相對成熟穩定的,我們大可不必在這上面耗費時間,而應該把時間用在模型的調優、場景的適配等方面,有了機器學習平臺,一行命令就能解決我們用C/C++寫一上午甚至更長時間的工作。

其次是精度高,有很多算法雖然流程相同,但是不同的人實現的效果卻不同,例如Adam、RMSProp等,這些算法計算速度和精度由不同的人實現效果可能會有天差之別,而這些機器學習平臺是Google、Facebook、亞馬遜這些人工智能頂尖的企業花大力氣驗證和優化的,所以效率自然不在話下。

02 選擇哪個機器學習平臺?

機器學習平臺有很多,tensorflow、pytorch、mxnet、caffe、sklearn、theno、keras,我個人推薦在tensorflow、pytorch、mxnet三個裡面進行選擇,因為這三個平臺有以下幾個優點。

  1. 靈活、方便推理
  2. 安裝配置容易
  3. 強大的社區支持

那tensorflow、pytorch、mxnet又怎麼選擇呢?我簡單介紹一下這幾個機器學習平臺的優缺點,大家可以根據自己的判斷自行選擇。

tensorflow

tensorflow是一個基於計算圖和會話的深度學習平臺,tensorflow給我的感覺就是一個龐然大物,這幾年隨著Google不斷的調整和往裡面加功能,這個平臺變得非常大,裡面含有keras模塊,slim模塊,還有eager模式,tensorflow的優點有:

  1. 基於符號式編程,速度快。
  2. 功能豐富,既有靈活的搭建,又有keras、slim這些簡潔、集成度高的模塊。
  3. 可視化好,有tensorboard這個可視化工具支撐,能夠讓我們更加清楚搭建的網絡架構、數據流向。
  4. 強大的社區支持,由於tensorflow用戶多,所以當遇到問題的時候會相對容易找到解決方案。

當然tensorflow也有缺點,我覺得正是因為太龐大了,所以有很多功能非常混亂,基於計算圖和會話搭建會很不方便。

pytorch

pytorch自從誕生之後就迅速的成為了寵兒,因為它的出現解決了很多以往深度學習平臺的痛點:

  1. 命令式編程,實現簡單。
  2. 數據加載API設計的好,使用方便。
  3. 上手簡單,僅憑這一點就已經很吸引人了。
  4. 自定義擴展。

mxnet

這是一款有亞馬遜推出的深度學習平臺,最近看《動手學深度學習》時順便把mxnet學了一遍,mxnet主要有以下幾個優點:

  1. 同時支持符號式編程和命令式編程,既有tensorflow的快速又有pytorch的簡單。
  2. 支持多GPU和多機分佈式。
  3. 有豐富的與訓練模型。

03 有哪些學習資源?

上Google搜一下,會發現有很多各式各樣的課程和學習資源,可謂是天花亂墜,我一直秉持一個理念“資源不再多,挑選少數有價值的好好學一下比把所有的都學一遍要有效果”,下面我就針對性的推薦一下我認為比較好的幾個資源。
機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

tensorflow

  • tensorflow官方文檔

首推當然是官方文檔,官方的才是最靠譜,最瞭解內部詳情的,官方文檔比較簡潔,提供了MNIST、卷積神經網絡、可視化等常用的場景,而且在卷積神經網絡中以cifar-10為例幾乎涵蓋了tensorflow常用的功能和計算圖搭建流程,詳細把這份文檔看完基本就掌握了tensorflow的使用。

http://www.tensorfly.cn/tfdoc/tutorials/overview.html

  • tensorflow_course

如果覺得官方文檔不能夠讓你變成tensorflow熟手,那就試著用tensorflow完成幾個機器學習算法的搭建,tensorflow_course是一個gihub資源,目前已經9.5k個star,受歡迎程度可見一斑,上面有傳統算法,例如線性迴歸、支持向量機,也有深度學習算法,例如卷積神經網絡,能夠讓你在學習機器學習的過程中進一步熟練tensorflow。

https://github.com/osforscience/TensorFlow-Course

機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

  • tensorflow_cookbook

這也是一個github項目資源,雖然不如上面這個火熱,但是目前也擁有4.1k個star,和上面這個資源有些類似之處,包括傳統算法和深度學習算法的實現,可以邊學習機器學習知識、邊學習深度學習平臺。

https://github.com/nfmcclure/tensorflow_cookbook

機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

  • 其他資源

還有一些tensorflow的系列教程,包括斯坦福的tensorflow教程,我列在下面,需要的可以自行看一下。

https://github.com/chiphuyen/stanford-tensorflow-tutorials

https://github.com/pkmital/tensorflow_tutorials

https://github.com/Hvass-Labs/TensorFlow-Tutorials

機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

pytorch

  • pytorch官方文檔

首先推薦的當然還是官方的文檔,前面已經說過,官方文檔是最瞭解自己工具的,也知道哪些該用,哪些需要學習,所以官方文檔簡潔、節省時間。

https://pytorch-cn.readthedocs.io/zh/latest/

  • pytorch_list

如果覺得官方文檔內容不夠,可以看一下這個github資源,目前5.4k個star,這個資源可以稱得上是大合集,包括計算機視覺、自然語言處理、教程和示例、優秀文章的實現,非常全面。

https://github.com/bharathgs/Awesome-pytorch-list

機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

mxnet

關於mxnet學習資源我只推薦一個,就是李沐的《動手學深度學習》,原因很簡單,原作者出品的,質量必然值得信賴,而且這個課程以深度學習學習為目標,會講解優化算法、卷積神經網絡、自然語言處理等,在實現過程中會使用mxnet和gluon,會涉及到mxnet底層函數的實現,也會涉及到集成函數的使用,在學習過程中不知不覺就上手了。

https://zh.gluon.ai/

機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合



機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合

我已經把官方文檔PDF版和epub版放進共享文件夾,需要的可以關注微信公眾號回覆doc獲取。
機器學習平臺tensorflow、pytorch、mxnet優質學習資源集合


分享到:


相關文章: