7

我正在使用谷歌云提供的预构建深度学习 VM 实例,并连接了 Nvidia tesla K80 GPU。我选择自动安装 Tensorflow 2.5 和 CUDA 11.0。当我启动实例时,一切正常 - 我可以运行:

Import tensorflow as tf
tf.config.list_physical_devices()

我的函数返回 CPU、加速 CPU 和 GPU。同样,如果我运行tf.test.is_gpu_available(),该函数返回 True。

但是,如果我注销,停止实例,然后重新启动实例,运行相同的确切代码只会看到 CPU 并tf.test.is_gpu_available()导致 False。我收到一个看起来像驱动程序初始化失败的错误:

 E tensorflow/stream_executor/cuda/cuda_driver.cc:355] failed call to cuInit: CUDA_ERROR_UNKNOWN: unknown error

运行nvidia-smi显示电脑还是能看到GPU,但是我的tensorflow看不到。

有谁知道这可能是什么原因造成的?我不想在重新启动实例时重新安装所有内容。

4

3 回答 3

3

有些人(很遗憾不是我)可以通过在脚本/主文件的开头设置以下内容来解决这个问题:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

我不得不重新安装 CUDA 驱动程序,从那时起,即使在重新启动实例后它也能正常工作。您可以在NVIDIA 网站上配置系统设置,它将为您提供安装 cuda 所需遵循的命令。它还会询问您是否要卸载以前的 cuda 版本(是的!)。幸运的是,这也非常快。

于 2021-06-25T09:11:17.273 回答
0

选项 1:
升级 Notebooks 实例的环境。参考链接进行升级。
可升级的笔记本实例为双盘,1个启动盘,1个数据盘。升级过程将引导磁盘升级到新映像,同时保留数据磁盘上的数据。

选项 2:
通过 SSH 连接到笔记本 VM 并运行命令链接
执行命令后,cuda 版本将更新为 11.3,nvidia 驱动程序版本将更新为 465.19.01。
重新启动笔记本 VM。

注意:问题已在 gpu 图像中解决。将使用映像版本 M74 创建新笔记本。关于新镜像版本尚未在google-public-issue-tracker中更新,但您可以在控制台中找到新镜像版本 M74。

于 2021-06-29T13:20:08.760 回答
0

我使用以下命令修复了相同的问题,取自https://issuetracker.google.com/issues/191612865?pli=1

gsutil cp gs://dl-platform-public-nvidia/b191551132/restart_patch.sh /tmp/restart_patch.sh

chmod +x /tmp/restart_patch.sh

sudo /tmp/restart_patch.sh

sudo service jupyter restart
于 2021-07-17T19:40:44.167 回答