1. 程式人生 > >小學五年級開始學TensorFlow都晚了?TensorFlow視訊教程、電子書、github專案免費獲取啦!!

小學五年級開始學TensorFlow都晚了?TensorFlow視訊教程、電子書、github專案免費獲取啦!!

                                                                     微信掃描二維碼,回覆“1”獲取全部資源

小學五年級報名課外班學 Tensorflow 晚不晚?答案是:晚了,畢業於上海交大和卡內基梅隆大學,現任亞馬孫AWS主任科學家的李沐表示,他家的娃1歲就開始讀paper,現在已經可以熟練的寫mxnet程式碼了。

知乎的網友都認為這是“一不小心”的晒娃狂魔,其實李沐還是一個炫妻狂魔:“他媽媽在Google上班是用 Tensorflow”

嗯,谷歌+亞馬遜的基因組合,見識到了。

雖然李沐大神的回覆是一個玩笑,但,小朋友的教育問題已經成為家長關注得重中之重。很多家長都強調:不能讓孩子輸在起跑線上,能早學一天,就比耽誤一天強。除了語數外基本功課科科優秀,琴棋書畫樣樣精通之外,程式設計潮成為了時下小朋友課外班的熱門之一。

30年前鄧小平爺爺說的:計算機普及要從娃娃抓起,今天真正的實現了。

 (圖片來自網路)

從第一行 hello word 開始,世界就逐漸掌握到會寫程式碼的人手中。當學英語熱潮變成常態之後,計算機程式設計的熱潮正在撲面而來。

那麼問題來了,幾歲學Tensorflow比較合適呢? 

對於正在看這篇推文的你來說,現在學最合適。

最為Google爸爸的親兒子,Tensorflow 擁有超強大的社群,這意味著尋找學習 Tensorflow 的資源、解決相關問題的答案變得非常容易。而 Tensorflow 自身也不負眾望,擁有強大的 TensorBoard 工具,TensorBoard 是 Tensorflow 中的一個在瀏覽器內直接視覺化機器學習模型的工具。

如此受歡迎的 Tensorflow 當然值得掌握,但是怎麼學更高效?下面給大家送上github比較好好的資源和電子書哈!

官方API

