目录

概述

发展历史

数据流图

基本架构


概述

Tensor Flow是谷歌Google Brain实验室维护开发的,它于2015年11月9日发布第一个初始版本,遵循Apache 2.0开源协议,经过变迁第一个稳定版本是1.12.0在2018年10月9日发布,它支持跨平台能够在WIn、Linux、Unix上稳定运行。Tensor Flow Lite是Tensor Flow的一个分支,它基于Tensor Flow,它的目标是在移动设备、最小单片机设备上运行,所以它被设计的非常简洁,它也被简称为tflite,除了Tensor Flow Lite以外还有TensorFlow Hub、TensorFlow Research Cloud,这些分支都是针对不同的环境研发的。

Tensor Flow强大的地方在于它内置了许多深度学习算法框架模型,比如keras,目前Keras作者已经加入谷歌了,所以Keras目前可以说是谷歌官方API,若我们直接去使用这些开源框框架的话对初学者不是那么友好,使用起来较为复杂,但经过Tensor Flow的一层封装后使得模型统一使用流程图的方式,变得简单了许多,并且它也提供了许多推荐参数,所以大多数的参数我们是不需要自己去设置的。

AlphaGo就是基于Tensor Flow训练的

发展历史

Tensor Flow是谷歌旗下的Google Brain实验室开发的,Google Brain是谷歌旗下专门研发AI算法与框架的实验室,它是由Python、C++、C三款语言开发而成,它目前对Python支持API最全面,最完善,对C++的API接口支持并没有Python完善,同时它也支持Java不过目前仅是实验版本,支持的API接口非常有限。

Google Brain于2015年11月9号发布第一个Bate版本,历经3年左右时间迭代研发在2018年10月9日推出了第一个完整AI生态链的AI框架:1.12.0,Tensor Flow支持CPU与GPU运算,甚至支持可以选用多少核来做训练运算,对GPU的运算使用了CUDA框架,CUDA是NVIDIA(英伟达)开发的一套用于在NVIDIA显卡上进行并行运算的架构,GPU的运算效率要高于CPU,因为它不需要像CPU那样去处理大量的指令集,它只需要去处理运算数据就可以了,因为它的工作仅仅是显示图像,随着计算机的发展GPU的能力已经提升至非常强大了,所以只用来做图像数据的处理显然有点屈GPU了,所以GPU厂商开放了对GPU控制的API接口,用于开发者们来调用GPU做运算,由于Tensor Flow仅支持CUDA加速所以如果想要在GPU上进行Tensor Flow的训练必须要求你的GPU是支持CUDA的。

真正让Tensor Flow闻名的是AlphaGo,谷歌使用Tensor Flow训练了AlphaGo,并在2016年开始向各大围棋高手进行挑战,并取得最终胜利。

数据流图

Tensor Flow从名字就可以看出它的中心思想是什么,tensor:张量(即多维数组),flow :流动,即多维数据流动式的处理,就像水一样从一端起点流向另外一端终点在流动的过程中会每流动一次进行一次运算,其中每次处理都视为一个节点,所以这个流程很像流程图,所以Tensor Flow把这种处理数据的方式称为数据流图,这也是Tensof Flow的核心所在,只要数据能够转化为向量那么Tensor Flow就可以按照数据流的方式对它进行处理。

从上图需要理解一个东西叫做:,边即起始输入数据源,上图的Input A与B都是边,即最外边最开始的视图节点称为边,后续的称为运算节点,一般边就是输入的向量。

从边出发选择流动的方向,如“A”流动到“D”同时也会流动到“C”,最终流动到”E“,B也是如此,这些流动的顺序需要注意在一开始就已经在代码里定好的,是有序的流动,它不是无序的流动。

Tensor Flow会用结构体将每个要处理的向量数据存储到子成员变量中,然后在用类似链表指针的方式指向每个向量数据要处理的下一层要执行的函数,最后开始调用一层一层往下走,需要注意它不是无序的。

你可以把数据流图理解为Tensor Flow执行顺序的一个流程可视化,其次每次的数据传递都会是一个副本!

从上图还可以看到有许多分叉的连接与直线,直线是直接依赖,分叉线是间接依赖,可以看到“D”直接依赖于“B”,间接依赖于“A”,如果其中有一条依赖不满足都不会去执行“D”,这在流程图较大的情况下非常有效,可以有效省去一些不满足依赖的运算,比如我只想执行流程图中“D”节点,只需要满足“D”的依赖就可以了,其它的依赖一律不管,这样Tensor Flow在执行流程图时会自动判断依赖条件,选择性的执行节点。

基本架构

可以看到最底层API是C语言写的,这也代表Tensor Flow的移植性非常高

