这是使用 TensorFlow 实现流行的机器学习算法的教程汇集。本汇集的目标是让读者可以轻松通过案例深入 TensorFlow。
这些案例适合那些想要清晰简明的 TensorFlow 实现案例的初学者。本教程还包含了笔记和带有注解的代码。
教程索引
0 - 先决条件
机器学习入门:
-
MNIST 数据集入门
-
笔记: TensorFlow-Examples/mnist_dataset_intro.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
1 - 入门
Hello World:
-
笔记: TensorFlow-Examples/helloworld.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码 TensorFlow-Examples/helloworld.py at master · aymericdamien/TensorFlow-Examples · GitHub
基本操作:
2 - 基本模型
最近邻:
-
笔记: TensorFlow-Examples/nearest_neighbor.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/nearest_neighbor.py at master · aymericdamien/TensorFlow-Examples · GitHub
线性回归:
-
笔记: TensorFlow-Examples/linear_regression.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
Logistic 回归:
-
笔记: TensorFlow-Examples/logistic_regression.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/logistic_regression.py at master · aymericdamien/TensorFlow-Examples · GitHub
3 - 神经网络
多层感知器:
-
代码: TensorFlow-Examples/multilayer_perceptron.py at master · aymericdamien/TensorFlow-Examples · GitHub
卷积神经网络:
-
代码: TensorFlow-Examples/convolutional_network.py at master · aymericdamien/TensorFlow-Examples · GitHub
循环神经网络(LSTM):
-
笔记: TensorFlow-Examples/recurrent_network.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/recurrent_network.py at master · aymericdamien/TensorFlow-Examples · GitHub
双向循环神经网络(LSTM):
-
笔记: TensorFlow-Examples/bidirectional_rnn.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/bidirectional_rnn.py at master · aymericdamien/TensorFlow-Examples · GitHub
动态循环神经网络(LSTM)
自编码器
-
笔记: TensorFlow-Examples/autoencoder.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/autoencoder.py at master · aymericdamien/TensorFlow-Examples · GitHub
4 - 实用技术
保存和恢复模型
-
笔记: TensorFlow-Examples/save_restore_model.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/save_restore_model.py at master · aymericdamien/TensorFlow-Examples · GitHub
图和损失可视化
-
笔记: TensorFlow-Examples/tensorboard_basic.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
-
代码: TensorFlow-Examples/tensorboard_basic.py at master · aymericdamien/TensorFlow-Examples · GitHub
Tensorboard——高级可视化
- 代码: TensorFlow-Examples/tensorboard_advanced.py at master · aymericdamien/TensorFlow-Examples · GitHub
5 - 多 GPU
多 GPU 上的基本操作
数据集
一些案例需要 MNIST 数据集进行训练和测试。不要担心,运行这些案例时,该数据集会被自动下载下来(使用 input_data.py) 。MNIST 是一个手写数字的数据库,查看这个笔记了解关于该数据集的描述: TensorFlow-Examples/mnist_dataset_intro.ipynb at master · aymericdamien/TensorFlow-Examples · GitHub
更多案例
接下来的示例来自 TFLearn,这是一个为 TensorFlow 提供了简化的接口的库。你可以看看,这里有很多示例和预构建的运算和层。
-
预构建的运算和层: http://tflearn.org/doc_index/#api
教程
TFLearn 快速入门。通过一个具体的机器学习任务学习 TFLearn 基础。开发和训练一个深度神经网络分类器。
基础
-
线性回归,使用 TFLearn 实现线性回归: tflearn/linear_regression.py at master · tflearn/tflearn · GitHub
-
逻辑运算符。使用 TFLearn 实现逻辑运算符: tflearn/logical.py at master · tflearn/tflearn · GitHub
-
权重保持。保存和还原一个模型: tflearn/weights_persistence.py at master · tflearn/tflearn · GitHub
-
微调。在一个新任务上微调一个预训练的模型: tflearn/finetuning.py at master · tflearn/tflearn · GitHub
-
使用 HDF5。使用 HDF5 处理大型数据集: https://github.com/tflearn/tflearn/blob/master/examples/basics/use_hdf5.py
-
使用 DASK。使用 DASK 处理大型数据集: tflearn/use_dask.py at master · tflearn/tflearn · GitHub
计算机视觉
-
多层感知器。一种用于 MNIST 分类任务的多层感知实现: tflearn/dnn.py at master · tflearn/tflearn · GitHub
-
卷积网络(MNIST)。用于分类 MNIST 数据集的一种卷积神经网络实现: https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_mnist.py
-
卷积网络(CIFAR-10)。用于分类 CIFAR-10 数据集的一种卷积神经网络实现: tflearn/convnet_cifar10.py at master · tflearn/tflearn · GitHub
-
网络中的网络。用于分类 CIFAR-10 数据集的 Network in Network 实现: tflearn/network_in_network.py at master · tflearn/tflearn · GitHub
-
Alexnet。将 Alexnet 应用于 Oxford Flowers 17 分类任务: tflearn/alexnet.py at master · tflearn/tflearn · GitHub
-
VGGNet。将 VGGNet 应用于 Oxford Flowers 17 分类任务: https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network.py
-
VGGNet Finetuning (Fast Training)。使用一个预训练的 VGG 网络并将其约束到你自己的数据上,以便实现快速训练: tflearn/vgg_network_finetuning.py at master · tflearn/tflearn · GitHub
-
RNN Pixels。使用 RNN(在像素的序列上)分类图像: tflearn/rnn_pixels.py at master · tflearn/tflearn · GitHub
-
Highway Network。用于分类 MNIST 数据集的 Highway Network 实现: tflearn/highway_dnn.py at master · tflearn/tflearn · GitHub
-
Highway Convolutional Network。用于分类 MNIST 数据集的 Highway Convolutional Network 实现: tflearn/convnet_highway_mnist.py at master · tflearn/tflearn · GitHub
-
Residual Network (MNIST) ( https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py ).。应用于 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
其他
Recommender-Wide&Deep Network,推荐系统中 wide & deep 网络的教学示例: https://github.com/tflearn/tflearn/blob/master/examples/others/recommender_wide_and_deep.py
Notebooks
- Spiral Classification Problem,对斯坦福 CS231n spiral 分类难题的 TFLearn 实现: 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
-
训练器,使用 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
分享人:gsherofly,发帖时间 2018-7-4 22:16:39