選自 Github
機(jī)器之心編譯
參與:吳攀、李亞洲
這是使用 TensorFlow 實(shí)現(xiàn)流行的機(jī)器學(xué)習(xí)算法的教程匯集。本匯集的目標(biāo)是讓讀者可以輕松通過(guò)案例深入 TensorFlow。
這些案例適合那些想要清晰簡(jiǎn)明的 TensorFlow 實(shí)現(xiàn)案例的初學(xué)者。本教程還包含了筆記和帶有注解的代碼。
項(xiàng)目地址:https://github.com/aymericdamien/TensorFlow-Examples
教程索引
0 - 先決條件
機(jī)器學(xué)習(xí)入門(mén):
筆記:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/ml_introduction.ipynb
MNIST 數(shù)據(jù)集入門(mén)
筆記:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb
1 - 入門(mén)
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
2 - 基本模型
最近鄰:
筆記: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
3 - 神經(jīng)網(wǎng)絡(luò)
多層感知器:
筆記: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
卷積神經(jīng)網(wǎng)絡(luò):
筆記: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
循環(huán)神經(jīng)網(wǎng)絡(luò)(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
雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(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
動(dòng)態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)(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
4 - 實(shí)用技術(shù)
保存和恢復(fù)模型
筆記: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——高級(jí)可視化
代碼:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_advanced.py
5 - 多 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
數(shù)據(jù)集
一些案例需要 MNIST 數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試。不要擔(dān)心,運(yùn)行這些案例時(shí),該數(shù)據(jù)集會(huì)被自動(dòng)下載下來(lái)(使用 input_data.py)。MNIST 是一個(gè)手寫(xiě)數(shù)字的數(shù)據(jù)庫(kù),查看這個(gè)筆記了解關(guān)于該數(shù)據(jù)集的描述:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb
官方網(wǎng)站:http://yann.lecun.com/exdb/mnist/
更多案例
接下來(lái)的示例來(lái)自 TFLearn(https://github.com/tflearn/tflearn),這是一個(gè)為 TensorFlow 提供了簡(jiǎn)化的接口的庫(kù)。你可以看看,這里有很多示例和預(yù)構(gòu)建的運(yùn)算和層。
示例:https://github.com/tflearn/tflearn/tree/master/examples
預(yù)構(gòu)建的運(yùn)算和層:http://tflearn.org/doc_index/#api
教程
TFLearn 快速入門(mén)。通過(guò)一個(gè)具體的機(jī)器學(xué)習(xí)任務(wù)學(xué)習(xí) TFLearn 基礎(chǔ)。開(kāi)發(fā)和訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)分類器。
筆記:https://github.com/tflearn/tflearn/blob/master/tutorials/intro/quickstart.md
基礎(chǔ)
線性回歸,使用 TFLearn 實(shí)現(xiàn)線性回歸:https://github.com/tflearn/tflearn/blob/master/examples/basics/linear_regression.py
邏輯運(yùn)算符。使用 TFLearn 實(shí)現(xiàn)邏輯運(yùn)算符:https://github.com/tflearn/tflearn/blob/master/examples/basics/logical.py
權(quán)重保持。保存和還原一個(gè)模型:https://github.com/tflearn/tflearn/blob/master/examples/basics/weights_persistence.py
微調(diào)。在一個(gè)新任務(wù)上微調(diào)一個(gè)預(yù)訓(xùn)練的模型:https://github.com/tflearn/tflearn/blob/master/examples/basics/finetuning.py
使用 HDF5。使用 HDF5 處理大型數(shù)據(jù)集:https://github.com/tflearn/tflearn/blob/master/examples/basics/use_hdf5.py
使用 DASK。使用 DASK 處理大型數(shù)據(jù)集:https://github.com/tflearn/tflearn/blob/master/examples/basics/use_dask.py
計(jì)算機(jī)視覺(jué)
多層感知器。一種用于 MNIST 分類任務(wù)的多層感知實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/images/dnn.py
卷積網(wǎng)絡(luò)(MNIST)。用于分類 MNIST 數(shù)據(jù)集的一種卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_mnist.py
卷積網(wǎng)絡(luò)(CIFAR-10)。用于分類 CIFAR-10 數(shù)據(jù)集的一種卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py
網(wǎng)絡(luò)中的網(wǎng)絡(luò)。用于分類 CIFAR-10 數(shù)據(jù)集的 Network in Network 實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/images/network_in_network.py
Alexnet。將 Alexnet 應(yīng)用于 Oxford Flowers 17 分類任務(wù):https://github.com/tflearn/tflearn/blob/master/examples/images/alexnet.py
VGGNet。將 VGGNet 應(yīng)用于 Oxford Flowers 17 分類任務(wù):https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network.py
VGGNet Finetuning (Fast Training)。使用一個(gè)預(yù)訓(xùn)練的 VGG 網(wǎng)絡(luò)并將其約束到你自己的數(shù)據(jù)上,以便實(shí)現(xiàn)快速訓(xùn)練: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 數(shù)據(jù)集的 Highway Network 實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/images/highway_dnn.py
Highway Convolutional Network。用于分類 MNIST 數(shù)據(jù)集的 Highway Convolutional Network 實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_highway_mnist.py
Residual Network (MNIST) (https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py).。應(yīng)用于 MNIST 分類任務(wù)的一種瓶頸殘差網(wǎng)絡(luò)(bottleneck residual network):https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py
Residual Network (CIFAR-10)。應(yīng)用于 CIFAR-10 分類任務(wù)的一種殘差網(wǎng)絡(luò):https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_cifar10.py
Google Inception(v3)。應(yīng)用于 Oxford Flowers 17 分類任務(wù)的谷歌 Inception v3 網(wǎng)絡(luò):https://github.com/tflearn/tflearn/blob/master/examples/images/googlenet.py
自編碼器。用于 MNIST 手寫(xiě)數(shù)字的自編碼器:https://github.com/tflearn/tflearn/blob/master/examples/images/autoencoder.py
自然語(yǔ)言處理
循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM),應(yīng)用 LSTM 到 IMDB 情感數(shù)據(jù)集分類任務(wù):https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm.py
雙向 RNN(LSTM),將一個(gè)雙向 LSTM 應(yīng)用到 IMDB 情感數(shù)據(jù)集分類任務(wù):https://github.com/tflearn/tflearn/blob/master/examples/nlp/bidirectional_lstm.py
動(dòng)態(tài) RNN(LSTM),利用動(dòng)態(tài) LSTM 從 IMDB 數(shù)據(jù)集分類可變長(zhǎng)度文本:https://github.com/tflearn/tflearn/blob/master/examples/nlp/dynamic_lstm.py
城市名稱生成,使用 LSTM 網(wǎng)絡(luò)生成新的美國(guó)城市名:https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_cityname.py
莎士比亞手稿生成,使用 LSTM 網(wǎng)絡(luò)生成新的莎士比亞手稿:https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_shakespeare.py
Seq2seq,seq2seq 循環(huán)網(wǎng)絡(luò)的教學(xué)示例:https://github.com/tflearn/tflearn/blob/master/examples/nlp/seq2seq_example.py
CNN Seq,應(yīng)用一個(gè) 1-D 卷積網(wǎng)絡(luò)從 IMDB 情感數(shù)據(jù)集中分類詞序列:https://github.com/tflearn/tflearn/blob/master/examples/nlp/cnn_sentence_classification.py
強(qiáng)化學(xué)習(xí)
Atari Pacman 1-step Q-Learning,使用 1-step Q-learning 教一臺(tái)機(jī)器玩 Atari 游戲:https://github.com/tflearn/tflearn/blob/master/examples/reinforcement_learning/atari_1step_qlearning.py
其他
Recommender-Wide&Deep Network,推薦系統(tǒng)中 wide & deep 網(wǎng)絡(luò)的教學(xué)示例:https://github.com/tflearn/tflearn/blob/master/examples/others/recommender_wide_and_deep.py
Notebooks
Spiral Classification Problem,對(duì)斯坦福 CS231n spiral 分類難題的 TFLearn 實(shí)現(xiàn):https://github.com/tflearn/tflearn/blob/master/examples/notebooks/spiral.ipynb
可延展的 TensorFlow
層,與 TensorFlow 一起使用 TFLearn 層:https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py
訓(xùn)練器,使用 TFLearn 訓(xùn)練器類訓(xùn)練任何 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
本文由機(jī)器之心編譯,轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)。
------------------------------------------------
加入機(jī)器之心(全職記者/實(shí)習(xí)生):hr@almosthuman.cn
投稿或?qū)で髨?bào)道:editor@almosthuman.cn
廣告&商務(wù)合作:bd@almosthuman.cn
聯(lián)系客服