问题标签 [nvidia-docker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
146 浏览

tensorflow - 来自守护进程的错误响应:获取 nvidia_driver_375.66:没有这样的卷:nvidia_driver_375.66

我对 tensorflow 无法在 docker 中使用 GPU 进行了故障排除。我发现 nvidia 驱动程序 DSO 文件是 375.66,与我当前的版本 375.26 不兼容。所以我删除了 dir /var/lib/nvidia-docker/volumes/nvidia_driver/367.66。但是当我关闭容器时,我无法再次重新运行它。

我多次重装nvidia驱动、cuda、nvidia-docker。当我启动容器时,它总是回显错误: Error response from daemon: get nvidia_driver_375.66: no such volume: nvidia_driver_375.66

我应该怎么办?

0 投票
1 回答
228 浏览

docker - 主机和docker容器的区别

我一直在尝试训练具有特定架构的 3DCNN 网络。我想创建一个 dockerfile,其中包含使网络正常工作所需的所有步骤。问题是,如果我在主机中运行神经网络网络,我没有问题,一切正常。但是在 docker 容器上做几乎相同的事情我总是得到“分段错误(核心转储)”错误。

两种安装方式并不完全相同,但变化(可能安装了一些额外的软件包)应该不是问题,对吧?此外,在它开始迭代之前我没有任何错误,所以这似乎是一个内存问题。GPU 工作在 docker 容器上,与主机是同一个 GPU。python代码是一样的。

Docker 容器神经网络网络开始使用数据进行训练,但在 epoch 1 出现“分段错误(核心转储)”。

所以我的问题如下:主机和 docker 容器之间是否可能存在重大差异,即使它们安装了完全相同的包?特别是与 tensorflow 和 GPU 有关。因为错误必须来自代码外部,假设代码在类似的环境中工作。

希望我对自己的解释足以说明我的问题,谢谢。

在此处输入图像描述

0 投票
1 回答
1541 浏览

docker - nvidia/cuda 映像中的 NVidia 驱动程序库

nvidia/cuda我想在基于官方图像的容器中运行带有 cuvid 硬件加速解码的 ffmpeg 。Ffmpeg 无法找到 libnvcuvid.so,尽管有所有必需的 cuda 库。容器的输出ldconfig -p | grep libnv

我应该libnvcuvid.so从主机复制吗?如果底层驱动程序版本发生变化,它不会中断吗?

0 投票
0 回答
461 浏览

python - tensorflow nvidia gpu docker image - 如何与anaconda3结合

我按照这篇文章设置了我的 GPU 服务器,安装了 CUDA 并拉取了 nvidia-docker 映像,该映像运行一个启用了 gpu 的 tensorflow 实例并安装了一个 jupyter 笔记本。

但是,我注意到里面没有 anaconda3 以便更新到 python 3.6 并更新所有包。

我无法附加 nividia-docker 映像并安装 anaconda3,因为缺少 wget 下载等所有命令。

我该怎么做或有其他方法吗?

0 投票
1 回答
1815 浏览

ubuntu - 系统在低显卡模式下运行

我试图将 Cryptocoin 采矿设备重新用于 AI 研究。

操作系统是 Ubuntu 16.04 LTS。

为了使用显卡,我需要安装 Nvidia 驱动程序和 Cuda。

但是,每当我重新启动盒子时,我总是会收到以下错误:

系统在低显卡模式下运行 在此处输入图像描述

我的问题是,我怎样才能告诉 Ubuntu 不使用这些驱动程序?我需要安装它们,但它们仅由 nvidia-docker 使用。

0 投票
1 回答
2526 浏览

docker - 动态决定在哪个 GPU 上运行 - TF on NVIDIA docker

我有一个模型队列,我只允许并行执行 2 个模型,因为我有 2 个 GPU。为此,在我的代码开头,我尝试使用GPUtil. --runtime=nvidia也许它是相关的,这段代码在使用标志启动的 docker 容器中运行。

确定在哪个 GPU 上运行的代码如下所示:

现在,我以这种方式启动了两个脚本(稍有延迟,直到第一个脚本占用了 GPU),但它们都尝试使用同一个 GPU!

我进一步检查了问题 - 我手动设置os.environ['CUDA_VISIBLE_DEVICES'] = '1'并让模型运行。在训练时,我检查了输出nvidia-smi并看到以下内容

而且我注意到,虽然我已将可见设备设置为1它实际上在 0 上运行

我再次强调,我的任务是对多个模型进行排队,每个开始运行的模型都会自行决定使用哪个 GPU。

我探索了allow_soft_placement=True,但是在两个 GPU 上都分配了内存,所以我停止了这个过程。

最重要的是,我如何确保我的训练脚本只使用一个 GPU,并让他们选择免费的?

0 投票
2 回答
5351 浏览

docker - 带有tensorflow gpu的docker - ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录

我尝试使用 Nvidia GPU 使用 tensorflow 运行 docker,但是当我运行容器时,出现以下错误:

码头工人组成

我的 docker compose 文件如下所示:

如您所见,我尝试使用一个卷将主机 cuda 映射到 docker 容器,但这没有帮助。

我能够成功运行nvidia-docker run --rm nvidia/cuda nvidia-smi

版本

库达

cat /usr/local/cuda/version.txt 显示 CUDA 版本 9.0.176

nvcc -V

nvcc -V nvcc:NVIDIA (R) Cuda 编译器驱动程序 版权所有 (c) 2005-2017 NVIDIA Corporation 构建于 Fri_Sep__1_21:08:03_CDT_2017 Cuda 编译工具,版本 9.0,V9.0.176

nvidia-docker 版本

NVIDIA Docker:2.0.3 客户端:版本:17.12.1-ce

API版本:1.35

围棋版本:go1.9.4

Git 提交:7390fc6 内置:2018 年 2 月 27 日星期二 22:17:40

操作系统/架构:linux/amd64

服务器:引擎:版本:17.12.1-ce

API 版本:1.35(最低版本 1.12)

围棋版本:go1.9.4

Git 提交:7390fc6

建成时间:2018 年 2 月 27 日星期二 22:16:13

操作系统/架构:linux/amd64

实验:错误

张量流

1.5 支持 gpu,通过 pip

在 Docker 与主机上使用 TensorFlow 进行测试

在主机上运行时,以下工作:

运行容器

nvidia-docker run -d --name testtfgpu -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu

登录

nvidia-docker exec -it testtfgpu bash

测试 TensorFlow 版本

pip show tensorflow-gpu显示:

pip show tensorflow-gpu Name: tensorflow-gpu Version: 1.6.0 Summary: TensorFlow helps the tensors flow Home-page: https://www.tensorflow.org/ Author: Google Inc. Author-email: opensource@google.com License: Apache 2.0 Location: /usr/local/lib/python2.7/dist-packages Requires: astor, protobuf, gast, tensorboard, six, wheel, absl-py, backports.weakref, termcolor, enum34, numpy, grpcio, mock

蟒蛇2

python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"

结果是:

蟒蛇 3

python3 -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"

结果是:

0 投票
1 回答
1282 浏览

kubernetes - 在 Kubernetes 1.10 中调度 gpus

我按照说明安装了nvidia-docker 2,然后通过 kubeadm(在 rhel7 上)安装了 kubernetes 1.10:我做了以下操作:

我什至可以安排 gpu'd 容器并从容器内查看所有 gpus。

但是,当我部署一个容器时:

豆荚保持为:

描述节目:

我能够将容器调度到没有 gpu 资源限制的节点而不会出现问题。

有没有办法可以验证 kubectl (?) 可以“看到”gpus?

0 投票
0 回答
1269 浏览

docker - 无法在 nvidia-docker 容器中使用 GPU 运行代码。(夜间 GPU py3)

我正在自学什么是 docker 以及如何使用它。我对 docker 很陌生,所以希望在这里学习一些基础知识。

我在我的计算机上安装了 nvidia-docker (按照安装指南)和 tensorflow/tensorflow:nightly-gpu-py3 (nightly-gpu,启动 GPU (CUDA) 容器)。

  • Docker:NVIDIA Docker 2.0.3,版本:17.12.1-ce
  • 主机操作系统:Ubuntu 16.04 桌面
  • 主机拱门:amd64

我的问题

cifar10_multi_gpu_train (用tensorflow用 python 编写)和简单的 monte-carlo 模拟(用纯 cuda 编写)都无法运行(致命错误:没有 curand.h),而fdm(用纯 cuda 编写)或简单的矩阵乘法(用 python 编写)使用 tensorflow)在容器中工作(tensorflow/tensorflow:nightly-gpu-py3)。

