MindSpore1.10.1安装步骤详解(Ubuntu20.04+3080Ti+CUDA11.1+Python3.8)

本文主要是介绍MindSpore1.10.1安装步骤详解(Ubuntu20.04+3080Ti+CUDA11.1+Python3.8),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MindSpore1.10.1安装步骤详解(Ubuntu20.04+3080Ti)

    • 背景说明
    • 安装Ubuntu20.04+3080Ti驱动
    • 安装CUDA所需依赖
    • 下载并安装CUDA11.1(☆☆非常关键☆☆)
    • 下载并安装cuDNN
    • 安装Python3.8
    • 安装GCC
    • 安装MindSpore
    • 验证MindSpore安装成功

背景说明

我是一名高中信息技术教师,带来学生参加了第二届长三角人工智能挑战赛——主赛道算法擂台,很幸运获得了一等奖,比赛中使用到了华为旗下的MindSpore人工智能框架。
在AI全面普及的当下,为提升自己的能力水平,打算深入学习一下MindSpore相关的知识,第一步就是安装MindSpore了。
安装选项
所使用的操作系统为Ubuntu20.04,显卡3080Ti,CUDA11.1,Python3.8,MindSpore1.10.1,手动安装。参照MindSpore官网的安装说明,有会一些坑,经常多次尝试,还是成功安装了,
在此把经验总结一下并分享给大家,供爱好者学习。若有不正之处,望予以指出,谢谢。

安装Ubuntu20.04+3080Ti驱动

Ubuntu20.04的安装这里就不详细说,大家可以参考网上的相关文章。
Ubuntu20.04安装成功

接下去安装3080Ti驱动,建议通过Ubuntu20.04自带的“软件和更新”功能去安装,如下图。
安装3080Ti驱动
我安装的是525的版本,是能够安装的最新版了。安装成功之后,可以在终端窗口中输入“nvidia-smi”来验证驱动的是否成功和CUDA版本,如下图。
驱动安装+CUDA版本
可以看到525的驱动安装后,CUDA的版本是12.0,其实CUDA是可以向下兼容的。官网上说CUDA11.1,准确地说是CUDA的最低版本为11.1。若已安装了高版本的CUDA,则需要安装CUAD11.1中除驱动之外的其他东西(后续会有详细说明)

安装CUDA所需依赖

参照MindSpore官网安装CUDA所需依赖,使用命令如下:
sudo apt-get install linux-headers-$(uname -r) gcc-7
安装截图如下:
成功安装CUDA所需依赖

下载并安装CUDA11.1(☆☆非常关键☆☆)

参照MindSpore官网给出的命令下载CUDA11.1:
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
下载成功后,如图:成功下载CUDA11.1
参照MindSpore官网给出的命令安装CUDA11.1:
sudo sh cuda_11.1.1_455.32.00_linux.run,如图:
安装CUDA11.1-01
点击“Continue”继续,如图:
安装CUDA11.1-02
输入“accept”并回车,如图:
安装CUDA11.1-03
去掉驱动的安装,安装其他选项,如图:
安装CUDA11.1-04
CUDA11.1安装成功,如图:
CUDA11.1安装成功
根据MindSpore官网给出的命令,添加环境变量,如图:

echo -e "export PATH=/usr/local/cuda-11.1/bin:\$PATH" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

CUDA11.1.1安装后添加环境变量

下载并安装cuDNN

在cuDNN页面登录并下载对应的cuDNN安装包(需要NVIDIA账号),根据MindSpore官网的说明,下载cuDNN v8.0.x,如图:
下载cuDNN安装包
官网上说下载的是一个tgz的包,但实际下载后是tar.xz的包,如图:
下载的cuDNN安装包文件名
无所谓啦,反正都是压缩包,解压即可。为方便之后命令操作,把解压得到的文件夹重命名为cudnn,如图:
解压重命名cuDNN
在文件夹cudnn里有一个include文件夹,一个lib文件夹,和一个LICENSE文件,如图:
文件夹cuDNN里的内容
根据MindSpore官网的说明,接下去就是复制文件了,具体命令如下:
16MindSpore官网命令
最奇怪的是,文件夹明明是cudnn,怎么变成了cuda,也没有“lib64”文件夹啊,只有lib。因此修改了一下这两条命令,如下:

sudo cp cudnn/include/cudnn.h /usr/local/cuda-11.1/include
sudo cp cudnn/lib/libcudnn* /usr/local/cuda-11.1/lib64

望MindSpore官网能修正一下。
再执行下一条命令

sudo chmod a+r /usr/local/cuda-11.1/include/cudnn.h /usr/local/cuda-11.1/lib64/libcudnn*

安装Python3.8

由于Ubuntu20.04自带Python3.8,因此这里就可以直接跳过。但需要安装一下pip,可以使用以下命令:

sudo apt install python3-pip

安装python3-pip

可以通过如下命令在查看所安装的Python版本。

python3 --version

安装GCC

根据MindSpore官网的说明,使用如下命令安装GCC(其实在最前面已安装了):

sudo apt-get install gcc -y

安装MindSpore

根据MindSpore官网的说明,使用如下命令安装MindSpore1.10.1:

export MS_VERSION=1.10.1
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-${MS_VERSION/-/}-cp38-cp38-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

安装MindSpore
安装成功后,如图:
MindSpore安装成功
运行MindSpore GPU版本前,请确保nvcc的安装路径已经添加到PATH与LD_LIBRARY_PATH环境变量中,如果没有添加,以安装在默认路径的CUDA11为例,可以执行如下操作:

export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH

如果安装了其他CUDA版本或者CUDA安装路径不同,只需替换上述命令中的/usr/local/cuda-11.1为当前安装的CUDA路径。

另外,在MindSpore安装中,会有两句Warning,如图。
安装MindSpore两句Warning

其实也是环境变量未添加的原因,只需运行如下命令即可,如图。

export PATH=/home/zzm/.local/bin:$PATH

安装MindSpore警告修正

验证MindSpore安装成功

验证方法一,输入命令

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

输出MindSpore的版本号,如图:
验证MindSpore安装成功方法一
验证方法二,先在文本编辑器内,输入以下内容

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))

保存为一个py文件(MindSporeTest.py),如图:
测试文件MindSporeTest在终端中,输入如下命令,运行此py文件

python3 MindSporeTest.py

得到如图结果,则说明安装成功:
验证MindSpore安装成功方法二
以上内容经过本人亲测,若有不对,敬请谅解,欢迎批评指正!!

这篇关于MindSpore1.10.1安装步骤详解(Ubuntu20.04+3080Ti+CUDA11.1+Python3.8)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/379023

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

Python中局部变量和全局变量举例详解

《Python中局部变量和全局变量举例详解》:本文主要介绍如何通过一个简单的Python代码示例来解释命名空间和作用域的概念,它详细说明了内置名称、全局名称、局部名称以及它们之间的查找顺序,文中通... 目录引入例子拆解源码运行结果如下图代码解析 python3命名空间和作用域命名空间命名空间查找顺序命名空