在Docker中使用MindSpore GPU版本

news/2024/12/22 14:12:17/

文章目录

  • 在Docker中使用MindSpore GPU版本
    • 获取安装命令
    • 安装
      • 安装nvidia-container-toolkit
      • 获取MindSpore镜像
      • 测试
        • 运行MindSpore镜像
        • 运行代码
    • 使用VSCode开发

在Docker中使用MindSpore GPU版本

参考官方文档:安装指南

获取安装命令

如图所示
在这里插入图片描述
命令为

docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.6:2.0.0

安装

这里选择已经预安装MindSpore x.y.z GPU版本的生产环境。(CUDA10.1或CUDA11.1或CUDA11.6后端)

安装nvidia-container-toolkit

依次执行:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

获取MindSpore镜像

docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-{cuda_version}:{version}

{version} 替换为对应MindSpore版本,如2.0.0。
{cuda_version} 替换为对应MindSpore依赖的CUDA版本,包括cuda10.1,cuda11.1和cuda11.6。

例如执行前面获得的命令:

docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.6:2.0.0

如果需要获取构建环境或者运行时环境镜像:

docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu:{tag}

在这里插入图片描述

{tag} 替换为对应上述表格中的标签,包括devel和runtime。

测试

运行MindSpore镜像

docker run --rm -it -v /dev/shm:/dev/shm --runtime=nvidia swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-{cuda_version}:{tag} /bin/bash

其中:

  • –rm 表示退出容器后删除容器(可以不加这个参数)
  • -v /dev/shm:/dev/shm 将NCCL共享内存段所在目录挂载至容器内部;
  • –runtime=nvidia 用于指定容器运行时为nvidia-container-runtime;
  • {tag}对应上述表格中的标签。
  • {cuda_version} 对应MindSpore依赖的CUDA版本,包括cuda10.1,cuda11.1和cuda11.6。

例如使用前面下载的镜像:

docker run --rm -it -v /dev/shm:/dev/shm --runtime=nvidia swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.6:2.0.0 /bin/bash

如需使用可视化调试调优工具MindSpore Insight,需设置–network参数为host模式,例如:

docker run --rm -it -v /dev/shm:/dev/shm --network host --runtime=nvidia swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.6:2.0.0 /bin/bash

运行代码

进入容器后,运行代码并检查输出:

python -c "import mindspore;mindspore.run_check()"

如果输出为:

MindSpore version:  2.0.0
The result of multiplication calculation is correct, MindSpore has been installed on platform [GPU] successfully!

则说明安装成功。

使用VSCode开发

见在Windows 11 中安装和使用 WSL 2:使用VSCode连接容器。

进入容器后,新建 test_docker.py ,添加以下代码:

import numpy as np
import mindspore as ms
import mindspore.ops as opsms.set_context(device_target="GPU")x = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))

然后打开终端运行:

python test_docker.py

输出结果如下说明环境配置成功:

[[[[2. 2. 2. 2.][2. 2. 2. 2.][2. 2. 2. 2.]][[2. 2. 2. 2.][2. 2. 2. 2.][2. 2. 2. 2.]][[2. 2. 2. 2.][2. 2. 2. 2.][2. 2. 2. 2.]]]]

在这里插入图片描述


http://www.ppmy.cn/news/626358.html

相关文章

如何解决Win10屏幕字体缩放模糊

当出现这种问题时,我安装网上的教程基本弄不下去,还是模糊。最后时通过拔插几次显示器的视频输入线解决的,感觉是不是显示器没有充分适应输入导致的- - !

17-windows10系统字体模糊解决

有些人说将分辨率调到124%也可以,不过对于本人的不行,所以选择了下面的方式 1.点击搜索,输入控制面板,双击打开 2.查看方式选择大图标,点击字体 3.选择“调整Clear Type 文本”,勾选“启用Clear Type”&am…

win10电脑字体突然变得模糊,很细

这可能是装完系统,或者安装一些软件之后,更新补丁等等造成的原因,而导致字体显示不清楚。 直接进入电脑的“控制面板”中,找到“字体”选项。 然后选择“调整ClearType文本”。 勾选“启动ClearType(C)…

win11字体模糊不清怎么办 windows1字体模糊不清的解决方法

有些用户升级了win11系统后发现系统显示的字体非常的模糊,遇到Win11字体模糊不清怎么调整?今天小编给 大家带来win11字体模糊发虚不清晰解决方法,一起来学习一下吧。更多windows11系统教程可以参考小白装机网。 Win11字体模糊不清怎么调整? 1、按 Wi…

windows 10放大125%后字体模糊 如何设置

之前也被这个问题困扰着,查了很多方法,大部分都是下载一个dpi软件,虽然是一劳永逸的方法,但终究存在或多或少的问题。经过不懈努力,终于在某个网站发现了一个系统设置的方法,不需要下载任何软件&#xff0c…

如何解决电脑软件页面模糊字体发虚问题

已百度网盘为例,打开之后字体发虚 步骤1.右键桌面图标右击属性单击兼容性 步骤2.单击更改所有用户设置 效果如下:

解决win10出现软件字体模糊

WIN10下uvision字体模糊解决 有时会出现软件模糊的情况(如图)解决方法很简单重新打开工程我们就能发现字体已经变清晰了该方法适用于解决大部分win10软件字体模糊的问题,而不仅是keil 有时会出现软件模糊的情况(如图) …

css transform导致字体像素模糊的问题解决办法(多种方法,亲测有效)

css transform导致字体像素模糊的问题解决办法 通过 transform:translate(X,Y) 偏移元素达到定位的效果,但是相继出现的是,如果元素内部有字体的话,会出现模糊的问题,因此也通过网上的查阅,统一整理一下多种解决方法&…