【Tools】NGC Pytorch使用

NGC:Nvidia Gpu Container

https://www.nvidia.cn/gpu-cloud/deep-learning-containers/ NVIDIA GPU Cloud (NGC)

NGC 提供的高性能 AI 容器包含 TensorFlow、PyTorch 和 MXNet 等深度学习框架,可以为 AI 研究人员提供诸多帮助。这些预先集成的 GPU 加速框架以及诸如 CUDA 运行时库、NVIDIA 库和操作系统之类的所有必要相关项都由 NVIDIA 进行了调整、测试和验证,现可在 AWS 、阿里云、NVIDIA DGX-1™ 和 NVIDIA DGX Station™ 上运行。因此,不再需要执行耗时且难以自己动手完成的软件集成,同时还能让用户借助 AI 解决曾经认为不可能克服的挑战。

NGC 上的优化深度学习框架容器库现在免费向所有人提供,用户可在参与活动的云服务提供商和 NVIDIA DGX™ 系统上使用它们。借助容器化软件,可以跨环境移植深度学习作业,从而减少通常在扩展 AI 工作负载时所需的开销。

img

https://catalog.ngc.nvidia.com/

Github Nvidia-docker https://github.com/NVIDIA/nvidia-docker

Nvidia-docker docs

NVIDIA GPU Operator分析二:NVIDIA Container Toolkit安装 https://developer.aliyun.com/article/784150

NVIDIA DGX 系统 NVIDIA DGX™ A100 是适用于所有 AI 工作负载的通用系统,为全球首款 5 petaFLOPS AI 系统提供超高的计算密度、性能和灵活性。NVIDIA DGX A100 采用全球超强大的加速器 NVIDIA A100 Tensor Core GPU,可让企业将深度学习训练、推理和分析整合至一个易于部署的统一 AI 基础架构中,该基础架构具备直接联系 NVIDIA AI 专家的功能。

Cuda版本可以不随着宿主机cuda版本而改变
这样有一个好处,不同cuda版本与tf版本匹配就不会受到宿主cuda版本影响了

img

docker镜像容器流程

img

NGC Pytorch Docker使用

  • 查询容器状态
docker ps -a
docker ps -a | grep wyt_ngc_pt 
  • Docker pull

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch 21.09-py3版本

docker pull nvcr.io/nvidia/pytorch:21.09-py3
  • Docker run
docker run --gpus <all or specified gpu id> -it --rm --privileged --name=<container_name_per_your_preference> -v <host_workspace_directory>:<mount_to_container_workspace_directory> -v /data:/data <image_name>:tag
 
例子:
docker run --gpus all -it --rm --privileged --name=wyt_ngc_pt --ipc=host -v /home/wangyiting/:/workspace -v /data:/data nvcr.io/nvidia/pytorch:21.09-py3

docker run --gpus all -it --rm -v /home/wangyiting/wyt_workspace/:/data nvcr.io/nvidia/pytorch:21.09-py3

--ipc=host用于增加memory,默认的memeory只有64MB

--rm will delete the container when finished -d后台运行

-v is the mounting directory <host_workspace_directory>将host中的目录挂载到docker中 应该可以挂载多个

-it是两个参数:-i和-t。前者表示打开并保持stdout,后者表示分配一个终端(pseudo-tty)(伪终端,类似前台进程,如果没有的话,实际运行完docker run之后就会退出)。此时如果使用exit退出,则容器的状态处于Exit,而不是后台运行。如果想让容器一直运行,而不是停止,可以使用快捷键 ctrl+p ctrl+q (Ctrl + p + q)退出,此时容器的状态为Up

  • 查询容器id

1、使用docker ps -aqf “name=containername”

2、docker inspect --format="{{.Id}}" container_name

  • 启动、重启、停止容器命令
[root@xxx ~]# docker start container_name/container_id  # name or id
[root@xxx ~]# docker restart container_name/container_id
[root@xxx ~]# docker stop container_name/container_id 

#stop the running container, but container is not removed from the system yet. It still exists in system and its status is ‘Exited‘.

后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:

[root@xxx ~]# docker attach container_name/container_id

补充-进入容器的4种方法 docker exec -it container_name bash

删除容器 running container是没法移除的,要先stop

[root@xxx ~]# docker rm container_name/container_id
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值