如何在 TensorFlow 中从 XLA 获取 LLVM IR 转储?

2024-02-24

我正在尝试获取 TensorFlow 中 XLA 编译器生成的 LLVM IR。我知道整个 LLVM 上下文包含在llvm_module目的。然后使用实用函数将其转换为字符串llvm_ir::DumpModuleToString(*llvm_module)函数在Compile()文件中的函数://tensorflow/compiler/xla/service/cpu.cpu_compiler.cc.

但我一直在尝试使用它来记录它VLOG(2) from tensorflow/core/logging.h。没有显示日志。但是,其他文件中剩余的 VLOG(2) 语句会记录在我的 Python 运行中。

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
2017-03-10 22:36:43.226843: I tensorflow/compiler/xla/service/platform_util.cc:58] platform Host present with 8 visible devices
2017-03-10 22:36:43.227931: I tensorflow/compiler/xla/service/service.cc:183] XLA service 0x2821510 executing computations on platform Host. Devices:
2017-03-10 22:36:43.227951: I tensorflow/compiler/xla/service/service.cc:191]   StreamExecutor device (0): <undefined>, <undefined>
b'Hello, TensorFlow!'

[仅供参考,我无法发表评论,因为我刚刚加入,显然还没有声誉。]

首先,请务必阅读本文,包括带星号的蓝色框。特别注意,为整个会话打开 XLA 目前仅对 GPU 执行 JIT,而不是对 CPU 执行 JIT。https://www.tensorflow.org/performance/xla/jit https://www.tensorflow.org/performance/xla/jit

现在假设您已正确设置所有内容。您的示例中的程序不会使用 XLA 进行编译,原因有两个:

  1. 正如 @mrry 所指出的,XLA 不处理字符串。
  2. 即使您将字符串替换为数字,您仍然看不到任何 IR 转储,因为它只是一个常量,XLA 会将其常量折叠起来。

在您提到在 mnist_softmax 上运行的评论中,大概遵循上面链接上的说明。如果您确实在 CPU 上编译和运行,那么唯一剩下的问题是使用 VLOG(2)。仅当您设置命令行标志将其打开时,VLOG 才会启用。

