- 博客(5)
- 资源 (5)
- 收藏
- 关注
原创 tensorflow内存分配器剖析
tensorflow基于Doug Lea的malloc实现了自己的一套内存分配器.(简易版本的dlmalloc)通过合并的方式减少内存碎片.前提是假设使用这个分配器的进程拥有很大的内存,并且所有的内存分配请求都是通过这个接口. 代码路径: core/common_runtime/bfc_allocator.h关键数据结构以及变量含义: Chunk:指向一块内存,prev/next指针组成了一个
2017-11-24 14:59:46 1217 1
原创 tensorflow分布式运行时组件剖析
本节主要研读core/distributed_runtime目录.集中为分布式多节点之间通信,全局资源分配/管理,资源调度等问题.mgr: base_rendezvous_mgr: rendezvous_mgr_interface.h cluster_function_library_runtimegraph_mgr partial_run_mgr session_mgrmaster_se
2017-11-23 20:31:43 1900
原创 slurm提交Tensorflow任务实现
主要目的目前tensorflow单机多卡模式可以参考tutorial很容易使用,但是如果想在集群多节点搭建分布式tensorflow训练任务部署,官方没有一个很好的示例代码,只能通过很naive的方法,指定ps node/worker node,在不同的节点分别执行对应的程序来实现多机协同训练模型的效果.这种方式对于集群环境,存在大量节点的情况就显得非常的不方便.本文是基于slurm集群资源管理工具
2017-11-21 14:07:34 3136
原创 TensorFlow计算图优化代码剖析
代码路径:tensorflow/core/grappler/optimizers 其中meta_optimizer.cc中的RunMetaOptimizer方法的调用触发对图的不同类型的优化操作.优化操作分为一下几类: 1. pruning.裁剪,比如移除一些无用的操作(一旦图建立之后不再使用的stop gradient节点以及Identity节点),优化梯度计算. 2. constfo
2017-11-20 16:52:05 4757
原创 Tensorflow中Device实例的生成和管理
关键术语描述kernel在神经网络模型中,每个node都定义了自己需要完成的操作,比如要做卷积、矩阵相乘等。而实现这个操作的算法,我们单独抽象出来,叫做kernel。 可以将kernel看做是一段能够跑在具体硬件设备上的算法程序,所以即使同样的2D卷积算法,我们有基于gpu的Convolution 2D kernel实例、基于cpu的Convolution 2D kernel实例。device负
2017-11-15 19:55:42 2507
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人