TensorFlow-Examples-TensorFlow初学者教程和示例(支持TF v1和v2)

TensorFlow示例

本教程旨在通过示例轻松深入TensorFlow。为了可读性,它包括笔记本和带有说明的源代码,适用于TFv1和v2

它适合那些想要找到关于TensorFlow的清晰简明示例的初学者。除了传统的“原始”TensorFlow实现之外,您还可以找到最新的TensorFlow API实践(例如layersestimatordataset、.)

更新(05/16/2020):将所有默认示例移动到TF2。对于TF v1示例:check here

教程索引

0-必备条件

1-简介

  • 你好,世界(notebook)。非常简单的示例,学习如何使用TensorFlow2.0+打印“hello world”
  • 基本操作(notebook)。一个涵盖TensorFlow 2.0+基本操作的简单示例

2-基本型号

  • 线性回归(notebook)。用TensorFlow 2.0+实现线性回归
  • Logistic回归(notebook)。用TensorFlow 2.0+实现Logistic回归
  • word2vec(单词嵌入)(notebook)。使用TensorFlow 2.0+从维基百科数据构建单词嵌入模型(Word2vec)
  • GBDT(梯度增强决策树)(notebooks)。使用TensorFlow 2.0+实现梯度增强决策树,以使用波士顿住房数据集预测房价

3-神经网络

受监督
  • 简单神经网络(notebook)。使用TensorFlow 2.0‘Layers’和‘Model’API构建一个简单的神经网络来对MNIST数字数据集进行分类
  • 简单神经网络(低级)(notebook)。MNIST数字数据集分类的简单神经网络RAW实现
  • 卷积神经网络(notebook)。使用TensorFlow 2.0+“Layers”和“model”API构建卷积神经网络对MNIST数字数据集进行分类
  • 卷积神经网络(低级)(notebook)。卷积神经网络对MNIST数字数据集分类的原始实现
  • 递归神经网络(LSTM)(notebook)。利用TensorFlow 2.0‘Layers’和‘Model’API构建递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 双向递归神经网络(LSTM)(notebook)。利用TensorFlow 2.0+‘Layers’和‘Model’API构建双向递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 动态递归神经网络(LSTM)(notebook)。使用TensorFlow 2.0+‘Layers’和‘Model’API构建一个执行动态计算的递归神经网络(LSTM),对可变长度的序列进行分类
无人监督
  • 自动编码器(notebook)。构建一个自动编码器,将图像编码到较低的维度并重建它
  • DCGAN(深度卷积生成对抗网络)(notebook)。构建深度卷积生成对抗网络(DCGAN)从噪声中生成图像

4-实用程序

  • 保存和恢复模型(notebook)。使用TensorFlow 2.0+保存和恢复模型
  • 构建自定义图层和模块(notebook)。了解如何构建自己的层/模块并将其集成到TensorFlow 2.0+模型中
  • 电路板(notebook)。使用TensorFlow 2.0+Ttensorboard跟踪和可视化神经网络计算图形、指标、权重等

5-数据管理

  • 加载和解析数据(notebook)。使用TensorFlow 2.0(Numpy阵列、图像、CSV文件、自定义数据)构建高效的数据管道。
  • 生成并加载TFRecords(notebook)。将数据转换为TFRecords格式,并使用TensorFlow 2.0+进行加载
  • 图像变换(即图像放大)(notebook)。使用TensorFlow 2.0+应用各种图像增强技术,生成用于训练的失真图像

6-硬件

  • 多GPU培训(notebook)。在CIFAR-10数据集上用多GPU训练卷积神经网络

TensorFlow v1

此处提供了TF v1的教程索引:TensorFlow v1.15 Examples或参见下面的示例列表

数据集

某些示例需要MNIST数据集来进行训练和测试。别担心,运行示例时会自动下载此数据集。MNIST是一个手写数字数据库,要快速描述该数据集,您可以查看this notebook

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

安装

要下载所有示例,只需克隆此存储库:

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

要运行它们,您还需要最新版本的TensorFlow。要安装它,请执行以下操作:

pip install tensorflow

或者(有GPU支持):

pip install tensorflow_gpu

有关TensorFlow安装的更多详细信息,可以查看TensorFlow Installation Guide

TensorFlow v1示例-索引

此处提供了TF v1的教程索引:TensorFlow v1.15 Examples

