当前位置: 首页 > news >正文

【mindspore学习】环境配置

本次实验搭配的环境是 CUDA 11.6 + CUDNN v8.9.4 + TensorRT-8.4.1.5 + mindspore 2.1.0。
1、配置 Nvidia 显卡驱动

如果原来的主机已经安装了 nvidia 驱动,为避免版本的冲突,建议先清除掉旧的 nvidia驱动

sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt-get --purge remove "*nvidia*"
sudo apt-get install linux-headers-$(uname -r)

关闭系统自带驱动nouveau,执行 sudo gedit /etc/modprobe.d/blacklist.conf 在末尾追加

blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u

安装NVIDIA驱动 下载地址

chmod a+x NVIDIA-Linux-x86_64-535.104.05.run 
./NVIDIA-Linux-x86_64-535.104.05.run -no-x-check -no-nouveau-check -no-opengl-files
sudo bash ./NVIDIA-Linux-x86_64-535.104.05.run -no-x-check -no-nouveau-check -no-opengl-files

安装之后先重启主机 (执行 sudo reboot),然后检查驱动(执行nvidia-smi)是否安装成功

在这里插入图片描述
出现图示结果代表驱动安装成功

2、安装 CUDA-11.6

## 先安装CUDA前需要先安装相关依赖,执行以下命令
sudo apt-get install linux-headers-$(uname -r) 
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
sudo sh cuda_11.6.0_510.39.01_linux.run
echo -e "export PATH=/usr/local/cuda-11.6/bin:\$PATH" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

安装之后执行 nvcc --version 命令检查会输出以下提示
在这里插入图片描述

3、安装 CUDA-11.6配套的cuDNN v8.9.4

tar -xvf cudnn-linux-x86_64-8.9.4.25_cuda11-archive.tar
sudo cp cudnn-linux-x86_64-8.9.4.25_cuda11-archive/include/cudnn*.h /usr/local/cuda-11.6/include
sudo cp cudnn-linux-x86_64-8.9.4.25_cuda11-archive/lib64/libcudnn* /usr/local/cuda-11.6/lib64
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h /usr/local/cuda-11.6/lib64/libcudnn*

检查 CUDNN 是否安装成功

cat /usr/local/cuda-11.6/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
输出上图结果表示配置成功,这里版本好是8.9.4

4、安装 minconda
下载可以从清华镜像源选择下载

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
chmod a+x Miniconda3-py39_4.9.2-Linux-x86_64.sh 
bash Miniconda3-py39_4.9.2-Linux-x86_64.sh 
. ~/miniconda3/etc/profile.d/conda.sh

使用 conda 创建 mindspore 虚拟环境

conda init bash
conda create -n mindspore_py37 python=3.7.5 -y
conda activate mindspore_py37

设置 pip 源,这里可以选择清华源或者华为源,二选一。

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple

5、安装 TensorRT-8.4.1.5 下载地址

tar -xvf TensorRT-8.4.1.5.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz 
cd TensorRT-8.4.1.5/
echo -e "export TENSORRT_HOME=$PWD" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=\$TENSORRT_HOME/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

通过 .whl 包安装 python 版本 tensorrt

cd $TENSORRT_HOME/python
pip install tensorrt-8.4.1.5-cp37-none-linux_x86_64.whl

执行测试

python -c "import tensorrt;print(tensorrt.__version__)"

在这里插入图片描述

6、安装 mindspore 2.1.0

export MS_VERSION=2.1.0
conda activate mindspore_py37
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/unified/x86_64/mindspore-${MS_VERSION/-/}-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

mindspore GPU 检查

python -c "import mindspore;mindspore.set_context(device_target='GPU');mindspore.run_check()"

在这里插入图片描述

7、 jupyter lab mindspore 环境管理

base 环境下安装 Jupyter Lab

conda activate base
conda install jupyter ipykernel

mindspore_py37 中安装 ipykernel

conda activate mindspore_py37
conda install ipykernel

将conda环境写入jupyter的kernel中
–name 环境名称
–display-name 在jupyter notebook看到的别名

python -m ipykernel install --user  --name mindspore_py37 --display-name "mindspore_py37"

运行 jupyter lab

conda activate base
jupyter lab

在这里插入图片描述
讲 kernel 切换成 mindspore_py37 就可以在 Notebook 下使用 mindspore 进行脚本运行了

参考:

  • https://blog.csdn.net/wm9028/article/details/110268030
  • https://gitee.com/mindspore/docs/blob/master/install/mindspore_gpu_install_pip.md#%E5%AE%89%E8%A3%85cuda
  • https://blog.csdn.net/weixin_37926734/article/details/123033286
  • https://zhuanlan.zhihu.com/p/370024835

相关文章:

【mindspore学习】环境配置

本次实验搭配的环境是 CUDA 11.6 CUDNN v8.9.4 TensorRT-8.4.1.5 mindspore 2.1.0。 1、配置 Nvidia 显卡驱动 如果原来的主机已经安装了 nvidia 驱动,为避免版本的冲突,建议先清除掉旧的 nvidia驱动 sudo apt-get --purge remove nvidia* sudo apt…...

