首页 > 其他分享 >Win11系统下的MindSpore环境搭建

Win11系统下的MindSpore环境搭建

时间:2024-06-09 16:45:20浏览次数:26  
标签:libxcb apt install Win11 镜像 Docker com MindSpore 搭建

技术背景

笔者尝试过不少编程环境搭建的方案,例如常见的Ubuntu、Deepin、CentOS,也用过很多人力荐的Manjaro,这些发行版在需要办公的条件下,一般都需要结合Windows双系统使用。MacOS更适用于本地环境搭建,但是能兼容的显卡型号还是比较有限的。经过一些测试,其实我认为Win11+WSL2+Docker会是一个比较不错的解决方案(本来打算也试试虚拟机,但是听朋友说虚拟机调CUDA有坑,因此暂时不做考虑)。虽然直接用WSL2也可以搭建一个本地的编程环境,但是这样的环境具有一些不稳定因素,以及不可迁移的性质,因此我个人认为还是WSL2+Docker的方案稳定性会更高一些。

配置Docker环境

安装WSL2

在应用商店里面直接搜wsl2,找一个稳定版本下载安装,我选择的是Ubuntu20.04:

下载Docker桌面版软件

Docker官网下载一个Win11版本的Docker桌面版并安装:

启用虚拟化相关启动项

在控制面板里面找到“启用或关闭Windows功能”:

找到虚拟机监控、子系统、Hyper-V、虚拟机平台这些,打上勾:

安装Docker桌面版软件:

这一步比较简单,按照顺序操作即可:

这就开始启动安装程序了:

安装完成后,可以在“用户-用户名-.docker”目录下找到daemon.json配置文件:

在这个文件中你可以配置一些你自己需要的镜像源,比如我这边配置了几个不同的镜像源:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com"
  ],
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

需要注意的是,国内有些地方的网络不能正常访问docker官网或者登录dockerhub,这个问题需要自行解决。安装完成后打开啊Docker桌面版是这样的:

其实,如果只是使用Docker的话,登录不上DockerHub只是说你不能向DockerHub上Push你自己的本地镜像,但并不影响本地使用。

配置WSL中的Docker

在前面的步骤中已经完成了WSL2的安装,此时打开Win11的终端窗口,可以选择打开哪一类的终端,例如我们下载的Ubuntu20.04:

初次登录,有可能需要自己配置相应的账号密码。配置完成后,可以在Docker桌面版的设置-资源中,找到我们使用的WSL子系统:

然后在WSL中添加docker专用的用户组,就可以开始拉取远程镜像了:

这里我们拉取的是一个MindSpore2.2.14的GPU版本的镜像。在本地拉取完成后,可以在Docker桌面版中看到相应镜像的存在:

除了拉取这种专用的软件镜像之外,更多人会选择拉取一些基础镜像,例如Ubuntu、CentOS等操作系统的基础镜像,然后再自己写一个Dockerfile来构建自己的本地镜像。

运行Docker

拉取完本地镜像之后,你可以选择在Docker桌面版上直接启动相关镜像:

但是我个人习惯在Win11桌面上搞一个简单的Bash脚本来启动:

docker run -it --env="DISPLAY" -v A:\container-mindspore\:/home/ --runtime=nvidia mindsponge:latest

启动成功后,可以通过docker ps -a来查看正在运行的容器,也可以通过docker images来使用命令行查看本地的镜像列表,还可以用docker commit把相应的容器内修改提交到镜像中。有一点需要提醒的是,因为是需要搭建一个本地的编程环境,我们最好是把我们的本地工作目录映射到Docker中的指定目录,这样在Docker中针对于这个目录下的修改可以直接同步保存到本地路径中。

编程环境搭建

Docker相关插件

这里我们首选推荐VSCode作为IDE使用,因为VSCode的扩展非常丰富,我们用得到其中关于Docker的远程编程工具Remote DevelopmentDev Containers

还有Docker扩展:

安装完成后,可以在这个Docker的扩展中找到我们已经启动的容器镜像mindsponge:latest

然后选择相应的镜像,Attach到VSCode的编程环境中:

Attach成功之后,再打开自己的workspace就会看到我们的项目已经链接到相应的容器镜像环境中运行:

Python相关插件

此时链接到容器镜像环境中后,其实我们可以直接在Terminal里面去运行和测试,但是VSCode中有一些可以让Python编程和Debug更加方便的插件可以考虑一下。例如这个Code Runner,可以在编程界面的右上角增添一个三角形图标一键运行:

还有这个PylancePython也是非常推荐的扩展工具,可以实现ctrl+左键快捷跳转到定义处:

Git相关插件

这里推荐三个跟Git相关的扩展插件:GitLensGit GraphGit History

这几个插件可以把`git diff`的功能可视化,编辑界面更加漂亮和方便一些: 还可以把git相关的一些操作如`add`、`commit`、`log`、`push`等等可视化到界面里面,即使是对git的操作指令没有那么熟悉的用户也可以轻松使用:

关于QT工具的Debug

在Docker镜像中使用到一些QT软件(例如silx)的时候,有可能出现一些找不到相关lib的报错,此时需要打开QT的debug选项,确认清楚QT软件无法使用的原因:

export QT_DEBUG_PLUGINS=1

如果遇到一些明确的报错说:libxxx.so.1 not found。就可以使用apt install libxxx-1来安装相关的软件库。当然,这些相关的操作可以直接保存到镜像中,或者是通过修改Dockerfile来直接构建一个可用QT的基础镜像。我这里有一份安装silx需要用到的软件安装脚本,有需要的可以拿去用:

