Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 如何从TLA中获得XLA的LLVM IR转储? 我试图得到TensorFlow XLA编译器生成的LLVM IR。我知道整个LLVM上下文都包含在LLVM_模块对象中。然后,在文件://tensorflow/compiler/xla/service/cpu.cpu\u compiler.cc中的Compile()函数中,使用实用程序函数llvm\u ir::DumpModuleToString(*llvm\u module)将其转换为字符串_Compilation_Tensorflow - Fatal编程技术网

Compilation 如何从TLA中获得XLA的LLVM IR转储? 我试图得到TensorFlow XLA编译器生成的LLVM IR。我知道整个LLVM上下文都包含在LLVM_模块对象中。然后,在文件://tensorflow/compiler/xla/service/cpu.cpu\u compiler.cc中的Compile()函数中,使用实用程序函数llvm\u ir::DumpModuleToString(*llvm\u module)将其转换为字符串

Compilation 如何从TLA中获得XLA的LLVM IR转储? 我试图得到TensorFlow XLA编译器生成的LLVM IR。我知道整个LLVM上下文都包含在LLVM_模块对象中。然后,在文件://tensorflow/compiler/xla/service/cpu.cpu\u compiler.cc中的Compile()函数中,使用实用程序函数llvm\u ir::DumpModuleToString(*llvm\u module)将其转换为字符串,compilation,tensorflow,Compilation,Tensorflow,但是我一直试图使用tensorflow/core/logging.h中的VLOG(2)记录它。没有显示任何日志。但是,来自其他文件的其余VLOG(2)语句记录在我的Python运行中 >>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() >>> print(sess.run(hello

但是我一直试图使用
tensorflow/core/logging.h
中的
VLOG(2)
记录它。没有显示任何日志。但是,来自其他文件的其余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!'
>>将tensorflow作为tf导入
>>>hello=tf.constant('hello,TensorFlow!')
>>>sess=tf.Session()
>>>打印(sess.run(hello))
2017-03-10 22:36:43.226843:I tensorflow/compiler/xla/service/platform_util.cc:58]平台主机上有8个可见设备
2017 03-1022:36:43.227931:I TysFult/Cyp/XLA/Service / Service .CC:183)XLA服务0x228 1510在平台主机上执行计算。设备:
2017-03-10 22:36:43.227951:I tensorflow/compiler/xla/service/service.cc:191]流执行器设备(0):,
“你好,TensorFlow!”

[仅供参考,我不能留下评论,因为我刚刚加入,显然还没有什么名气。]

首先,请务必阅读此内容,包括带星星的蓝色方框。特别注意,在整个会话中打开XLA只执行GPU的JIT,而不是CPU。

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

正如L.@ MRY所指出的,XLA不处理字符串。 即使你用一个数字替换字符串,你仍然不会看到任何IR转储,因为它只是一个常数,XLA会不断地折叠它。 在您提到的在mnist_softmax上运行的评论中,大概是按照上面链接上的说明进行的。如果您确实是在CPU上编译和运行,那么剩下的唯一问题就是使用VLOG(2)。只有在设置命令行标志以启用VLOG时,才会启用VLOG


请尝试用日志(信息)替换你的Vlog(2),你应该在你的日志中看到IR转储。>P/>我想这里有两个东西漏掉了:(1)XLA目前不(处理我的知识)处理字符串,所以这个程序不太可能被XLA编译,和(2)我认为您必须显式指定XLA设备或<代码> JITyTeCopeEnter()/Script >以使XLA编译子图。文档有更多信息。我也尝试在页面上给出的
mnist\u softmax
示例上运行它。无济于事。我刚从源代码中重建了tensorflow并重试。我认为XLA没有被调用。chrome://tracing 没有显示XLA模块。更新:我在ARCH Linux机器上运行。现在在docker内部运行。XLA确实被调用。(可以查看
\u XlaCompiledKernel=true
标志和内容)。但仍然没有IR转储。工作起来很有魅力:)我其实在等你看这篇文章,谢谢!TensorFlow社区的反应非常好!好吧,我又搞糊涂了。一次执行中有多个IR转储。这是因为XLA是在计算的子图上调用的吗?如果(是)-那么我怎样才能让XLA在整个图表上运行?[NeBie]在这里,ANNANYA25你能指给我一个差异/补丁,在那里你可以转储IR?