TensorFlow的55個經典案例


轉自https://mp.weixin.qq.com/s/Qdo1vks94tbGkzXEiuQV7w


導語:本文是TensorFlow實現流行機器學習算法的教程彙集,目標是讓讀者可以輕鬆通過清晰簡明的案例深入瞭解 TensorFlow。這些案例適合那些想要實現一些 TensorFlow 案例的初學者。本教程包含還包含筆記和帶有註解的代碼。

第一步:給TF新手的教程指南


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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章