Tensor Flow 深度框架的学习(第二天)

第二天的学习内容:

        1.Tensor Flow 技术特性:

       (1).编程模型:数据流模型

       (2).语言:python、C++、Go、Rust、Java等

       (3).部署:Code once,run everywhere(一次编写,各处运行)

       (4).计算资源:CPU(中央处理器,超大规模的集成电路)、GPU(图形处理器,用于个人电脑、游戏机和一些移动设备上图像运算工作的微处理器)、TPU(Tensor Processing Unit,张量(在计算图的边中流动的数据)计算单元,主要用作推断->谷歌为深度学习计算定制的芯片)

       (5).实现方式:单机实现和分布式实现

       (6).平台支持:谷歌云平台、Hadoop(由Apache基金会所开发的分布式系统基础框架)分布式文件系统

       (7).数字表达:数学计算图表达、自动微分(不太明白,求指点

       (8).优化:共同子图消除(没弄懂)、异步核(不同的核心可以以相同或不同频率执行处理指令,不需要两个一起开动来完成一个任务(同步核))优化、通信优化、模型并行、数据并行、流水线

      2.TensorFlow 核心概念:

扫描二维码关注公众号,回复: 2256016 查看本文章

        原文理解:

                (1).在计算图的边中流动(flow)的数据称为张量(tensor),得名TensorFlow。

                (2).TensorFlow中的计算可以表示为一个有向图或计算图(计算图可以由用户用Python、C++、Go、Java等语言进行设计),其中每一个运算操作将作为一个节点,节点与节点之间的连接称为边。

                (3).计算图中每一个节点可以有任意多个输入和输出,每一个节点描述了一种运算操作,节点算是运算操作的实例化。

                (4).边中流动的数据(tensor)的数据类型可以是事先定义的,也可以根据计算图的结构推断得到。

                (5).依赖控制(control dependencies)这种特殊边中没有数据流动,目的是让他的起始节点执行完之后再执行目标节点(?),用户可以使用这样的边进行灵活的条件控制。

                (6).一个运算操作(可以有自己的属性,但是属性必须事先设置或可被推断)代表了一种类型的抽象运算,通过设置运算操作的属性可以用来支持不同的tensor元素类型。

                 (7).运算核(kernel)是一个操作运算在某个具体硬件(如CPU或GPU)中的实现

                 (8).可通过注册机制加入新的运算操作或者运算核

                 (9).Session是使用tensorflow的交互式接口,用户使用Session的Extend添加新的节点和边用以创建计算图,然后用Session的Run执行运算图。用户只需要给出需要计算的节点,同时提供输入数据。

                (10).大多数运算中,计算图被反复执行多次,但是数据(tensor)并不会被持续保留,只是在计算图中过一遍。—>Variable是一类特殊的运算操作,它可以将一些需要保留的tensor存储在内存或显存中,同时在计算过程中,这些tensor也会被更新。



猜你喜欢

转载自blog.csdn.net/weixin_42554580/article/details/80878788