TensorFlow最好的學習資源便是官網操作指南,希望大家不會打我啊,你這不是等於沒說麼?更何況官方API都是大量的英文,讓人怎麼看呢?不用擔心,小編把“tensorflow使用指南”裡面常用的API都找到了相應的中文部落格,而且是精選的部落格,足足存了9個PDF,這可是一項體力活啊!(公眾號回覆“1”就會推送給大家了,以下文章涉及的電子書一併奉上啊,學習一段時間打算用錄視訊的方式給大家講一講啊,現在可不能誤人子弟

書籍

1、《Hands On ML with Scikit-Learn and TensorFlow》(推薦)

這本書系統的講了機器學習與深度學習的工程應用,對於機器學習比賽入門真是一本很好的書。在演算法理論方面講的不是太多,但是但是講的特別通俗,很多問題給你豁然開朗的感覺啊。其中機器學習內容用Sklearn實現,深度學習用tensorflow實現。小編剛開始看的是英文版發現竟然感覺比很多中文資料講的還要清楚。如果你擔心英文版本的看不下去那福利來啦,中文翻譯版的出來啦(回覆“1”獲得啊)。

2、《TensorFlow Machine Learning Cookbook》

這本書對於tensorflow的基礎講的比較細緻,所謂“Cookbook”就是教大家一步一步來實踐的嘛

3、《簡單粗暴TensorFlow》(推薦)

https://www.tensorflowers.cn/t/6230

4.《深入tensorflow架構設計與原理》(進階,推薦購買研讀)

講解了不少TF內部機制,這個可以當做進階來看!

視訊

如果你是個懶癌患者不想看書學習的話,只有視訊能拯救你啦

專案55個經典案例

第一步基礎入門

1:tf初學者需要明白的入門準備

  • 機器學習入門筆記:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/ml_introduction.ipynb

  • MNIST 資料集入門筆記

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb

2:tf初學者需要了解的入門基礎

  • Hello World

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/helloworld.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/1_Introduction/helloworld.py

  • 基本操作

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/basic_operations.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/1_Introduction/basic_operations.py

3:tf初學者需要掌握的基本模型

  • 最近鄰:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/nearest_neighbor.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/nearest_neighbor.py

  • 線性迴歸:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/linear_regression.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/linear_regression.py

  • Logistic 迴歸:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/logistic_regression.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/logistic_regression.py

4:tf初學者需要嘗試的神經網路

  • 多層感知器:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/multilayer_perceptron.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/multilayer_perceptron.py

  • 卷積神經網路:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/convolutional_network.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/convolutional_network.py

  • 迴圈神經網路(LSTM):

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/recurrent_network.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py

  • 雙向迴圈神經網路(LSTM):

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/bidirectional_rnn.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/bidirectional_rnn.py

  • 動態迴圈神經網路(LSTM)

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/dynamic_rnn.py

  • 自編碼器

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/autoencoder.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/autoencoder.py

5:tf初學者需要精通的實用技術

  • 儲存和恢復模型

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/save_restore_model.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/save_restore_model.py

  • 圖和損失視覺化

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/tensorboard_basic.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_basic.py

  • Tensorboard——高階視覺化

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_advanced.py

5:tf初學者需要的懂得的多GPU基本操作

  • 多 GPU 上的基本操作

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/5_MultiGPU/multigpu_basics.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/5_MultiGPU/multigpu_basics.py

6:案例需要的資料集

有一些案例需要 MNIST 資料集進行訓練和測試。執行這些案例時,該資料集會被自動下載下來(使用 input_data.py)。

MNIST資料集筆記:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb

官方網站:http://yann.lecun.com/exdb/mnist/

第二步:為TF新手備的各個型別的案例、模型和資料集

初步瞭解:TFLearn TensorFlow

接下來的示例來自TFLearn,這是一個為 TensorFlow 提供了簡化的介面的庫。裡面有很多示例和預構建的運算和層。

使用教程:TFLearn 快速入門。通過一個具體的機器學習任務學習 TFLearn 基礎。開發和訓練一個深度神經網路分類器。

TFLearn地址:https://github.com/tflearn/tflearn

示例:https://github.com/tflearn/tflearn/tree/master/examples

預構建的運算和層:http://tflearn.org/doc_index/#api

筆記:https://github.com/tflearn/tflearn/blob/master/tutorials/intro/quickstart.md

基礎模型以及資料集

  • 線性迴歸,使用 TFLearn 實現線性迴歸

https://github.com/tflearn/tflearn/blob/master/examples/basics/linear_regression.py

  • 邏輯運算子。使用 TFLearn 實現邏輯運算子

https://github.com/tflearn/tflearn/blob/master/examples/basics/logical.py

  • 權重保持。儲存和還原一個模型

https://github.com/tflearn/tflearn/blob/master/examples/basics/weights_persistence.py

  • 微調。在一個新任務上微調一個預訓練的模型

https://github.com/tflearn/tflearn/blob/master/examples/basics/finetuning.py

  • 使用 HDF5。使用 HDF5 處理大型資料集

https://github.com/tflearn/tflearn/blob/master/examples/basics/use_hdf5.py

  • 使用 DASK。使用 DASK 處理大型資料集

https://github.com/tflearn/tflearn/blob/master/examples/basics/use_dask.py

計算機視覺模型及資料集

  • 多層感知器。一種用於 MNIST 分類任務的多層感知實現

https://github.com/tflearn/tflearn/blob/master/examples/images/dnn.py

  • 卷積網路(MNIST)。用於分類 MNIST 資料集的一種卷積神經網路實現

https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_mnist.py

  • 卷積網路(CIFAR-10)。用於分類 CIFAR-10 資料集的一種卷積神經網路實現

https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py

  • 網路中的網路。用於分類 CIFAR-10 資料集的 Network in Network 實現

https://github.com/tflearn/tflearn/blob/master/examples/images/network_in_network.py

  • Alexnet。將 Alexnet 應用於 Oxford Flowers 17 分類任務

https://github.com/tflearn/tflearn/blob/master/examples/images/alexnet.py

  • VGGNet。將 VGGNet 應用於 Oxford Flowers 17 分類任務

https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network.py

  • VGGNet Finetuning (Fast Training)。使用一個預訓練的 VGG 網路並將其約束到你自己的資料上,以便實現快速訓練

https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network_finetuning.py

  • RNN Pixels。使用 RNN(在畫素的序列上)分類影象

https://github.com/tflearn/tflearn/blob/master/examples/images/rnn_pixels.py

  • Highway Network。用於分類 MNIST 資料集的 Highway Network 實現

https://github.com/tflearn/tflearn/blob/master/examples/images/highway_dnn.py

  • Highway Convolutional Network。用於分類 MNIST 資料集的 Highway Convolutional Network 實現

https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_highway_mnist.py

  • Residual Network (MNIST) 。應用於 MNIST 分類任務的一種瓶頸殘差網路(bottleneck residual network)

https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py

  • Residual Network (CIFAR-10)。應用於 CIFAR-10 分類任務的一種殘差網路

https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_cifar10.py

  • Google Inception(v3)。應用於 Oxford Flowers 17 分類任務的谷歌 Inception v3 網路

https://github.com/tflearn/tflearn/blob/master/examples/images/googlenet.py

  • 自編碼器。用於 MNIST 手寫數字的自編碼器

https://github.com/tflearn/tflearn/blob/master/examples/images/autoencoder.py

自然語言處理模型及資料集

  • 迴圈神經網路(LSTM),應用 LSTM 到 IMDB 情感資料集分類任

https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm.py

  • 雙向 RNN(LSTM),將一個雙向 LSTM 應用到 IMDB 情感資料集分類任務:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/bidirectional_lstm.py

  • 動態 RNN(LSTM),利用動態 LSTM 從 IMDB 資料集分類可變長度文字:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/dynamic_lstm.py

  • 城市名稱生成,使用 LSTM 網路生成新的美國城市名:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_cityname.py

  • 莎士比亞手稿生成,使用 LSTM 網路生成新的莎士比亞手稿:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_shakespeare.py

  • Seq2seq,seq2seq 迴圈網路的教學示例:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/seq2seq_example.py

  • CNN Seq,應用一個 1-D 卷積網路從 IMDB 情感資料集中分類詞序列

https://github.com/tflearn/tflearn/blob/master/examples/nlp/cnn_sentence_classification.py

強化學習案例

  • Atari Pacman 1-step Q-Learning,使用 1-step Q-learning 教一臺機器玩 Atari 遊戲:

https://github.com/tflearn/tflearn/blob/master/examples/reinforcement_learning/atari_1step_qlearning.py

第三步:為TF新手準備的其他方面內容

  • Recommender-Wide&Deep Network,推薦系統中 wide & deep 網路的教學示例:

https://github.com/tflearn/tflearn/blob/master/examples/others/recommender_wide_and_deep.py

  • Spiral Classification Problem,對斯坦福 CS231n spiral 分類難題的 TFLearn 實現:

https://github.com/tflearn/tflearn/blob/master/examples/notebooks/spiral.ipynb

  • 層,與 TensorFlow 一起使用  TFLearn 層:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py

  • 訓練器,使用 TFLearn 訓練器類訓練任何 TensorFlow 圖:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py

  • Bulit-in Ops,連同 TensorFlow 使用 TFLearn built-in 操作:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/builtin_ops.py

  • Summaries,連同 TensorFlow 使用 TFLearn summarizers:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/summaries.py

  • Variables,連同 TensorFlow 使用 TFLearn Variables:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/variables.py

注意以上都是TenorFlow入門級的資料,可以說很全了,可是大家不能拘泥於以上的資料,這些也就相當於DEMO。提高工程能力與編碼能力關鍵是用起來,這個提高的過程是學習論文的復現程式碼,找一篇你熟悉的論文在github上尋找論文的復現,復現的過程才是把深度學習應用於實踐。

微信掃面二維碼,回覆“1”獲取全部資源