作者 |  Aymeric Damien

编辑 | 奇予纪

出品 | 磐创AI团队

原项目 |  https://github.com/aymericdamien/TensorFlow-Examples/

 写在前面的话

TensorFlow是谷歌2015年开源的通用高性能计算库。最初主要是为构建神经网络(NNs)提供高性能的API。然而,随着时间的推移和机器学习(ML)社区的兴起,TensorFlow已经发展为一个完整的机器学习生态系统。

TensorFlow虽是深度学习领域最广泛使用的框架,但是对比PyTorch这一动态图框架,采用静态图(Graph模式)的TensorFlow确实是难用。好在最近TensorFlow支持了eager模式,对标PyTorch的动态执行机制。更进一步地,Google推出了全新的版本TensorFlow 2.0,2.0版本相比1.0版本不是简单地更新,而是一次重大升级。

简单地来说,TensorFlow 2.0默认采用eager执行模式,而且重整了很多混乱的模块。毫无疑问,2.0版本将会逐渐替换1.0版本,所以很有必要趁早入手TensorFlow 2.0。

本系列将对aymericdamien使用tensorflow2.0编写的示例注释进行翻译,以便大家快速上手。翻译过程中难免有疏漏,如发现错误,希望大家指出,谢谢支持。

github项目地址:

https://github.com/aymericdamien/TensorFlow-Examples/tree/master/tensorflow_v2

0. 前言

  • 机器学习介绍
  • MNIST 数据集介绍

1. 介绍

  • Hello World。一个非常简单的示例,学习如何使用TensorFlow 2.0打印“ hello world”。
  • 基础操作。一个包含TensorFlow 2.0基础操作的简单示例。

2. 基础模型

  • 线性回归。使用TensorFlow 2.0实现线性回归。
  • 逻辑回归。使用TensorFlow 2.0实现逻辑回归。
  • Word2Vec (Word Embedding)。使用TensorFlow 2.0从Wikipedia数据构建一个Word Embedding 模型(Word2Vec)。

3. 神经网络

监督方式

  • 简单神经网络。使用TensorFlow 2.0的“layers”和“model”API构建一个简单的神经网络来对MNIST数字数据集进行分类。
  • 简单神经网络(低级)。一个原始的简单神经网络实现来对MNIST数字数据集进行分类。
  • 卷积神经网络。使用TensorFlow 2.0的“layers”和“model”API构建卷积神经网络对MNIST数字数据集进行分类。
  • 卷积神经网络(低级)。原始卷积神经网络的实现来对MNIST数字数据集进行分类。
  • 递归神经网络(LSTM)。使用TensorFlow 2.0“layers”和“model”API,构建递归神经网络(LSTM)对MNIST数字数据集进行分类。
  • 双向递归神经网络(LSTM)。使用TensorFlow 2.0“layers”和“model”API,构建双向递归神经网络(LSTM)对MNIST数字数据集进行分类。
  • 动态递归神经网络(LSTM)。使用TensorFlow 2.0“layers”和“model”API,构建一个递归神经网络(LSTM),对可变长度序列进行动态计算分类。

无监督方式

  • 自编码器。构建一个自编码器,将一个图像编码到一个较低的维度,并重新构建它。
  • 深度卷积生成对抗网络(DCGAN)。构建深度卷积生成对抗网络(DCGAN)以从噪声生成图像。

4. 工具

  • 保存和加载模型。使用TensorFlow 2.0保存和加载模型。
  • 构建自定义层和模块。学习如何构建自己的层/模块,并将它们集成到TensorFlow 2.0模型中。

5. 数据管理

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

安装

要安装TensorFlow 2.0,只需运行:

pip install tensorflow==2.0.0

或者(如果你需要GPU版本):

pip install tensorflow_gpu==2.0.0
Comments are closed.