因此,尝试将 VLOG(2) 替换为 LOG(INFO),您应该会在日志中看到 IR 转储。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 TensorFlow 中从 XLA 获取 LLVM IR 转储? 的相关文章

  • 使用“Any CPU”而不是“X86”编译wix项目

    当我编译一个wix项目 并且wix通过MSbuild启动所有现有项目的编译时 我可以使用 任何CPU 而不是 X86 或 64位 吗 如果没有 我如何使用 任何CPU 编译项目 如果您的问题是是否可以编译 WIXPROJAny CPU那么答
  • 这可能是因为 cuDNN 初始化失败,因此请尝试查看上面是否打印了警告日志消息。 [操作:Conv2D]

    我在 anaconda 中安装了 TensorFlow GPU 2 0 当我安装它并导入包 然后运行我的 CNN 模型时 它工作正常 但当我尝试运行训练模型时 出现错误 这是我的错误报告 Epoch 1 50 UnknownError Tr
  • 如何在 Keras 中将多个数据集与一个模型一起使用?

    我正在尝试使用 LSTM 网络通过 Keras 和 Tensorflow 进行外汇预测 我当然希望它能够在很多天的交易中进行训练 但要做到这一点 我必须给它提供具有大跳跃和无运动阶段的连续数据 当市场收盘时 这并不理想 因为它变得由于这些跳
  • TensorFlow:有没有办法将冻结图转换为检查点模型?

    可以将检查点模型转换为冻结图 ckpt 文件转换为 pb 文件 但是 是否有反向方法将 pb 文件再次转换为检查点文件 我想它需要将常量转换回变量 有没有办法将正确的常量识别为变量并将它们恢复回检查点模型 目前支持将变量转换为常量 http
  • Native TF 与 Keras TF 性能比较

    我使用本机和后端张量流创建了完全相同的网络 但在使用多个不同参数进行了多个小时的测试后 仍然无法弄清楚为什么 keras 优于本机张量流并产生更好 稍微但更好 的结果 Keras 是否实现了不同的权重初始化方法 或者执行除 tf train
  • 从tensorflow_cc和tensorflow_framework生成静态库

    据我了解 使用 bazel 我只能生产libtensorflow cc so and libtensorflow framework so 我需要生产静态库与位置无关 fPIC 因为稍后我会将它们链接到我自己的动态库 I found 这个答
  • Keras ImageDataGenerator 相当于 csv 文件

    我在文件夹中排序了一堆数据 如下图所示 我需要构建一个 DataIterator 以便将数据放入神经网络模型中 当数据是图像时 我找到了很多例子来解决这个问题 使用 Keras 类图像数据生成器及其方法流自目录 但当数据是 csv 结构时则
  • 预训练 inception v3 模型的层名称(tensorflow)[重复]

    这个问题在这里已经有答案了 任务是获取a的每层输出预训练的 cnn inceptionv3 https www tensorflow org versions master tutorials image recognition index
  • 安装tensorflow的正确命令

    当尝试在 Anaconda 上安装 Tensorflow 时 我尝试了两种类型的命令 conda install tensorflow gpu工作得很好 然而 当尝试conda install c anaconda tensorflow g
  • Keras ZeroDivisionError:整数除法或以零为模

    我正在尝试使用 Keras 和 Tensorflow 实现卷积神经网络 我有以下代码 from keras models import Sequential from keras layers import Conv2D MaxPoolin
  • 在后台从 gVim 运行 :make

    我在 Windows 中使用 gVim 来编辑我的代码 主要是 C 我在 gVim 中使用 make 来编译项目 但这是一个阻塞操作 在编译完成之前我无法使用 gVim 我怎样才能异步执行 make 并仍然获得将错误读回 Vim 并跳转到源
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • Tensorflow conv2d_transpose 大小错误“out_backprop 的行数与计算的不匹配”

    我正在张量流中创建一个卷积自动编码器 我得到了这个确切的错误 tensorflow python framework errors InvalidArgumentError Conv2DBackpropInput Number of row
  • f951 错误:无法识别的命令行选项

    我在linux上 正在编译以下内容 mpif90 shared source F90 object1 o object2 o L some path Qoption link rpath some path I some path lhdf
  • 在相同任务上,Keras 比 TensorFlow 慢

    我正在使用 Python 运行斩首 DCNN 本例中为 Inception V3 来获取图像特征 我使用的是 Anaconda Py3 6 和 Windows7 使用 TensorFlow 时 我将会话保存在变量中 感谢 jdehesa 并
  • TensorFlow:在训练时更改变量

    如果我将输入管道从 feed dict 更改为 tf data dataset 如何在每次迭代后的训练期间更改网络内参数的值 澄清一下 旧代码看起来像这样 Define Training Step model is some class t
  • Tensorflow 中的图像叠加图像卷积

    假设我有两组图像 A 和 B 每个图像都是 11X5x5x3 其中 11 是示例数量 5x5x3 是图像尺寸 Tensorflow 中是否有一种简单的方法可以对 A i 中的每个图像应用 B i 上的卷积 即 B i 扮演过滤器角色 A i
  • 在 MacOS 10.9 (Mavericks) 上构建 Boost.Python 应用程序

    我升级到 Mavericks 经过多次故障排除后现在无法构建我的应用程序 在链接过程中 我收到错误 Undefined symbols for architecture x86 64 boost python objects functio
  • tf.gather_nd 直观上是做什么的?

    你能直观地解释一下或者举更多例子吗tf gather nd用于在 Tensorflow 中索引和切片为高维张量 我读了API https www tensorflow org api docs python tf gather nd 但它保
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真

随机推荐