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

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二: