最新公告:

中华视窗是诚信为本,市场在变,我们的诚信永远不变...

中华视窗

咨询热线

400-123-4657

行业资讯

当前位置: 首页 > 新闻动态 > 行业资讯

Conda配置MindSpore环境教程(GPU)

添加时间:2024-02-10

/

引言

由于官方给出的whl包安装教程太过简单,而且涉及到多卡多机并行需要安装的依赖库部分需要自己编译安装,对于大多数使用者而言有一定的环境配置成本(容易装崩)。

Conda作为一个相当友好的虚拟环境管理工具,不但能够帮助创建管理虚拟环境,避免对物理环境的污染(多少人自己或被别人搞崩过环境最后只能重装),同时Conda本身整合了大量做深度学习所需的基本库,如、cudnn等等。因此这里给出一个简单可行的Conda配置环境教程,减少使用者的环境配置学习门槛,同时保证不对操作系统的环境造成影响。

安装Conda

# miniconda python 3.9 version
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
# use any version of miniconda,
# do not use anaconda

这里强烈建议使用而不是,后者虽然集成了很多常用库(大多数你都用不到),但庞大又冗杂。相较之下只有conda基础组建,需要的依赖库可以通过源直接下载。如果无法翻墙可修改为清华源:清华源帮助文档

sh Miniconda3-py39_4.9.2-Linux-x86_64.sh
# notice the installed path,
# normally the default path is /home/{your_user_name}/miniconda3 (~/miniconda3),
# like /home/test/miniconda3
# you can modify the path as you like

创建虚拟环境

conda create -n mindspore python=3.7.5 cudatoolkit=10.1 cudnn=7.6.5 gmp=6.1.2 nccl openmpi
# conda create -n {your_virtual_env_name} lib_1=version lib2=version lib3 ...

也可先创建环境后安装:

conda create -n mindspore
# conda create -n {your_virtual_env_name}
conda activate mindspore
# install library you need
conda install python=3.7.5 cudatoolkit=10.1 cudnn=7.6.5 gmp=6.1.2 nccl openmpi

这里简单说明:

只是部分cuda的编译链接库,仍然需要安装完整版cuda。但是不管你的操作系统安装的cuda版本是多少(假设为11.0),动态链接库会安装你需要的版本(10.1),这样可以保证你随意更换深度学习框架的低版本(如TF 1.2, 0.4)nccl保持最新版,理论上向下兼容目前只有4.0.2版本配置进入Conda虚拟环境时的环境变量

很多人在虚拟环境安装好了依赖的库之后,发现进入虚拟环境还是显示没有装,因为没有设置进入虚拟环境后环境变量的改动,所以会以为装了没用。这里给出修改步骤:

这里给出的

cd /data/miniconda3/envs/mindspore
# cd {your_path_to_install_conda}/envs/{your_virtual_env_name}
mkdir etc
mkdir etc/conda
# make the folder to set env vars, 
# when you enter virutal env
#      and quit virtual env
mkdir etc/conda/activate.d
mkdir etc/conda/deactivate.d

配置进入虚拟环境后加入的环境变量:

nano /data/miniconda3/envs/mindspore/etc/conda/activate.d/env_vars.sh
# nano /{your_path_to_install_conda}/envs/{your_virtual_env_name}/etc/conda/activate.d/env_vars.sh

.sh文件中加入环境变量:

依赖环境的人_依赖环境还是依附环境_环境依赖

# add library path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/miniconda3/envs/mindspore/lib
# you should modify the code as:
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/{your_path_to_install_conda}/envs/{your_virtual_env_name}/lib
# then, add system path
export PATH=$PATH:/data/miniconda3/envs/mindspore/bin
# same as library path
# export PATH=$PATH:/{your_path_to_install_conda}/envs/{your_virtual_env_name}/bin

配置退出Conda虚拟环境时的环境变量

nano /data/miniconda3/envs/mindspore/etc/conda/deactivate.d/env_vars.sh
# nano /{your_path_to_install_conda}/envs/{your_virtual_env_name}/etc/conda/deactivate.d/env_vars.sh

.sh文件中定义目录和删除环境变量:

# set LD_LIBRARY_PATH you add when you enter virtual env
export MY_LD_PATH=/data/miniconda3/envs/mindspore/lib
# export MY_LD_PATH=/{your_path_to_install_conda}/envs/{your_virtual_env_name}/lib
# remove the path
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH/:${MY_LD_PATH}/}"
# set PATH you add when you enter virtual env
export MY_PATH=/data/miniconda3/envs/mindspore/bin
# export MY_PATH=/{your_path_to_install_conda}/envs/{your_virtual_env_name}/bin
# remove the path
export PATH="${PATH/:${MY_PATH}/}"

完成配置使用环境:

conda deactivate
conda activate mindspore

一些差异

直接使用Conda安装的依赖库与官网给出的版本有一定差异,见下表:

官网要求版本Conda版本

4.0.3

4.0.2

NCCL

2.7.6

2.8.3.1

由于根据官网提供的链接自行编译后加入环境变量,反而无法正确运行分布式并行训练教程(GPU)提供的测试代码,因此不选择官方给出的版本(也许在某些地方会有错,但目前使用无问题)。

本文在16卡V100的环境下进行测试,操作系统为.04,系统安装驱动版本418.152,Cuda版本10.2。测试分布式并行训练无问题。

若在其他环境下出现问题,欢迎留言反馈。

联系我们

电话:400-123-4657

传真:+86-123-4567

地址:浙江 温州市 温州大道欧江大厦26188号

邮箱:admin@zhonghuanews.net

电话:400-123-4657 传真:+86-123-4567 地址:浙江 温州市 温州大道欧江大厦26188号
版权所有:Copyright © 2002-2024 中华视窗 版权所有 非商用版本 ICP备案编号:粤IP**********    网站地图