docker - Tensorflow/nvidia/cuda docker 版本不匹配

标签 docker tensorflow cuda nvidia

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

docker run --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:424: container init caused \"process_linux.go:407: running prestart hook 1 caused \\"error running hook: exit status 1, stdout: , stderr: exec command: [/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/......./merged]\\nnvidia-container-cli: requirement error: unsatisfied condition: brand = tesla\\n\\"\"": unknown.

尝试运行 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)。

非常感谢!

最佳答案

好吧,我想我终于开始弄清楚我的机器上的困惑情况了。

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

(与我当前的驱动程序配合使用的 docker cuda 镜像是 cuda:9.0)

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

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

关于docker - Tensorflow/nvidia/cuda docker 版本不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55389669/

相关文章:

spring-boot - 如何修复ZuulException:转发错误

sql - 为什么 Docker 找不到我要导入的 sql 文件?

python - 使用 TPU 训练 Keras 模型时出现 InternalError

c++ - GTX 460 (GF104) 比 GT 740m (GK107) 快,为什么?

c - 未定义对 `setup(int, char**)' 的引用

docker - 先前版本的dockerfile COPY失败

mysql - 如何将 mysql 容器中的更改数据提交到新图像

javascript - 无法在 angularjs 应用程序中加载 @tensorflow/tfjs

python - 为什么 Keras 不需要自定义损失函数的梯度?

c++ - CUDA 主机 - 设备同步