我有一个python虚拟环境(conda),我在其中安装了CUDA工具包10.1.243和tensorflow-gpu 2.3.0rc0。我的CUDA驱动程序是11.0。
为了测试tensorflow是否已正确安装到GPU,我从venv内部运行了一系列命令:
tf.test.is_built_with_cuda()
是
tf.config.list_physical_devices(‘GPU’)
找到具有属性的设备0: pciBusID:0000:01:00.0名称:Quadro M2000M计算能力:5.0 [PhysicalDevice(name ='/ physical_device:GPU:0',device_type ='GPU')]
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000,1000])))"
tensorflow.python.framework.errors_impl.InternalError:GPU:0上的CUDA运行时隐式初始化失败。状态:设备内核映像无效
我不确定如何解决此问题。我感觉这与修改编译有关,以便tensorflow支持我的设备(5.0)的计算能力,但是我不确定如何进行。谢谢!!
答案 0 :(得分:3)
我只是遇到了同样的问题。我使用以下命令将Tensorflow2.3版本降级为2.2。
pip install --upgrade tensorflow==2.2
它现在正在工作,但是非常慢。
答案 1 :(得分:1)
根据这个github问题的解释,Google Tensorflow工程团队已经放弃了对某些旧版本GPU的支持: https://github.com/tensorflow/tensorflow/issues/41990
我相信您的GPU在较低版本的GPU系列中。 因此将您的TF从2.3降级。到2.2是解决方案。 TF工程师建议我们自己构建TF2.3,并更改其构建配置脚本以启用较低版本的GPU,但Google TF团队并不确定它是否可行,也没有解决我们将遇到的任何问题的可能性。
答案 2 :(得分:0)
我推荐pip install tensorflow-gpu==2.2