前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker配置MindSpore-GPU环境

Docker配置MindSpore-GPU环境

作者头像
zstar
发布2024-05-24 13:19:12
640
发布2024-05-24 13:19:12
举报
文章被收录于专栏:往期博文

前言

项目指定MindSpore为推理框架,可惜该框架不支持在Windows系统中调用gpu,于是想通过Docker在Win10中调用MindSpore的Linux镜像,本文记录一下配置过程。

1.下载Docker-desktop

Docker的基础原理和安装可参考我之前的博文Docker学习笔记 Docker-desktop官网下载:https://www.docker.com/products/docker-desktop

2.拉取MindSpore镜像

MindSpore官网:https://www.mindspore.cn/install 在MindSpore官网拉取GPU版本的镜像,相关设置如下图所示:

运行安装命令:

代码语言:javascript
复制
docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.1:2.2.14

3.启动容器

输入以下命令启动容器:

代码语言:javascript
复制
docker run -it --gpus all --name mind -p 10023:23 swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.1:2.2.14 /bin/bash
  • --gpus all表示该容器可以调用主机所有GPU
  • --name mind表示将该容器重命名为mind
  • -p 10023:23表示将主机端口10023映射到容器端口23,方面后续通过ssh来进行通信

4.Pycharm插件安装

为了后续方便在Pycharm中启动容器,以及和容器进行通信,在Pycharm中安装DockerSource Synchronizer两个插件。

安装完Docker插件后,在Pycharm的Services中,可以找到新建立的容器,并进行一键启动。

启动之后,点击Teminal进入终端,即可在容器内部进行相关操作。

5.配置SSH连接

为了方便后续主机和容器进行文件的传输,在容器中配置ssh服务。 在容器中输入以下命令:

代码语言:javascript
复制
apt update
apt upgrade
apt install -y openssh-server

之后,为容器设置密码:

代码语言:javascript
复制
passwd

修改ssh配置文件:

代码语言:javascript
复制
vi /etc/ssh/sshd_config

主要对以下四行内容取消注释,并进行修改:

代码语言:javascript
复制
Port 23
PermitRootLogin yes
PubkeyAuthentication yes
MaxStartups 10:30:60

修改完之后输入:wq保存退出。

重启ssh服务:

代码语言:javascript
复制
service ssh restart

最后,在主机端进行ssh连接测试:

代码语言:javascript
复制
ssh root@127.0.0.1 -p 10023

出现以下内容,表示顺利连接:

下面在Pycharm中,利用Source Synchronizer进行ssh配置,在右上角点开编辑文件:

输入下列信息:

设置完成之后,就可以直接在编辑器中,通过右键,一键将文件上传到/home路径中。

6.GPU环境验证

根据MindSpore官网的描述,可用以下代码进行环境验证:

代码语言:javascript
复制
import mindspore

mindspore.set_context(device_target='GPU')
mindspore.run_check()

将该文件上传到容器中进行运行,出现下列内容表示通过验证:

7.下载文件

该插件上传比较方便,如需下载文件,可以用ssh连接软件去连接docker,也可采用命令行的方式,比如,需要将容器中的mind:/home/mindyolo/model.ckpt文件下载到C:\Users\zxy\Desktop\cp路径下,可执行:

代码语言:javascript
复制
docker cp mind:/home/mindyolo/check.py C:\Users\zxy\Desktop\cp

8. wsl环境迁移

配置完环境后,发现C盘少了50多个G,仔细检查发现docker会把镜像和容器文件存放在C:\Users\zxy\AppData\Local\Docker这个路径下,因此需要将其迁移到其它盘。

这里迁移千万不能直接手动复制文件夹,如果出错则会导致容器镜像丢失,下面用管理员命令打开控制台:

  1. 关闭wsl
代码语言:javascript
复制
wsl --shutdown
  1. 导出数据 对应存放路径修改为自己的,我这里临时建了一个temp文件用来存数据:
代码语言:javascript
复制
wsl --export docker-desktop D:\Docker\temp\docker-desktop.tar
wsl --export docker-desktop-data D:\Docker\temp\docker-desktop-data.tar
  1. 注销
代码语言:javascript
复制
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
  1. 导入数据
代码语言:javascript
复制
wsl --import docker-desktop D:\Docker\wsl\docker-desktop D:\Docker\temp\docker-desktop.tar
wsl --import docker-desktop-data D:\Docker\wsl\docker-desktop-data D:\Docker\temp\docker-desktop-data.tar

完成之后,C盘存储压力消除,其它一切正常。

参考

1.Source Synchronizer:https://plugins.jetbrains.com/plugin/7374-source-synchronizer 2.Window端Autogluon环境(Pycharm+Docker)搭建教程:https://zhuanlan.zhihu.com/p/370999648?utm_id=0 3.wsl2 docker 数据迁移步骤:https://zhuanlan.zhihu.com/p/581145587

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1.下载Docker-desktop
  • 2.拉取MindSpore镜像
  • 3.启动容器
  • 4.Pycharm插件安装
  • 5.配置SSH连接
  • 6.GPU环境验证
  • 7.下载文件
  • 8. wsl环境迁移
  • 参考
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档