https://gitee.com/mindspore/mindspore
https://hub.docker.com/u/mindspore
https://www.mindspore.cn/
MindSpore是一种适用于端边云场景的新型开源深度学习训练/推理框架。 MindSpore提供了友好的设计和高效的执行,旨在提升数据科学家和算法工程师的开发体验,并为Ascend AI处理器提供原生支持,以及软硬件协同优化。
Docker镜像
MindSpore的Docker镜像托管在Docker Hub上。 目前容器化构建选项支持情况如下:
硬件平台 Docker镜像仓库 标签 说明
CPU mindspore/mindspore-cpu x.y.z 已经预安装MindSpore x.y.z CPU版本的生产环境。
devel 提供开发环境从源头构建MindSpore(CPU后端)。安装详情请参考https://www.mindspore.cn/install 。
runtime 提供运行时环境安装MindSpore二进制包(CPU后端)。
GPU mindspore/mindspore-gpu x.y.z 已经预安装MindSpore x.y.z GPU版本的生产环境。
devel 提供开发环境从源头构建MindSpore(GPU CUDA10.1后端)。安装详情请参考https://www.mindspore.cn/install 。
runtime 提供运行时环境安装MindSpore二进制包(GPU CUDA10.1后端)。
Ascend — — 即将推出,敬请期待。
注意: 不建议从源头构建GPU devel Docker镜像后直接安装whl包。我们强烈建议您在GPU runtime Docker镜像中传输并安装whl包。
CPU
对于CPU后端,可以直接使用以下命令获取并运行最新的稳定镜像:
docker pull mindspore/mindspore-cpu:1.1.0
docker run -it mindspore/mindspore-cpu:1.1.0 /bin/bash
GPU
对于GPU后端,请确保nvidia-container-toolkit已经提前安装,以下是Ubuntu用户安装指南:
DISTRIBUTION=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$DISTRIBUTION/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list
apt-get update && sudo apt-get install -y nvidia-container-toolkit nvidia-docker2
systemctl restart docker
vim /etc/docker/daemon.json
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}再次重启docker:
systemctl daemon-reload
systemctl restart docker
使用以下命令获取并运行最新的稳定镜像:
docker pull mindspore/mindspore-gpu:1.1.0
docker run -it -v /dev/shm:/dev/shm --runtime=nvidia --privileged=true mindspore/mindspore-gpu:1.1.0 /bin/bash
要测试Docker是否正常工作,请运行下面的Python代码并检查输出:
import numpy as np
import mindspore.context as context
from mindspore import Tensor
from mindspore.ops import functional as F
context.set_context(mode=context.PYNATIVE_MODE, device_target="GPU")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(F.tensor_add(x, y))
[[[ 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.]]]