# export QT_DEBUG_PLUGINS=1
cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
apt update
apt install -y libgl1
apt install -y libglib2.0-0
apt install -y libfontconfig1
apt install -y libxcb-icccm4 
apt install -y libxcb-image0
apt install -y libxcb-keysyms1
apt install -y libxcb-randr0
apt install -y libxcb-render-util0
apt install -y libxcb-shape0
apt install -y libxcb-xfixes0
apt install -y libxcb-xinerama0
apt install -y libxcb-xkb1
apt install -y libxkbcommon-x11-0
apt install -y libdbus-1-3
export QT_DEBUG_PLUGINS=
export XDG_RUNTIME_DIR=/usr/lib/

总结概要

本文介绍了一个在Win11系统下,通过WSL2+Docker+VSCode的方案搭建了一个mindspore-gpu的编程环境。这种方案既可以实现Linux系统编程以及部署的便捷性,又可以兼顾Windows系统强大的办公软件生态,甚至还可以借助Docker达到一定的软件可迁移性和可复制性。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/win11-mindspore.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

参考链接

  1. https://blog.csdn.net/joeyoj/article/details/136427362

标签:libxcb,apt,install,Win11,镜像,Docker,com,MindSpore,搭建
From: https://www.cnblogs.com/dechinphy/p/18239577/win11-mindspore

相关文章

  • 打败GPT-4的最强开源中文大模型GLM-4终于亮相了(附:超详细搭建过程)
    GLM-4是由智谱AI推出的新一代基座预处理大模型,具有与GPT-4相近的性能,尤其在中文能力上可以比肩GPT-4。它在多个方面进行了优化和提升,包括支持更长的上下文长度、更快的推理速度、降低推理成本,以及增强了智能体能力。GLM-4能够处理128k的上下文窗口长度,单次提示词可以处理的文......
  • 爱快虚拟机搭建openwrt
    文章参考:从零开始的软路由之爱快虚拟机搭建openwrt_爱快安装openwrt-CSDN博客1、首先我们需要找到一个openwrt的镜像文件,官方链接:OpenWrtDownloads (我在实践中碰到下载的img文件无法启动,改用iso文件后启动成功)2、给硬盘分个区。在菜单里按“系统设置”-->“磁盘管理”-->“......
  • 使用maven搭建父工程与子工程
    父/子工程的作用:1.依赖管理2.配置信息共享3.模块化4.版本控制5.提高重用性可维护性 什么是dependencyManagement:maven中的一个元素,用于集中管理项目中的依赖版本解决了多个子模块中重复配置的问题,可有效减少maven的版本冲突问题使用dependencyManagement后,无需在子模块......
  • ChatTTS 开源文本转语音模型本地部署、API使用和搭建WebUI界面(建议收藏)
    ChatTTS(ChatTextToSpeech)是专为对话场景设计的文本生成语音(TTS)模型,特别适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。它支持中文和英文,还可以穿插笑声、说话间的停顿、以及语气词等,听起来很真实自然,在语音合成中表现出高质量和自然度(ChatTTS团......
  • 搭建博客 (Hexo + github + butterfly主题)
    1、下载安装Nodejsnode-vnpm-v2、安装淘宝镜像cnpm管理器npminstall-gcnpm--registry=http://registry.npm.taobao.orgcnpm-v3、安装hexo框架cnpminstall-ghexo-clihexo-v4、安装git(若有github账号可直接跳过本条)git使用前配置:下载完git后,需要告......
  • RustDesk 搭建
    Web、API部署教程:https://www.52pojie.cn/thread-1708319-1-1.htmlRustDesk服务端下载:https://github.com/rustdesk/rustdesk-server/releasesRustDesk客户端下载:https://github.com/rustdesk/rustdesk/releases/tag/1.2.3-2RustDesk官方部署教程:https://rustdesk.com/docs......
  • 搭建verilog/systemverilog学习环境
    目录仿真软件选择使用iverilog的基本步骤仿真软件选择学习verilog或者systemverilog过程中,使用那种仿真软件?当然最好是使用synopsys的vcs+verdi的组合,功能强大,而且大部分公司也使用synopsys的eda软件,如果熟练掌握vcs+verdi对以后工作中使用它们也是有很大帮助。但是这两个软件......
  • 第二章:Three.js 环境搭建
    第二章:环境搭建本章将详细介绍如何搭建Three.js的开发环境,包括安装Node.js和npm,配置Three.js项目,以及在HTML中引入Three.js。2.1安装Node.js和npmNode.js是一个开源的、跨平台的JavaScript运行时环境。npm是Node.js的包管理工具,用于安装和管理JavaS......
  • vits-simple-api搭建
    根据vits-simple-api中文文档指南自行搭建后端以下步骤均在windows平台cpu推理搭建为例选择你的vits模型(注意是vits!不是So-VitsBertVits2GptVits)建议去抱脸网搜索或者b站搜素以及自己训练.在vits-simple-api的路径的model目录下新建你下载模型的名字的文件夹将......
  • 图文详解Windows系统下搭建mysql开发环境——mysql Community 8 和 navicat Premium 1
    在正式开始学习使用MySQL之前,我们有必要先搭建一个良好的开发环境,让我们的学习和工作效率事半功倍。本文涉及到的软件百度云盘:链接:https://pan.baidu.com/s/1jj_YajEv8adeEjMrXLhOTQ?pwd=1023提取码:1023目录客户机—服务器软件MySQL版本MySQL的下载和安装MySQL服务的......