问题标签 [tensorflow-xla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - TensorFlow:XLA 未运行并出现“无效参数:无 _XlaCompile”错误
我正在尝试此处描述的 XLA 教程:https ://www.tensorflow.org/performance/xla/jit
我使用以下选项mnist_softmax_xla.py
从https://raw.githubusercontent.com/tensorflow/tensorflow/r1.1/tensorflow/examples/tutorials/mnist/mnist_softmax_xla.py运行:
TF_CPP_MIN_VLOG_LEVEL=2 TF_XLA_FLAGS='--xla_generate_hlo_graph=.*' python mnist_softmax_xla.py
不幸的是,我在输出中收到一堆“自定义创建者错误:无效参数:没有 _XlaCompile for Const”错误(对于所有其他类型的操作也是如此)。此外,没有创建 hlo_graph_xx.dot 文件(正如教程所说的那样)。
我的 python 安装是 Ubuntu 16.04 LTS 上的 Anaconda 4.3.1 (Anaconda3-4.3.1-Linux-x86_64.sh)。
TensorFlow 是使用以下命令从源代码编译的 1.1.0 版本:
为什么 XLA 不适用于此设置?
如何使用有效的 XLA 安装 TensorFlow?
tensorflow - 如何在张量流中使用 xla 和 c++ api
Tensorflow 提供了一种通过 XLA 运行 tensorflow 图的方法,但是它没有提到如何使用 c++ api 通过 XLA 运行 tensorflow 图。有人可以给我一些建议吗?
tensorflow - 是添加维度广播吗?
给定
以下所有内容都是等效的
并生产
我知道这是对(此处)bb
对应的值的“广播bbb
” 。是增加了一个维度,转化为所有广播的价值,还是别的什么?tf.add
+
b
bbb
tensorflow - Tensorflow XLA“ComputeConstant 的操作数取决于参数。”
我正在尝试使用 XLA 通过 JIT 编译运行我的 Tensorflow 程序。我想了解它产生的编译计算图。但是,当它无法运行时,使用:
在文档中它说“如果无法编译运算符,TensorFlow 将默默地退回到正常的实现。” 那么为什么这次运行失败了呢?什么时候不能使用 XLA 编译?
作为参考,我在 OS X 上并从启用 XLA 的源代码编译了 Tensorflow r1.1。
我正在尝试编译的文件可在此处获得。
tensorflow - 在启用 XLA 且没有 GPU 的情况下运行从源代码构建的 Tensorflow 时出错
我在启用 XLA 和禁用 GPU 的情况下从源代码构建并安装了 tensorflow(基本上我在通过 ./config 配置时选择了 N,除了 XLA 启用为 Y)。在构建时有很多关于不推荐使用的语法的警告。但构建成功。我能够导入 tensorflow 并在会话中运行基本打印命令。但是,当我尝试进行一些计算(例如简单的加法)时,它给了我以下错误:
2017-06-28 15:09:22.366052: F tensorflow/compiler/xla/statusor.cc:41] 尝试获取值而不是处理错误未找到:找不到平台执行器的注册计算放置器 - 检查目标链接已中止
我做了一些调试,这个错误发生在从 client/sessions.py:1262 到 pywrap_tensorflow 的调用之后:
tf_session.TF_Run(会话,选项,feed_dict,fetch_list,target_list,状态,run_metadata)
所以我相信这是因为它无法链接到 _pywrap_tensorflow_internal.so。您能否对此提供任何解决方案,或者这里有什么问题吗?这阻碍了我的进一步任务,因此感谢您提供任何帮助!
感谢和问候
tensorflow - TFR记录读取变慢
我已将数据集划分为 10 个 tfrecords 文件,我想从每个文件中读取 100 个数据点,以创建一批 10 个 100 个数据点的序列。我使用以下函数来做到这一点。来自 tfrecords 的数据加载时间开始缓慢,然后达到大约 0.65 秒,在 100-200 sess.run 调用后增加到大约 10 秒。您能否指出任何可能有助于减少阅读时间的错误或建议?此外,我提到的行为有时会变得更加不稳定。
即使我按如下方式从单个文件中提取,我也观察到相同的行为。此外,增加 num_threads 也无济于事。
tensorflow - 第一次 tf.session.run() 的执行与后来的运行截然不同。为什么?
这里有一个例子来说明我的意思:
First session.run():
First run of a TensorFlow session
later session.run():
TensorFlow session 的后续运行
我知道 TensorFlow 在这里进行了一些初始化,但我想知道它在源代码中的哪个位置。这发生在 CPU 和 GPU 上,但在 GPU 上效果更突出。例如,在显式 Conv2D 操作的情况下,第一次运行在 GPU 流中具有大量的 Conv2D 操作。事实上,如果我改变 Conv2D 的输入大小,它可以从几十到几百个流 Conv2D 操作。然而,在以后的运行中,GPU 流中始终只有五个 Conv2D 操作(无论输入大小如何)。在 CPU 上运行时,我们在第一次运行时保留了与以后运行相同的操作列表,但我们确实看到了相同的时间差异。
TensorFlow 源代码的哪一部分是造成这种行为的原因?GPU 操作在哪里“拆分”?
谢谢您的帮助!
security - 张量流 - XLA | 在运行时将张量传递给外部函数
我正在测试一个将某些敏感计算卸载到安全环境中的库。Tensorflow 是我和我的团队有兴趣移植的一个应用程序,特别是与 XLA 一起工作。我的团队没有成功添加执行卸载的 TF 操作。
为了让它与 XLA 一起工作,我需要通过库提供的 API 插入向该库发送和接收数据的 XLA 操作。我的理解是这些XLA ops必须添加到tensorflow/compiler/tf2xla/下TF ops到XLA ops的翻译中。我猜 ComputationBuilder 定义中列出的操作是可用的 XLA 操作,调用外部函数目前不是其中之一。
是否可以添加这样一个可以降低到 llvm 调用指令的 XLA 操作?还是可以通过其他方式?
请分享你的想法。
谢谢 !
PS:请注意,我使用 LLVM 的经验比使用 tensorflow 的经验要多。
tensorflow - 张量流 - XLA | TF ops 如何降低到 XLA 进行训练
在训练期间如何将 tensorflow 操作降低到 XLA 操作?
tensorflow/compiler/tf2xla/kernels 下的文件仅根据 ComputationBuilder 中的操作定义前向传递/推理。
这个问题与“ Tensorflow - XLA | 在运行时将张量传递给外部函数”有关,因为我需要降低到 XLA 操作的 TF 操作在训练和推理期间传递张量。也请分享您对另一个问题的看法。
谢谢
python - 虚拟批范数的两种实现导致两种不同的结果
入门问题:
两个示例代码都应该导致不同的训练行为(任何损失/任何优化器)吗?
我的真实案例场景:
我正在尝试实现虚拟批处理规范,我有两个实现方式不同,它们的行为方式受到改进的 gan repository的广泛启发。此处显示的两种实现都进行了简化,以保留它们之间的主要差异。
第一次实现:
一切似乎都正常,验证和训练准确率收敛,损失下降。
第二次实施
这里只有训练收敛(但曲线与第一次实现略有不同),而验证损失增加并且准确性保持在随机猜测。
作为细节问题,我使用的是 GPU,启用了 XLA 的 tensorflow 1.2.1。任何线索我做错了什么?
编辑:
所以我尝试比较两个输出模型,并查看梯度(使用compute_gradients),以避免权重(然后是梯度)共享我在两个不同的范围内构建模型并分别加载相同的权重(来自先前训练的模型)在这两种型号上。
如果我只使用,我有相同的输出:
但是如果我同时使用以下方法查看梯度(每个元组的第一个元素由 Optimizer.compute_gradients(loss) 返回):
突然模型输出不同了......模型输出如何仅通过查看梯度而不使用 apply_gradients 来改变?此外,它似乎没有改变权重,因为如果我正在跑步:
模型输出仍然相同......