基于shell脚本对aliyun npm仓库(https://packages.aliyun.com)登录认证

文章目录 基于shell脚本对阿里云npm仓库(https://packages.aliyun.com)登录认证食用人群食用方式 基于shell脚本对阿里云npm仓库(https://packages.aliyun.com)登录认证 食用人群 由于一些安全的原因,某些企业可能会…...

K8s Pod 安全认知:从openshift SCC 到 PSP 弃用以及现在的 PSA

写在前面 简单整理,博文内容涉及: PSP 的由来PSA 的发展PSA 使用认知不涉及使用,用于了解 Pod 安全 API 资源理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是…...

提高企业会计效率,选择Manager for Mac(企业会计软件)

作为一家企业,良好的财务管理是保持业务运转的关键。而选择一款适合自己企业的会计软件,能够帮助提高会计效率、减少错误和节约时间。在众多的选择中,Manager for Mac(企业会计软件)是一款值得考虑的优秀软件。 首先,Manager for…...

软考:中级软件设计师:信息系统的安全属性,对称加密和非对称加密,信息摘要,数字签名技术,数字信封与PGP

软考:中级软件设计师:信息系统的安全属性 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准…...

Vue3中reactive响应式失效的问题

情景阐述 弹窗内部有一个挑选框,要通过请求接口获取挑选框下面可供选择的数据。 这是一个很简单的情境,我立刻有了自己的思路。如果实现搜索,数据较少可以直接用elementplus自带的filter。如果数据较多,就需要传val,…...

lamp

LAMP 环境 指的是在 Linux 操作系统中分别安装 Apache 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。AMP也支持win操作系统 (sccm 域升级版) LAMP架构是目前成熟的企业网站应用模式之一,指的是协同…...

LeetCode 周赛上分之旅 #42 当 LeetCode 考树上倍增,出题的趋势在变化吗

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度…...

Qt 自定义菜单 托盘菜单

托盘菜单实现:通过QSystemTrayIconQMenuQAction即可完美实现! 实现方式:createActions用于创建菜单、菜单项,translateActions用于设置文本、实现多语化,translateAccount用于设置用户空间配额。 void TrayMenu::createActions(…...

channel并发编程

不要通过共享内存通信,要通过通信共享内存。 channel是golang并发编程中一种重要的数据结构,用于多个goroutine之间进行通信。 我们通常可以把channel想象成一个传送带,将goroutine想象成传送带周边的人,一个传送带的上游放上物品…...

苹果新健康专利:利用 iPhone、Apple Watch 来分析佩戴者的呼吸情况

根据美国商标和专利局(USPTO)公示的清单,苹果获得了一项健康相关的技术专利,可以利用 iPhone、Apple Watch 来分析佩戴者的呼吸系统。 苹果在专利中概述了一种测量用户呼吸功能的系统,通过 iPhone 上的光学感测单元&am…...

数据分析基础-数据可视化02-不同数据类型的可视化概念及原则

将数据空间映射到颜色空间。 数据空间:连续或分类 数据可以被划分为两个主要的数据空间:连续数据和分类数据。这两种数据空间有不同的特点和适用的分析方法。 连续数据(Continuous Data): 连续数据是指可以在某个范…...

QT项目使用Qss的总结

什么是QSS QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有…...

suricata初体验+wireshark流量分析

目录 一、suricata介绍 1.下载安装 2.如何使用-攻击模拟 二、wireshark流量分析 1.wireshark过滤器使用 2.wireshark其他使用 一、suricata介绍 1.下载安装 通过官网下载suricata,根据官网步骤进行安装。 官网地址: https://documentation.wazuh.…...

机器学习:异常检测实战

文章目录 Anomaly Detection目录任务介绍数据集方法评估Baseline报告报告评价标准 Anomaly Detection 目录 任务介绍 无监督的异常检测 数据集 方法 autoencode 是否能够还原出原始类型图片,基于重构loss来判断是否正常 重构误差当作异常分数 评估 采用ROC和AUC…...

数据结构1

数据结构是计算机科学中存储和组织数据的一种方式,它定义了数据的表示方式和对数据进行操作的方法,常见的数据结构包括数组、栈、链表、队列、树、图等。 目录 一、常见的数据结构 1.数组 2.栈 3.队列 4.链表 5.树 6.图 一、常见的数据结构 1.数…...

自然语言处理学习笔记(七)————字典树效率改进

目录 1. 首字散列其余二分的字典树 2.双数组字典树 3.AC自动机(多模式匹配) (1)goto表 (2)output表 (3)fail表 4.基于双数组字典树的AC自动机 字典树的数据结构在以上的切分算法中已经很快了&#x…...

forEach和map有什么区别,使用场景?

forEach和map有什么区别,使用场景? 区别什么意思?forEach: 不直接改变原始数组,但可以在回调中更改原始数组。 区别 forEach 和 map 都是数组的常用方法,但它们有不同的目的和用法。下面是它们之间的主要区别以及各自…...

【Spring Boot】SpringBoot完整实现社交网站系统

一个完整的社交网站系统需要涉及到用户登录、发布动态、关注、评论、私信等各方面。这里提供一个简单的实现示例&#xff0c;供参考。 前端代码 前端使用Vue框架&#xff0c;以下是部分代码示例&#xff1a; 登录页&#xff1a; <template><div><input type…...

Modbus转Profinet网关连接三菱变频器博图快速配置

本案例将分享如何使用兴达易控的modbus转profinet网关&#xff08;XD-MDPN100&#xff09;来连接西门子1200系列plc&#xff0c;并实现三菱变频器的485通讯兼容转modbusTCP通信。通过在博图中进行配置&#xff0c;我们可以实现设备之间的连接和通信。 首先&#xff0c;我们需要…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...

【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架

文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理&#xff1a;检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目&#xff1a;RankRAG&#xff1a;Unifying Context Ranking…...