
tensorflow
zcc_0015
业精于勤,荒于嬉
展开
-
tensorflow中sess.run执行原理及常见问题
1、执行原理:首先:对于sess.sun(fetch), 只有fetch里的图元素, 才会被执行, 不在fetch中的图节点是不会执行的;其次:sess.run()里面的执行顺序是按fetch列表中的元素,在计算图中的出现的先后顺序执行一次完后,最后统一输出,不会重复执行 即:fetch列表中的节点打乱时, 取出来的值依然是一次流程图计算出来的结果,不是按照fetch列表中出现的先后顺序执行。2、常见问题分析及解决: 当sess.run([a])一个元素,出...原创 2021-01-29 21:08:47 · 2611 阅读 · 0 评论 -
字符串hash分桶方法
利用hashlib的md5算法作为分桶基数,md5的字符串位数长度是固定的,这样很方便进行下一步的输出再分桶操作:import randomimport stringimport hashlibfrom operator import addfrom functools import reducefrom collections import defaultdictdef md5(key): return hashlib.md5(key.encode()).hexdigest(原创 2020-12-24 15:38:46 · 3110 阅读 · 1 评论 -
tensorflow分布式训练原理
TensorFlow从15年10月开源至今,可谓是发展迅猛,从v0.5到如今的v2.0.0-alpha,经历了无数个功能特性的升级,性能、可用性、易用性等都在稳步提升。相对来说,对于我们工业界,大家可能更关注分布式TensorFlow的发展,本文尝试梳理下分布式TensorFlow从问世到现在经历过的变迁。分布式TensorFlow运行时基本组件用户基于TensorFlow-API编写好代码提交运行,整体架构如下图所示。 Client 可以把它看成是TensorFlow前端,它支持多语.原创 2020-07-09 19:37:54 · 889 阅读 · 0 评论 -
tensorflow中的Hooks方法调用顺序
初始化:在创建一个MonitoredSession时,会按顺序执行以下操作:调用[Hooks]列表中每一个Hook的begin()函数 通过scaffold.finalize()完成图graph的定义 创建会话 用Scaffold提供的初始化操作(op)来初始化模型 如果给定checkpoint_dir中存在checkpoint文件,则用checkpoint恢复变量 启动队列线程 调用hook.after_create_session()Run:当调用run()函数时,按顺序执...原创 2020-06-24 14:09:41 · 1240 阅读 · 0 评论 -
Jupyter调试tensorflow多模块代码技巧
背景: 现在有一个main模块,main模块引用了不同文件夹下的其他模块,如何在jupyter下快速调试。解决办法:1、将main,引用的其他模块,可以作为单独的cell,复制进去,然后从main入口,run all。2、将main模块在jupyter中重新生成对应的.ipynb文件,可以在jupyter里直接运行,将其他模块可以upload进jupyter里, ...原创 2020-04-24 15:48:28 · 481 阅读 · 0 评论 -
利用tensorflow的VocabularyProcessor增量更新词汇表
1、背景在初版模型,基于训练数据集,利用VocabularyProcessor构建了词汇表,存储文件为old_vocab.pickle。在以后的增量更新中如何把已经保存的上版词汇加载上,同时加入增量中的新词汇,最终形成一版新的词汇。而tf中的VocabularyProcessor没有提供增量更新的api。2、解决办法利用VocabularyProcessor已经提供的接口,vo...原创 2020-02-27 11:14:59 · 690 阅读 · 0 评论