资源 | GitHub万星:适用于初学者的TensorFlow代码资源集

2017 年 9 月 2 日 机器之心

选自GitHub

机器之心编译

参与:路雪


这套资源可以通过示例让你轻松学习 TensorFlow。至于可读性,它可以作为包括笔记本和注释的源代码教程,适合想寻找清晰准确的 TensorFlow 示例的初学者。除了传统的「原始」TensorFlow 实现之外,你还可以找到最新的 TensorFlow API 实践(如层、估计器、数据集等)。


链接:https://github.com/aymericdamien/TensorFlow-Examples


最近一次更新(2017.08.27):本教程推荐使用 TensorFlow v1.3。本次更新增加了很多新的示例(k 均值、随机森林、多 gpu 训练、层 api、估计器 api、数据集 api 等)。


如果你使用旧的 TensorFlow 版本(0.11 及以下),请点击此处查看相关示例:https://github.com/aymericdamien/TensorFlow-Examples/tree/0.11。


教程目录


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


以上内容是非常简单的示例,教你使用 TensorFlow 输出「hello world」。


基础操作


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


一个简单的示例覆盖 TensorFlow 基础操作。


2. 基础模型


线性回归


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


使用 TensorFlow 实现线性回归模型。


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


使用 TensorFlow 实现 Logistic 回归模型。


最近邻


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


使用 TensorFlow 实现最近邻算法。


K 均值


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/kmeans.ipynb


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


使用 TensorFlow 构建 K 均值分类器。


随机森林


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/random_forest.ipynb


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


使用 TensorFlow 构建随机森林分类器。


3. 神经网络


监督


简单的神经网络


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/neural_network_raw.ipynb


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


构建一个简单的神经网络(又叫作多层感知器)对 MNIST 数据集进行分类。属于原始的 TensorFlow 实现。


简单的神经网络 tf.layers/estimator api


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/neural_network.ipynb


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


使用 TensorFlow「层」和「估计器」API,构建简单的神经网络(又叫作多层感知器)来对 MNIST 数据集进行分类。


卷积神经网络


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/convolutional_network_raw.ipynb


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


构建卷积神经网络对 MNIST 数据集进行分类。属于原始的 TensorFlow 实现。


卷积神经网络 tf.layers/estimator api


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


使用 TensorFlow「层」和「估计器」API,构建卷积神经网络,来对 MNIST 数据集进行分类。


循环神经网络(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)对 MNIST 数据集进行分类。


双向循环神经网络(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)对 MNIST 数据集进行分类。


动态循环神经网络(LSTM)


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/dynamic_rnn.ipynb


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


构建一个动态循环神经网络(LSTM)来执行动态计算,来对不同长度的序列进行分类。


非监督


自编码器


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


构建一个自编码器对图像进行编码,使之降维,然后重建该图像。


变分自编码器


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/Variational_autoencoder.ipynb


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


构建一个变分自编码器(VAE)对图像进行编码,利用噪声生成图像。


生成对抗网络(GAN)


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/gan.ipynb


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


构建一个生成对抗网络,利用噪声生成图像。


深度卷积生成对抗网络(DCGAN)


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/dcgan.ipynb


代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/dcgan.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


使用 TensorFlow 保存和存储模型。


Tensorboard——图和损失可视化


笔记本: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 使计算图和损失可视化。


Tensorboard——高级可视化


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/tensorboard_advanced.ipynb


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


深入了解 Tensorboard;使变量、梯度等可视化。


5. 数据管理


构建图像数据集


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/5_DataManagement/build_an_image_dataset.ipynb


代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/5_DataManagement/build_an_image_dataset.py


使用 TensorFlow 数据队列从图像文件夹或数据集文件构建自己的图像数据集。


TensorFlow 数据集 API


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/5_DataManagement/tensorflow_dataset_api.ipynb


代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/5_DataManagement/tensorflow_dataset_api.py


引入 TensorFlow 数据集 API,优化输入数据管道。


6. 多 GPU


在多 GPU 上进行的基础操作


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/6_MultiGPU/multigpu_basics.ipynb


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


一个简单的在 TensorFlow 中引入多 GPU 的示例。


在多 GPU 上训练神经网络


笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/6_MultiGPU/multigpu_cnn.ipynb


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


一个清晰简单的 TensorFlow 实现,在多个 GPU 上训练卷积神经网络。


数据集


一些示例要求使用 MNIST 数据集进行训练和测试。不要担心,示例运行时,该数据集可以自动下载。MNIST 是一个手写数字数据库,想了解该数据集的简介,请查看笔记本:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb


官方网址:http://yann.lecun.com/exdb/mnist/


安装


下载所有示例,只需复制该 repository:


  
    
    
    
  1. git clone https://github.com/aymericdamien/TensorFlow-Examples


要想运行示例,你还需要 TensorFlow 的最新版本。使用下列方式安装:


  
    
    
    
  1. pip install tensorflow


或下列方式(如果你想获取 GPU 支持):


  
    
    
    
  1. pip install tensorflow_gpu


关于 TensorFlow 安装的更多细节,请查看 TensorFlow 安装指南:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md


更多示例


下列示例来自 TFLearn,一个提供 TensorFlow 简化接口的库,其中有很多内容可供参考,包括很多示例:https://github.com/tflearn/tflearn/tree/master/examples


和预置操作和层:http://tflearn.org/doc_index/#api


教程


TFLearn 快速入门:https://github.com/tflearn/tflearn/blob/master/tutorials/intro/quickstart.md


通过具体的机器学习任务学习 TFLearn 基础。构建和训练一个深度神经网络分类器。


示例


TFLearn 示例:https://github.com/tflearn/tflearn/blob/master/examples


使用 TFLearn 的示例的大型集合。 



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

登录查看更多
9

相关内容

Google发布的第二代深度学习系统TensorFlow
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
159+阅读 · 2019年10月28日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
37+阅读 · 2019年10月9日
Python机器学习课程(代码与教程)
专知
34+阅读 · 2019年5月13日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
超强干货!TensorFlow易用代码大集合...
机器学习算法与Python学习
6+阅读 · 2019年2月20日
【资源】史上最全数据集汇总
七月在线实验室
18+阅读 · 2018年4月24日
史上最全TensorFlow学习资源汇总
深度学习世界
7+阅读 · 2018年4月12日
TensorFlow实现深度学习算法的教程汇集:代码+笔记
数据挖掘入门与实战
8+阅读 · 2017年12月10日
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Arxiv
8+阅读 · 2019年3月21日
Arxiv
4+阅读 · 2018年10月31日
Arxiv
14+阅读 · 2018年5月15日
VIP会员
相关VIP内容
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
159+阅读 · 2019年10月28日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
37+阅读 · 2019年10月9日
相关资讯
Python机器学习课程(代码与教程)
专知
34+阅读 · 2019年5月13日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
超强干货!TensorFlow易用代码大集合...
机器学习算法与Python学习
6+阅读 · 2019年2月20日
【资源】史上最全数据集汇总
七月在线实验室
18+阅读 · 2018年4月24日
史上最全TensorFlow学习资源汇总
深度学习世界
7+阅读 · 2018年4月12日
TensorFlow实现深度学习算法的教程汇集:代码+笔记
数据挖掘入门与实战
8+阅读 · 2017年12月10日
Top
微信扫码咨询专知VIP会员