Tensorflow / Nvidia / CUDA docker不匹配的版本

时间:2019-03-28 03:20:20

标签: docker tensorflow cuda nvidia

我正在尝试将tensorflow和nvidia与docker一起使用,但遇到以下错误:

  

docker run --runtime = nvidia -it --rm tensorflow / tensorflow:latest-gpu python -c“将tensorflow导入为tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))“

     

docker:来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:344:启动容器进程导致“ process_linux.go:424:容器初始化导致\” process_linux.go:407:运行预启动钩子1导致了\\ “错误运行挂钩:退出状态1,stdout:,stderr:exec命令:[/ usr / bin / nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device = all --compute --utility --require = cuda> = 10.0 brand = tesla,driver> = 384,driver <385 --pid = 5393 /var/lib/docker/overlay2/......./合并] \\ nnvidia-container-cli:要求错误:不满意条件:品牌=特斯拉\\ n \\\\“”:未知。

尝试运行nvidia-smi时出现类似错误:

  

docker run --runtime = nvidia --rm nvidia / cuda nvidia-smi

但是当尝试使用cuda:9.0-base运行nvidia-smi时,它的工作原理就像一个魅力:

  

docker run --runtime = nvidia --rm nvidia / cuda:9.0-base nvidia-smi

我需要确保cuda 10正常工作还是可以使用cuda 9运行tensorflow?我如何使用cuda:9.0-base运行tensorflow的docker镜像? (还是docker newby)。

非常感谢!

1 个答案:

答案 0 :(得分:1)

好吧,我认为我终于开始弄清楚机器上的混乱情况。

tensorflow映像不关心cuda映像版本,它不使用docker cuda映像。它关心我的nvidia驱动程序,因为它在tensorflow图像中集成了CUDA。

(正在使用当前驱动程序的docker cuda映像为cuda:9.0)

那意味着我必须找到一个与我的驱动程序配合使用的tensorflow映像(390.116),或者更新驱动程序。

我用tensorflow:1.12.0-gpu-py3尝试了相同的命令,但没有任何问题。