nvidia-dokcer2 安装方法

最近想使用百度paddlpaddle框架下的DeepSpecch2模型训练语音数据,在服务器上配置了很多次,都失败了。尝试用docker容器技术安装,很容器就安装成功了。

配置需求:
1、nvidia-dokcer2
能够使容器使用主机的GPU服务,它是nvidia以docker为底层封装的上层应用。
2、docker
容器技术,nvidia-dokcer2与docker有版本对应关系,如果nvidia-dokcer2安装失败,可能对应的docker版本不对,尝试更换即可。
例如我的debian系统安装指定版本的docker:apt-get install docker-ce=17.12.1~ce-0~debian
3、cuda以及cudnn
GPU加速所需要的库,如果nvidia-dokcer2成功安装,并启动了镜像以后,这部分的配置和在本机正常安装是一样的。


安装步骤:

  • 第一步安装nvidia-dokcer2:

首先根据https://github.com/NVIDIA/nvidia-docker提示更新apt下载源,否则你在yum install -y nvidia-docker2 时会提示找不到nvidia-docker2。

如果是Ubuntu 14.04/16.04, Debian Jessie/Stretch系统:

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

如果是CentOS 7, RHEL 7.4, Amazon Linux 2

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo yum remove nvidia-docker

# Add the package repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
  sudo tee /etc/yum.repos.d/nvidia-docker.repo

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo yum install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

注意:
这部分安装可能会出现两种情况:
第一种,在安装nvidia-docker2的同时,相应docker版本会自动下载
第二种,需要事先下载好对应的docker版本,版本号可以通过例如docker-ce=17.12.1~ce-0~debian来指定,然后再安装nvidia-docker2。

  • 第二步安装好nidia-docker2后导入docker镜像

1、提前下载好带有gpu环境的镜像包
下载参考连接https://hub.docker.com/r/paddlepaddle/paddle/tags/
我拉取的是最新版docker pull docker.paddlepaddlehub.com/paddle:latest-gpu
2、启动容器nvidia-docker run -it -v [本机地址绝对路径]:[容器地址绝对路径] [镜像ID] /bin/bash
这里说明一下,-it 创建交互环境 ,-v 将本机路径挂载到容器内,建议使用这种方式
3、使用已经创建好的容器nvidia-docker start -i [容器ID]

注意:
这里写的可能稍微简单了,建议根据不同的情况可以选择不同的方式,最好对docker容器技术有点基础之后,再操作,否则有些地方会很迷惑。

  • 第三步安装配置cuda以及cudnn

这里不做过多详述,有关cuda的安装和环境配置,可以参考以下连接:
cudnn下载地址 https://developer.nvidia.com/rdp/form/cudnn-download-survey
cudnn安装 http://blog.csdn.net/u010480194/article/details/54287727
配置cudnn环境变量
http://blog.csdn.net/haohaibo031113/article/details/71104088
http://blog.csdn.net/kkk584520/article/details/47312261

注意:
cuda版本和cudnn版本,以及paddlepaddle所需要的cuda及cudnn版本,它们之间都是有对应关系的,一定要明白对应关系,再去安装配置,否则很容易失败。大多数的失败情况都是版本不对应导致的。tensorflow-gpu版本的安装同样类似。

查看已安装cuda以及cudnn版本
1、cuda 版本

cat /usr/local/cuda/version.txt

2、cudnn 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

3、查看NVIDIA 显卡

 nvidia-smi

注1:
在有些服务器上使用容器,需要设置代理
以Ubuntu 16.04.4 LTS为例:
在.bashrc文件内添加代理,要加http:以及反斜杠

export http_proxy=http://ip:port/
export https_proxy=http://ip:port/
export ftp_proxy=http://ip:port/

注2:
查看linux系统版本

cat /etc/issue
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 是一种广泛使用的Linux操作系统,而NVIDIA-Docker是一个用于在容器中运行GPU加速应用程序的工具。对于在没有互联网连接的环境中安装NVIDIA-Docker,可以通过以下步骤进行离线安装。 1. 从NVIDIA官方网站下载所需的NVIDIA-Docker离线安装包(tar文件),包括NVIDIA-Docker的二进制文件和依赖项。确保选择适用于CentOS的正确版本。 2. 将下载安装包传输到CentOS服务器上,可以使用U盘、移动硬盘等离线传输设备。 3. 在CentOS服务器上创建一个新的目录,用于解压下载安装包。例如,可以使用以下命令创建一个名为nvidia-docker的目录: ``` mkdir nvidia-docker ``` 4. 将下载安装包移动到nvidia-docker目录中。 5. 进入nvidia-docker目录并解压安装包。可以使用以下命令解压: ``` tar -xvf <安装包文件名>.tar.gz ``` 6. 解压后,进入解压得到的目录中,例如: ``` cd nvidia-docker-<版本号> ``` 7. 执行安装脚本以进行NVIDIA-Docker的离线安装。可以使用以下命令运行安装脚本: ``` ./install.sh ``` 8. 安装脚本会检查并安装NVIDIA-Docker所需要的依赖项,并将NVIDIA-Docker设置为默认的容器运行时。 9. 完成安装后,可以通过运行以下命令验证NVIDIA-Docker是否正确安装: ``` nvidia-docker run --rm nvidia/cuda nvidia-smi ``` 如果成功运行,并显示了GPU的信息,那么NVIDIA-Docker已成功安装并可以在离线环境中使用了。 请注意,离线安装可能需要手动处理依赖项,例如安装适当的驱动程序和库文件。因此,在进行离线安装之前,请确保已阅读官方文档并了解所需的所有依赖项。 ### 回答2: 在离线环境下安装NVIDIA-Docker,我们需要进行以下步骤: 1. 准备离线环境所需的安装包和资源: - NVIDIA-Docker安装包(.run文件) - NVIDIA的驱动程序(.run文件) - Docker安装包(.tar文件) - Docker镜像所需的显卡驱动(可从其他在线环境中提取) 2. 在离线机器上安装依赖项: - 首先,确保离线机器的操作系统为CentOS,并且已经安装了gcc、kernel-devel和kernel-headers等依赖包。 - 然后,通过运行NVIDIA驱动程序的.run文件来安装NVIDIA驱动。 3. 安装Docker: - 将Docker的.tar文件复制到离线机器上的目录中。 - 使用`tar -xvf`命令解压文件。 - 将解压后的文件夹复制到/usr/bin目录下,确保Docker可执行文件可用。 4. 安装NVIDIA-Docker: - 将离线机器连接到互联网,下载并复制NVIDIA-Docker安装包(.run文件)到离线机器上。 - 运行`chmod +x`命令赋予文件可执行权限。 - 运行`.run`文件来安装NVIDIA-Docker。 5. 配置NVIDIA-Docker: - 在/etc/docker/daemon.json文件中添加`"runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}}`,以告知Docker使用NVIDIA运行时。 - 通过运行`systemctl restart docker`重新启动Docker服务。 6. 验证安装: - 运行`docker run --gpus all nvidia/cuda:11.0-base nvidia-smi`命令,如果成功显示GPU信息,则表示安装成功。 需要注意的是,由于离线环境无法直接从互联网下载所需的安装包和资源,因此需要从其他在线环境中提取,并在离线机器上复制和安装。另外,要根据具体的硬件和软件版本来选择正确的驱动程序和安装包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值