摘要:
文章索引 framework解析 "resource" "allocator" "tensor" "op" "node" "kernel" "graph" "device" "function" "shape_inference" "拾遗" common_runtime解析 "device" "se 阅读全文
摘要:
目录 1. 核心概念 2. direct_session 1. direct_session.h 2. direct_session.cc 1. 核心概念 读过之前文章的读者应该还记得,session是一个执行代理。我们把计算图和输入交给session,由它来调度执行器,执行计算产生结果。TF给我们 阅读全文
摘要:
目录 1. 核心概念 2. executor.h 1. Executor 2. NewLocalExecutor 3. ExecutorBarrier 3. executor.cc 1. structs 2. GraphView 3. ExecutorImpl 4. ExecutorState 5. 阅读全文
摘要:
目录 1. 核心概念 2. executor.h 1. Executor 2. NewLocalExecutor 3. ExecutorBarrier 3. executor.cc 1. structs 2. GraphView 3. ExecutorImpl 4. ExecutorState 5. 阅读全文
摘要:
目录 1. 核心概念 2. graph_optimizer 3. function 4. optimization_registry 1. 核心概念 本篇主要讲图的优化迭代器。我们在构建原始图的时候,专注于达到目的,但不会去考虑图的执行效率。如果把图的设计过程比喻为高级语言的编写,那么图的优化过程就 阅读全文
摘要:
目录 1. 核心概念 2. session 3. session_factory 1. 核心概念 session可以认为是一个执行代理。我们在客户端构建计算图,提供输入,然后把计算图丢给session去执行。因此,session应该具备一定的执行功能。另外TF还提供了session的工厂类,sess 阅读全文
摘要:
目录 1. 核心概念 2. device 3. device_factory 4. device_mgr 5. device_set 1. 核心概念 在framework部分,我们介绍了DeviceAttributes和DeviceBase两个结构,这些其实是为了我们今天要介绍的Device类做准备 阅读全文
摘要:
目录 1. 什么是形状推断 2. InferenceContext 3. 关系图 4. 涉及的文件 5. 迭代记录 1. 什么是形状推断 前面我们讲到op的时候,提到了操作的注册器OpRegistry,并且提到,其中注册的数据是一个结构OpRegistrationData,这个结构中除了OpDef之 阅读全文
摘要:
目录 1. 什么是function 2. FunctionDef 3. 函数相关类 4. 关系图 5. 涉及的文件 6. 迭代记录 1. 什么是function 在讲解function的概念之前,我们要先回顾下op。op是规定了输入和输出的操作声明,在研究node的时候我们也看到,NodeDef是包 阅读全文
摘要:
目录 1. 什么是设备 2. 设备属性描述 3. device_base 4. 关系图 5. 涉及的文件 6. 迭代记录 1. 什么是设备 “设备”是一个很容易引起混淆的概念,在TF中,设备device专指能够执行实际计算的计算设备,比如CPU,GPU,SYNC设备等等。因此,一定要跟机器的概念区分 阅读全文