仅使用 CPU 的代码(如a3c)在 tensorflow 上运行良好。

一些使用 GPU 的代码会返回错误消息。(代码使用时<curand.h>

细节

在容器 (tensorflow/tensorflow:nightly-gpu-py3) 中,当我运行 monte-carlo 模拟时,出现以下错误:


locate curand.h什么都不返回,但是当我尝试时locate curand,我得到:

locate cudnn.h

locate cuda.h


nvcc --version返回:


在主机(容器外)中,当我尝试时nvidia-docker run nvidia/cuda nvidia-smi,我得到

我做了什么

  1. 重新安装 nvidia-docker、nightly-gpu-py3 和#include <curand.h>--> 失败

  2. 在 nightly-gpu-py3 容器中,重新安装 cuda/cuda 工具并#include <curand.h>--> 失败

  3. 尝试在其他不使用 docker 的机器上运行所有代码,并且已经安装了 cuda/tensorflow-gpu。他们工作正常。

我想我完全误解了 nvidia-docker 的概念以及图像/容器的作用。

问题

  1. 安装 nvidia-docker 后,我可以使用nvidia-docker run <myImage>. docker image不是意味着它可以保存依赖项(PATH,包,...)来运行某个代码(在我的例子中,使用的代码<curand.h>)?(和容器做实际工作?)
  2. tensorflow/tensorflow:nightly-gpu-py3 图像是否有 CUDA Toolkit/cuDNN?nightly-gpu-py3 中的no 是否<curand.h>意味着我不正确地安装/下载了 nvidia-docker/nightly-gpu-py3?
  3. 在容器内安装 CUDA Toolkit 或重新安装 cuda (nightly-gpu-py3) 失败了(我按照这里的流程进行操作)。有什么方法可以<curand.h>在容器内使用(nightly-gpu-py3)?
  4. sudo nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 <image> /bin/bash是我用给定图像启动新容器的命令。会不会是个问题?

0 投票
1 回答
457 浏览

docker - 在docker中安装cuda而不提示

我正在尝试使用 docker build 部分中的以下部分构建一个带有 cuda 的 docker 容器

这让我在构建时提示键盘配置。 debconf: unable to initialize frontend:

我怎么能压制这个?还是我做错了?