我正在尝试将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)。
非常感谢!
答案 0 :(得分:1)
好吧,我认为我终于开始弄清楚机器上的混乱情况。
tensorflow映像不关心cuda映像版本,它不使用docker cuda映像。它关心我的nvidia驱动程序,因为它在tensorflow图像中集成了CUDA。
(正在使用当前驱动程序的docker cuda映像为cuda:9.0)
那意味着我必须找到一个与我的驱动程序配合使用的tensorflow映像(390.116),或者更新驱动程序。
我用tensorflow:1.12.0-gpu-py3尝试了相同的命令,但没有任何问题。