什么是Tensor Flow和lite以及数据流图相关推荐

  1. 基于Zephyr在微型MCU上使用Tensor Flow Lite Micro做图像分类

    首先需要保证你已经拥有了一个图像分类的模型. 其次我们需要Zephyr RTOS. 这些可以参考如下文章: 基于Stm32F746g_disg平台下移植zephry使用TinyML预测模型_17岁bo ...

  2. Tensor Flow V2:基于Tensor Flow Keras的摄氏度到华氏度温度转换的训练模型

    理论知识 ​​​​​​神经网络全连接层详解_17岁boy的博客-CSDN博客 什么是Tensor Flow和lite以及数据流图_17岁boy的博客-CSDN博客 什么是Keras? Keras是一个 ...

  3. TinyML与Tensor Flow Lite的关系

    目录 发展历史 简介 Tensor Flow Lite for Microcontrollers 主要模块 发展历史 Tensor Flow Lite是针对移动设备以及可穿戴设备领域的深度学习框架,是 ...

  4. Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite

    目录 H5模型文件介绍 Tflite模型文件介绍 转换代码 H5模型文件介绍 h5文件全称HDF5,是Tensor Flow2.0新增的文件模型,它保存了训练时的所有参数包括权重等特征信息,与其它模型 ...

  5. python输入参数改变图形_Python基于Tensor FLow的图像处理操作详解

    本文实例讲述了Python基于Tensor FLow的图像处理操作.分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以对现有的图片数 ...

  6. python图像处理教程_Python基于Tensor FLow的图像处理操作详解

    本文实例讲述了Python基于Tensor FLow的图像处理操作.分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以对现有的图片数 ...

  7. Tensor Flow量化里representative_dataset参数是什么意思?

    原理 representative_dataset是代表性数据集的意思,一般我们取的是validation的那一段数据集,它的作用是用于校准或估计模型中所有浮点数组(如模型输入.中间层激活输出和模型输 ...

  8. 实验室服务器机器学习环境搭建(远程连接服务器 anaconda和tensor flow)

    实验室服务器环境搭建 背景 通过VPN远程连接服务器 下载anaconda tensorflow 搭建 背景 本人今年大四保完研,研究生导师要求在对方学校做毕设,这两天在倒腾实验室服务器环境,下面是我 ...

  9. python中tensorflow_Python Tensor FLow简单使用方法实例详解

    本文实例讲述了Python Tensor FLow简单使用方法.分享给大家供大家参考,具体如下: 1.基础概念 Tensor表示张量,是一种多维数组的数据结构.Flow代表流,是指张量之间通过计算而转 ...

最新文章

  1. 会话中的存储技术和一些细节
  2. 算法----删除链表中的节点(Java)
  3. Makefile中的变量和shell变量
  4. 重新考虑数据中心的冷却方案—水冷却或将再次兴起
  5. C++ Primer 5th笔记(chap 19 特殊工具与技术)类成员指针
  6. babymips(上) 寒假逆向生涯(14/100)
  7. [SQL] 查找数据库中含有某字段的所有表
  8. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本
  9. 派单o2o全开源版 v11.6.0 全新UI版 修复短信问题 小程序模块
  10. VC++2012编程演练数据结构《35》多路平衡归并
  11. 华为模拟器ensp代码错误2,41,40问题的解决
  12. 9 线性表-队列-链式存储
  13. 网易云解锁灰色音乐PC、移动端都可用。
  14. spss和python stata matlab_毕业季:计量经济学实证研究中,哪款软件好(SPSS,Eviews,Matlab,stata,SAS)...
  15. 神州数码IPv6路由怎么配置?
  16. UVA - 12235 Help Bubu 概率dp 状态压缩 记忆化搜索
  17. window.open 卡死
  18. R Shiny module学习笔记
  19. 如何提高亚马逊排名?亚马逊排名规则有哪些?
  20. 为网站配置免费的HTTPS证书 4-4

热门文章

  1. 云服务器可以用来做什么?有什么用途?
  2. 云计算学习笔记:基于阿里云ECS服务器搭建云上博客WordPress教程(详细图文版)
  3. dataguard日志传输模式解析_日志系统:从ELK到EFK的演进
  4. omni rpc python生成地址_python编辑图形界面单一功能MAC随机地址生成
  5. ubuntu18.04安装mysql8.0中遇到的问题及解决方法
  6. linux下python脚本处理数据_在Linux中通过Python脚本访问mdb数据库的方法
  7. php接口模式,PHP设计模式 - 流接口模式
  8. python怎么开发gui程序_第一个GUI程序
  9. 自动生成html_python自动化测试中pytest的使用
  10. MySQL__数据处理之查询