Tensorflow的基础介绍
[TOC]
概述
文章参考:http://c.biancheng.net/view/1881.html
我们先看一个网站:http://www.image-net.org/
文章参考:https://www.cnblogs.com/nickchen121/p/10840284.html
文章参考:https://blog.csdn.net/markmin214/article/details/90523706
文章参考:https://zhuanlan.zhihu.com/p/59507137
Tensorflow介绍
Tensorflow是Google研发的第二代人工智能系统。是一个进行图像识别和分类的开源软件库。
Tensorflow采取数据流图,用于数值计算的开源库。
功能强大。支持多重平台-GPU、CPU、移动设备
最初用于深度学习,变得愈来越强大,变得越来越通用。
Tensorflow是什么
Tensorflow是数据流图,其中包括节点和线。节点用于处理数据、线用于处理节点之间的输入输出关系。线上用于传输张量。节点可以被分配到各种设备进行进行执行。
节点- 处理数据
线- 节点之间的输入输出关系
线上运输的是张量(Tensor) Tensor其实是所有的N维数据
节点被分配到各种计算设备上执行
Tensorflow特性
1、高度的灵活性
2、真正的可移植性
3、产品和科研相结合
4、自动求微分
5、多语言支持
6、性能最优化
使用TensorFlow的步骤:
- 模型训练
- TensorBoard
- 模型的保存与部署
- 分布式训练
- Tfds/tfhub
- tensor2tensor
数据集的学习
Tensorflow的特性
版本变动
Tensorflow2.0新特性
新特性:动态图机制(Eager Execution)
Tensorflow1.x–延迟执行机制(deferred execution)或者也叫静态图机制。 主要分为两个阶段:构建阶段、执行阶段
Tensorflow1.0的静态图只需要创建一次,就可以重复使用、而且静态图在运行之前,可以进行优化。效率会更高。
所以Tensorflow2.0保留了静态图机制,我们可以在程序的调试阶段使用动态图,快速建立模型,调试及程序;然后在程序的部署阶段,采用静态图机制,从而提供模型的性能和部署能力。
新特性:清理整合API
新特性:全新架构设计
Tensorflow2.0的开发流程
1、使用tf.data加载数据。利用tf.feature tf.columns 进行描述特征。
2、使用tf.keras构建模型,也可以使用premade esmtimator来验证模型
如果不想从头构建模型,也可以使用tensorflow hub进行迁移学习。来训练keras和premade esmtimator的模型。
3、使用eager mode进行运行和调试。
4、Distribution Strategy来进行使用分发策略来进行分布式的训练
5、导出到SavedModel(导出模型)
6、使用Tensorflow Serving支持在本机和云端部署模型。 Tesorflow Lite针对移动设备进行模型、Tensorflow.js部署在浏览器和node server端。Other Language Binding。