当前位置: 首页 > 知识库问答 >
问题:

TensorFlow的random_poisson仅在CPU上运行

涂溪叠
2023-03-14

我正在尝试让TensorFlow的Random_Poisson函数在我的GPU上运行;假设这个TensorFlow源页面有一个函数TestCPUGPUMatch,该函数在CPU和GPU上运行时比较Random_Poisson的输出,那么这似乎是可能的。但是,在使用代码进行测试时:

import tensorflow as tf

with tf.Session() as sess:
    with tf.device("/gpu:0"):
        test = sess.run(tf.random_poisson(1.0, [], dtype=tf.float64))
print(test)

我得到了错误:

谢了!

共有1个答案

艾照
2023-03-14

没有针对随机泊松的GPU内核。在random_poisson_op.cc中,只注册CPU内核。

如果查看链接的TestCPUGPUMatch代码,它会调用self.test_session(use_gpu=true,...),如果可能,它会尝试在GPU上运行ops。在暗地里,test_session使用allow_soft_placement执行此操作,如果不可能在GPU上运行操作,则返回到CPU。所以测试实际上在CPU上运行op。

[旁白:为什么我们有一个真正不做任何事情的测试?TestCPUGPUMatch似乎是许多不同随机操作的测试(请参见Test_Random_Ops.py),而RandomPoisson的实现者可能正是出于这个原因才添加了它。似乎将它命名为TestCPUGPUMatchifGPUimplementationExists...]

可以通过github问题提交一个GPU内核的特性请求,或者提交一个带有实现的PR。

 类似资料:
  • 我已经在Ubuntu 14.04上安装了tensorflow的GPU版本。 我在一个GPU服务器上,在那里Tenorflow可以访问可用的GPU。 我想在CPU上运行tenorflow。 通常我可以使用env CUDA\u VISIBLE\u DEVICES=0在0号GPU上运行。 如何在CPU之间进行选择? 我对用tf重写代码不感兴趣。设备(“/cpu:0”):

  • 我最近在我的笔记本电脑上安装了GPU tenstorflow、CUDA和cuDNN,使用本教程使用我的GPU训练我的模型。我的笔记本电脑是联想ideapad 510,处理器=i5-7代,GPU=GForce 940MX(4GB)。根据教程,我安装并配置了使用GPU所需的所有更改。 每个epoc只需6秒钟就可以编译60000张图像。在表中,我可以看到我的GPU内存使用量是19MiB。在本教程中,他的

  • 问题内容: 我刚刚通过安装了Tensorflow的最新版本,并且每当我运行一个程序时,都会收到日志消息: W tensorflow / stream_executor / platform / default / dso_loader.cc:55]无法加载动态库’cudart64_101.dll’;dlerror:找不到cudart64_101.dll 这不好吗?如何解决错误? 问题答案: 这是怎

  • 问题内容: 我使用张量流实现了一个神经网络,它似乎仅在1/32数据点上运行。然后,我尝试按照以下简单示例查看是否是我: https://pythonprogramming.net/introduction-deep-learning-python-tensorflow- keras/ 即使使用相同的(复制和粘贴的)代码,我仍然可以获得正在处理的训练数据的1/32,例如 而不是示例提供的以下内容:

  • 我在我的Windows 10 PC中安装了张力流2.8.0,只有CPU。根本没有安装英伟达/库达硬件/软件。我用CNN运行了一个简单的Python图像处理项目,我得到了一堆毫无意义的消息: 2022-02-23 07:31:55.511878: W张量流/stream_executor/平台/默认/dso_loader.cc:64] 无法加载动态库“cudart64_110.dll”;德勒尔: c