TensorFlow实现深度学习算法的教程汇集:代码+笔记

向AI转型的程序员都关注了这个号

大数据挖掘DT数据分析 公众号: datadw

这是使用 TensorFlow 实现流行的机器学习算法的教程汇集。本汇集的目标是让读者可以轻松通过案例深入 TensorFlow。

这些案例适合那些想要清晰简明的 TensorFlow 实现案例的初学者。本教程还包含了笔记和带有注解的代码。

项目地址:https://github.com/aymericdamien/TensorFlow-Examples

教程索引

0 - 先决条件

机器学习入门:

笔记: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

1 - 入门

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 - 神经网络

多层感知器:

笔记: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

4 - 实用技术

保存和恢复模型

笔记: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 - 多 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

数据集

一些案例需要 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/

更多案例

接下来的示例来自TFLearn,这是一个为 TensorFlow 提供了简化的接口的库。你可以看看,这里有很多示例和预构建的运算和层。

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

预构建的运算和层:http://tflearn.org/doc_index/#api

教程

TFLearn 快速入门。通过一个具体的机器学习任务学习 TFLearn 基础。开发和训练一个深度神经网络分类器。

笔记: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) (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

转自:http://www.jiqizhixin.com/article/1648

人工智能大数据与深度学习

本文来自企鹅号 - 大数据挖掘DT数据分析媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闪电gogogo的专栏

IEEE Trans 2006 使用K-SVD构造超完备字典以进行稀疏表示(稀疏分解)

K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的。 ...

83290
来自专栏IT派

TensorFlow实现流行机器学习算法的教程汇总(1/3)

有一些案例需要 MNIST 数据集进行训练和测试。运行这些案例时,该数据集会被自动下载下来(使用 input_data.py)。

14400

用Pandas在Python中可视化机器学习数据

为了从机器学习算法中获取最佳结果,你就必须要了解你的数据。

24350
来自专栏Hadoop数据仓库

HAWQ + MADlib 玩转数据挖掘之(十二)——模型评估之交叉验证

一、交叉验证概述         机器学习技术在应用之前使用“训练+检验”的模式,通常被称作“交叉验证”,如图1所示。 ? 图1 1. 预测模型的稳定性    ...

1.7K70
来自专栏各种机器学习基础算法

K-NN算法与K-Means算法的原理与区别(附带源码示例)

KNN算法 K-Means算法 目标  确定某个元素所属的分类 将已存在的一系列元素分类 算法类别 监督的分类算法 无监督的聚类算法 ...

37170
来自专栏程序生活

CS224n 笔记2-词向量表示:Word2vec1. 单词含义的表示2. Word2Vec的主要思路3. 更多Word2Vec细节4 .梯度的推导5. 损失/目标函数相关推荐阅读

1. 单词含义的表示 我们如何表示一个单词的意思 下面是意思的定义: 用词语,语句表示的想法或观点 人们使用词汇,符号来表达的想法 在一篇文章和艺术品表达的观点...

45680
来自专栏目标检测和深度学习

深度学习TensorFlow的55个经典案例

本文是TensorFlow实现流行机器学习算法的教程汇集,目标是让读者可以轻松通过清晰简明的案例深入了解 TensorFlow。这些案例适合那些想要实现一些 ...

42770
来自专栏机器学习和数学

[高大上的DL] Activation function (激活函数)的初步认识

今天简单认识一下什么激活函数以及都有那些激活函数。说到激活函数这里有几个比较容易混淆的概念,比如Pooling池化和Sampling采样,loss functi...

34280
来自专栏AI研习社

深度学习岗位面试问题一览

本笔记主要问题来自以下两个问题,以及我自己面试过程中遇到的问题。 深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?(http://t.cn/...

69150
来自专栏机器学习算法工程师

你必须要知道CNN模型:ResNet

作者:叶 虎 编辑:张 欢 PART 01 ResNet简介 引言 深度残差网络(Deep residual network, ResNet)的提出是CNN...

81970

扫码关注云+社区

领取腾讯云代金券