zoukankan      html  css  js  c++  java
  • tensorflow core 核心目标依赖图

    Tensorflow的核心代码在core模块中,56w行的代码量让人望而生畏,熟悉了bazel工具之后,发现BUILD文件是理清代码结构的很好的资源,但使用bazel query语法提取出来//tensorflow/core:tensorflow目标包含了9k多个依赖关系,即便画出了依赖关系图,可读性也非常差。由于目前仅关心核心实现,平台依赖和测试相关的目标暂时不用理会,这样剩余的依赖关系就会大量减少,笔者整理了一份,并用graphviz进行可视化,结果如下。

    请注意,我做出了以下取舍,第一,舍弃了平台依赖性相关的目标,第二,舍弃了测试相关目标,第三,舍弃了对第三方库的依赖,第四,对相似目标进行了整合,比如xx_op中用xx表示具体操作名称,在image_format_internal中,使用image_format来代替gif、jpeg、png等。

    另外,推荐一个bazel query命令,用于查找两个目标之间的依赖路径,bazel query "somepath(//tensorflow/core:tensorflow, //tensorflow/core:framework_internal)" --output graph | dot -Tpng -o framework_internal.png,得到的结果如下:

  • 相关阅读:
    day10_发送邮件终极版
    day10_发送带附件的邮件
    day10_发送普通邮件
    day10_多线程性能测试
    day10_虚拟环境和搭建测试环境的步骤
    codeforces 877B
    codeforces 982C Cut 'em all! (dfs)
    洛谷P1171 售货员的难题 dp
    点集配对问题
    codeforces 891A Pride (数学)
  • 原文地址:https://www.cnblogs.com/jicanghai/p/9464464.html
Copyright © 2011-2022 走看看