0-必备条件

1-简介

  • 你好,世界(notebook)(code)。学习如何使用TensorFlow打印“hello world”的非常简单的示例
  • 基本操作(notebook)(code)。介绍TensorFlow基本操作的简单示例
  • TensorFlow急切API基础知识(notebook)(code)。开始使用TensorFlow急切的API

2-基本型号

  • 线性回归(notebook)(code)。用TensorFlow实现线性回归
  • 线性回归(EAGER API)(notebook)(code)。使用TensorFlow的Eager API实现线性回归
  • Logistic回归(notebook)(code)。用TensorFlow实现Logistic回归
  • Logistic回归(EAGER API)(notebook)(code)。使用TensorFlow的Eager API实现Logistic回归
  • 最近邻居(notebook)(code)。用TensorFlow实现最近邻算法
  • K-均值(notebook)(code)。用TensorFlow构建K-Means分类器
  • 随机森林(notebook)(code)。用TensorFlow构建随机森林分类器
  • 梯度增强决策树(GBDT)(notebook)(code)。用TensorFlow构建梯度增强决策树(GBDT)
  • word2vec(单词嵌入)(notebook)(code)。使用TensorFlow从维基百科数据构建单词嵌入模型(word2vec

3-神经网络

受监督
  • 简单神经网络(notebook)(code)。建立一个简单的神经网络(也称为多层感知器)来对MNIST数字数据集进行分类。原始TensorFlow实现
  • 简单神经网络(tf.layer/估计器API)(notebook)(code)。使用TensorFlow‘Layers’和‘Estiator’API构建一个简单的神经网络(也称为多层感知器)来对MNIST数字数据集进行分类
  • 简单神经网络(EAGER API)(notebook)(code)。使用TensorFlow EAGER API构建简单的神经网络(也称为多层感知器)对MNIST数字数据集进行分类
  • 卷积神经网络(notebook)(code)。构建卷积神经网络对MNIST数字数据集进行分类。原始TensorFlow实现
  • 卷积神经网络(tf.layer/估计器API)(notebook)(code)。使用TensorFlow‘Layers’和‘Estiator’API构建卷积神经网络对MNIST数字数据集进行分类
  • 递归神经网络(LSTM)(notebook)(code)。构建递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 双向递归神经网络(LSTM)(notebook)(code)。构建双向递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 动态递归神经网络(LSTM)(notebook)(code)。建立递归神经网络(LSTM)进行动态计算,对不同长度的序列进行分类
无人监督
  • 自动编码器(notebook)(code)。构建一个自动编码器,将图像编码到较低的维度并重建它
  • 变分自动编码器(notebook)(code)。构建一个变分自动编码器(VAE),对噪声进行编码并生成图像
  • 生成性对抗性网络(GAN)(notebook)(code)。构建生成性对抗网络(GAN),从噪声中生成图像
  • DCGAN(深度卷积生成对抗网络)(notebook)(code)。构建深度卷积生成对抗网络(DCGAN)从噪声中生成图像

4-实用程序

  • 保存和恢复模型(notebook)(code)。使用TensorFlow保存和恢复模型
  • Tensorboard-图形和损耗可视化(notebook)(code)。使用Tensorboard可视化计算图形并绘制损耗
  • 触摸板-高级可视化(notebook)(code)。深入Tensorboard;可视化变量、渐变等

5-数据管理

  • 构建图像数据集(notebook)(code)。使用TensorFlow数据队列从图像文件夹或数据集文件构建您自己的图像数据集
  • TensorFlow数据集API(notebook)(code)。引入TensorFlow数据集API优化输入数据管道
  • 加载和解析数据(notebook)。构建高效的数据管道(Numpy数组、图像、CSV文件、自定义数据等)
  • 生成并加载TFRecords(notebook)。将数据转换为TFRecords格式,并加载
  • 图像变换(即图像放大)(notebook)。应用各种图像增强技术,生成用于训练的失真图像

6-多GPU

  • 多GPU上的基本操作(notebook)(code)。在TensorFlow中引入多GPU的一个简单示例
  • 在多GPU上训练神经网络(notebook)(code)。一种简单明了的TensorFlow在多GPU上训练卷积神经网络的实现

更多例子

以下示例来自TFLearn,一个为TensorFlow提供简化接口的库。你可以看看,有很多examplespre-built operations and layers

教程

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

示例