• 6.通过docker配置深度学习环境


    0.初始条件

    确保本地环境安装完成nvidia驱动、docker和nvidia-docker

    docker命令大全链接(https://www.runoob.com/docker/docker-command-manual.html

    1.启动docker服务

    #运行docker
    systemctl start docker
    # 加入开机启动
    systemctl enable docker
    # 查看状态
    systemctl status docker

    2.启动nvidia-docker服务

    #运行nvidia-docker
    systemctl start nvidia-docker
    #加入开机启动 systemctl enable nvidia
    -docker
    #查看状态 systemctl status nvidia
    -docker

    3.启动docker容器

    docker run -it --name=gpus_ai_rust -v /home/wangjun/data:/root/data_container --gpus all nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 /bin/bash

    根据nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04镜像创建名为gpus_ai_rust的交互式容器,将本地目录/home/wangjun/data映射到容器目录/root/data_container,建立互联,--gpus实现以gpu模式运行。

    其他操作的官方范例

    docker run --help | grep -i gpus  #验证下--gpus选项是否有效
    docker run -it --rm --gpus all ubuntu bash #运行一个ubuntu镜像生成容器,该容器可以使用所有的GPU卡。
    进入该容器后,输入:
    nvidia-smi
    可以看到,GPU卡的情况了。
     
    还有官方给的其他命令,自行测试吧:
    #### Test nvidia-smi with the latest official CUDA image
    docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
     
    # Start a GPU enabled container on two GPUs
    docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi
     
    # Starting a GPU enabled container on specific GPUs
    docker run --gpus '"device=1,2"' nvidia/cuda:10.0-base nvidia-smi
    docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:10.0-base nvidia-smi
     
    # Specifying a capability (graphics, compute, ...) for my container
    # Note this is rarely if ever used this way
    docker run --gpus all,capabilities=utility nvidia/cuda:10.0-base nvidia-smi

    4.在容器中输入 nvidia-smi 确认nvidia驱动运行正常,将本地项目移入容器并调试完毕。

    5.基于该容器使用docker commit命令构建新的镜像

    docker commit -m "rust detection" -a "wangjun" 8ecdc444ad9a test_ai_rust:v1

    参数解释:上面-m选项指定了新镜像的提交信息,-a标注作者信息,8ecdc444ad9a是容器ID,test_ai_rust:v1是指定的新镜像名称。

    6.使用 docker save 命令根据 ID 将镜像保存成一个文件

    docker save -o test_ai_rust.tar test_ai_rust:v1

    7.使用 docker load 命令则可将这个镜像文件载入进来

    docker load < test_ai_rust.tar
  • 相关阅读:
    composer 的安装以及一些插件的下载等
    linux 服务器安装php5.6
    数据库异地备份---服务器配置流程
    expect安装
    linux 服务器安装mysql5.6
    使用navicat 使用IP、用户名、密码直接连接linux服务器里面的数据库
    函数指针 指针函数
    信号量
    消息队列-Message Queue
    生成库文件,会链接依赖的库文件吗?
  • 原文地址:https://www.cnblogs.com/peter-jun/p/14142269.html
Copyright © 2020-2023  润新知