基于心电疾病分类的深度学习模型部署应用于OrangePi Kunpeng Pro开发板

本文主要是介绍基于心电疾病分类的深度学习模型部署应用于OrangePi Kunpeng Pro开发板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、开发板资源介绍

该板具有4核心64位的处理器和8TOPS的AI算力,让我们验证一下,在该板上跑深度学习模型的效果如何?

二、配网及远程SSH登录访问系统

在通过microusb连接串口进入开发板调试,在命令行终端执行以下命令 

1)搜索wifi名称 

nmcli dev wifi

 2)连接wifi

sudo nmcli dev wifi connect wifi_name password wifi_passwd

 3)查看IP地址

ip a s wlan0

4)ssh访问

 通过xshell工具访问该开发板

三、安装开发环境

3.1 安装python环境

1)安装openssl 

sudo yum update -y
sudo yum -y groupinstall "Development tools"
sudo yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel gcc mariadb-devel

 2)下载安装包

cd /usr/local
sudo wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
sudo tar -zxvf Python-3.7.0.tgz

 3)切换目录并执行安装

cd Python-3.7.0
sudo ./configure --prefix=/usr/local/python3
sudo make && make install

 4)环境配置

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

 3.2 创建虚拟环境

virtualenv ~/ecgclassification/venv --python=python3.9

其它相关配置

# 激活虚拟环境
source ~/ecgclassification/venv/bin/activate
#查看虚拟环境下的python路径
which python
# 安装相关包
pip install numpy  -i https://pypi.tuna.tsinghua.edu.cn/simple
# 退出虚拟环境
deactivate

 3.3 安装相关依赖

pip install h5py  -i https://pypi.tuna.tsinghua.edu.cn/simplepip install tensorflow==2.11.0  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install keras==2.11.0  -i https://pypi.tuna.tsinghua.edu.cn/simplepip install scikit-learn  -i https://pypi.tuna.tsinghua.edu.cn/simplepip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

报错:

(venv) [root@openEuler ECGclassification]# pip install tensorFlow i https://pypi.tuna.tsinghua.edu.cn/simple Collecting https://pypi.tuna.tsinghua.edu.cn/simple Downloading https://pypi.tuna.tsinghua.edu.cn/simple (32.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 32.5/32.5 MB 1.1 MB/s eta 0:00:00 ERROR: Cannot unpack file /tmp/pip-unpack-s5nhhe64/simple.html (downloaded from /tmp/pip-req-build-89nbvw_j, content-type: text/html); cannot detect archive format ERROR: Cannot determine archive format of /tmp/pip-req-build-89nbvw_j

安装包名大小写敏感,更改正确! 

 解决方式:

sudo yum install hdf5-devel

 

再次安装tensoflow成功

 

 

四、心电疾病分类任务介绍及移植深度学习模型

    依据采集的单导联心电数据,构建的深度学习模型进行数据训练,基于训练生成的模型对心电数据进行疾病的分类任务(多分类-具体为7分类)。将该模型部署于该开发板上进行运行测试。

执行模型:

python3 ./PredictOnly.py

报错:

 model = tf.keras.models.load_model(model_path) File "/usr/local/lib/python3.9/site-packages/keras/src/saving/saving_api.py", line 193, in load_model raise ValueError( ValueError: File format not supported: filepath=save/CNN. Keras 3 only supports V3 `.keras` files and legacy H5 format files (`.h5` extension). Note that the legacy SavedModel format is not supported by `load_model()` in Keras 3. In order to reload a TensorFlow SavedModel as an inference-only layer in Keras 3, use `keras.layers.TFSMLayer(save/CNN, call_endpoint='serving_default')` (note that your `call_endpoint` might have a different name).

原因是安装TensorFlow版本不对,将2.16.0降到2.11.0后,以及keras从3.3.0降到2.9.0后正常。 

模型为:CNN架构

模型大小:pd格式,40Mb左右。 

五、测试结果

5.1  以pd格式的模型加载进行预测结果对比

 1)在R900p电脑上运行

执行时间1.04s

2)在该板子上的执行时间:

执行时间3.48s:

 5.2  以pd格式的模型转换为tflite格式并进行预测结果对比

 1)在R900p电脑上运行

执行时间0.08s

2)在该板子上的执行时间:

执行时间0.07s:

六、体验总结

对于深度学习模型的数据预测推理结果对比情况,在加载pd模型进行预测时:预测结果时间在3.48s。转换为tflite格式后部署,在笔记本电脑上运行的时间和在该开发板上运行的时间相当,在0.1s内,而且在该板子上运行的时间明显更快一些。因此通过对比结果来看,该开发板的计算性能不错,板子的运算能力能在实际场景下满足深度学习模型实时预测分类的需求。

这篇关于基于心电疾病分类的深度学习模型部署应用于OrangePi Kunpeng Pro开发板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys