MindSpore开发环境安装、ResNet50图像分类、导出MindIR

1. MindSpore安装

https://www.mindspore.cn/install/#guide

1.1. 安装Python

系统版本:CentOS7.9

Python可通过Conda进行安装。

安装Miniconda:
进入目录如下:
cd /home/ai/tmp

curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_25.3.1-1-Linux-x86_64.sh
bash Miniconda3-py39_25.3.1-1-Linux-x86_64.sh -b

cd -
. ~/miniconda3/etc/profile.d/conda.sh

conda init bash

创建虚拟环境,以Python 3.11.10为例:

conda create -n mindspore_py311 python=3.11.10 -y

conda activate mindspore_py311

可以通过以下命令查看Python版本。

python --version

image.png

1.2. 安装GCC

本作者linux内核过低,需要升级。这一步可以根据需求决定是否需要安装更新。
https://blog.csdn.net/qq_29676069/article/details/146202411
wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
tar -zxf gcc-8.5.0.tar.gz
cd gcc-8.5.0
vim ./contrib/download_prerequisites
如下图所示,1为gcc8.5的依赖库,2为gcc8.5下载依赖库的下载源

image.png

这里我已经修改完成,可将其修改成下列任意一个下载源:
option1 :http://mirror.linux-ia64.org/gnu/gcc/infrastructure/
option2 :http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/
然后保存运行下列命令下载依赖
(1)./contrib/download_prerequisites
(2)编译并安装
mkdir build && cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j${nproc}
sudo make install
(3)设置库的软链接
将上面的最新动态库libstdc++.so.6.0.25复制到/usr/lib64目录下
cp /home/ai/gcc/gcc-8.5.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25 /usr/lib64
切换工作目录至/usr/lib64
cd /usr/lib64
删除原来软连接
rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库
ln -s libstdc++.so.6.0.25 libstdc++.so.6
安装cmake
wget https://cmake.org/files/v3.20/cmake-3.20.0-linux-x86_64.sh
sudo sh cmake-3.20.0-linux-x86_64.sh --prefix=/usr/local --exclude-subdir
cmake --version

1.3. 安装MindSpore

export MS_VERSION=2.5.0
x86_64 + Python3.11
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.5.0/MindSpore/unified/x86_64/mindspore-2.5.0-cp311-cp311-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

验证是否安装成功
python -c "import mindspore;mindspore.set_device(device_target='CPU');mindspore.run_check()"


image.png

2. MindSpore开发环境

2.1. 知识地图

https://www.mindspore.cn/resources/knowledgeMap

MindSpore知识全景图,包含快速入门、各类参考文档和所有与MindSpore相关的开源仓展示

image.png

2.2. 搭建vscode 远程连接

image.png
image.png

远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件


image.png

解决方式:直接将vscode 版本降到1.99以下;


image.png

3. 计算机视觉****案例

3.1. ResNet50图像分类

image.png

3.1.1. 数据集准备与加载

代码依赖download,可使用命令pip?install?download安装
conda activate mindspore_py311
pip install download


image.png

image.png

使用mindspore.dataset.Cifar10Dataset接口来加载数据集,并进行相关图像增强操作

image.png

对CIFAR-10训练数据集进行可视化。

matplotlib.pyplot 是 Python 中一个非常流行的绘图库 Matplotlib 的一个模块,它提供了类似于 MATLAB 的绘图接口

pip install matplotlib

image.png

3.1.2. 构建网络

残差网络结构(Residual Network)是ResNet网络的主要亮点,ResNet使用残差网络结构后可有效地减轻退化问题,实现更深的网络结构设计,提高网络的训练精度。本节首先讲述如何构建残差网络结构,然后通过堆叠残差网络来构建ResNet50网络。

3.1.3. 模型训练与评估

5个epochs的训练过程

image.png

生成大模型 ckpt 文件如下:

image.png

3.1.4. 可视化模型预测

5个epochs下模型在验证数据集的预测准确率在70%左右,即一般情况下,6张图片中会有2张预测失败。

image.png

3.1.5. 从ckpt文件导出MindIR格式

ckpt模型可以本机推理

MindIR 模型文件与硬件平台解耦,实现跨平台推理


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容