基于心电疾病分类的深度学习模型部署应用于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/simple

pip 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/simple

pip install scikit-learn  -i https://pypi.tuna.tsinghua.edu.cn/simple

pip 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内,而且在该板子上运行的时间明显更快一些。因此通过对比结果来看,该开发板的计算性能不错,板子的运算能力能在实际场景下满足深度学习模型实时预测分类的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/662984.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker安装MySQL的详细教程

1. 拉取MySQL镜像 拉取MySQL镜像。您可以指定版本号,例如5.7或8.0,如果不指定,默认会拉取最新稳定版。 docker pull mysql:5.7或者,使用最新版本: docker pull mysql:latest2. 运行MySQL容器 拉取镜像完成后&#…

C++ 进阶(3)虚函数表解析

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 请多多指教! 目录 一、虚函数表 二、单继承(无虚函数覆盖) 继承关系表: 对于实例:derive d 的虚函数表: 对于实例:b…

《C语言深度解剖》(15):动态内存管理和柔性数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏链接查看&…

后端企业级开发之yaml数据序列化格式文件详解2024

yaml格式 数据格式 yaml 是一种数据序列化的格式 容易阅读 容易与脚本语言交互 以数据为核心 重数据轻格式 我们要知道他怎么书写 大小写敏感 属性层级关系使用多行描述 每行结尾使用冒号结束 使用缩进表示层级关系 同层级左侧对其 只运行使用空格 属性前面添加空格 #表…

JAVA 大鱼吃小鱼小游戏

java实现大鱼吃小鱼,支持身份证防沉迷、账号密码、选择难度 放沉迷 登录 选择难度 游戏界面

【Unity Shader入门精要 第9章】更复杂的光照(四)

1. 透明度测试物体的阴影 对于物体有片元丢弃的情况,比如透明度测试或者后边会讲到的消融效果,使用默认的 ShadowCaster Pass 会产生问题,这是因为该Pass在生成阴影映射纹理时,没有考虑被丢弃的片元,而是使用完整的模…

Java类加载过程

类加载三个阶段任务: 加载和连接阶段是JVM虚拟机完成的,无法进行控制。 初始化阶段是程序员可以控制的,例如在代码块中对静态成员初始化等。 1、加载阶段: JVM在该阶段主要目的是 将字节码从不同的数据源(class文件,ja…

k8s部署calico遇到的问题

kubernetes安装calico calico官网 环境:centos7.9,calico 3.23,kuberadm 1.26 问题1:执行kubectl create -f calico.yml后报错如下 error: resource mapping not found for name: “tigera-operator” namespace: “” from “…

网络故障与排除(一)

一、Router-ID冲突导致OSPF路由环路 路由器收到相同Router-ID的两台设备发送的LSA,所以查看路由表看到的OSPF缺省路由信息就会不断变动。而当C1的缺省路由从C2中学到,C2的缺省路由又从C1中学到时,就形成了路由环路,因此出现路由不…

【AREngine BUG 解决方法】无法获取有效的相机图像尺寸

近期拿了一台 华为mate20 Pro的手机,在运行AR示例的过程中出现了黑屏。 问题排查 SDK版本:com.huawei.hms:arenginesdk:3.7.0.3 定位 经排查,发现(ARCamera对象的相机内参) getImageDimensions()返回的图像尺寸的width和height都为0。 这…

接口自动化测试之pytest 运行方式及前置后置封装

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、Pytest 优点认知 1.可以结合所有的自动化测试工具 2.跳过失败用例以及失败重跑 3.结合allur…

tinymce富文本编辑器使用

安卓富文本编辑器&#xff1a;npm i tinymce/tinymce-vue 当前项目中富文本是放在一个dialog中&#xff0c;因此部分样式会有层叠问题&#xff0c;该组件样式部分不添加scope。这里图片上传只是前端静态数据展示收集。 <template><div class"desc-editor"…

电脑突然提示:“failed to load steamui.dll”是什么情况?分享几种解决steamui.dll丢失的方法

相信有一些用户正在面临一个叫做“failed to load steamui.dll”的问题&#xff0c;这种情况多半发生在试图运行某个程序时&#xff0c;系统会提示一条错误消息&#xff1a;“failed to load steamui.dll”。那么&#xff0c;为何steamui.dll文件会丢失&#xff0c;又应该如何解…

【数据结构与算法 | 队列篇】力扣102, 107

1. 力扣102 : 二叉树的层序遍历 (1). 题 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3]…

从GPT-3.5到GPT-4O:探索AI的进化之旅,哪一版更懂你?

如何评价GPT-4o? 最新的GPT-4O&#xff0c;被誉为GPT-4的增强版。它在保持前代产品优秀性能的基础上&#xff0c;大幅降低了使用成本&#xff0c;使得更多的普通用户也能享受到顶尖AI的服务。GPT-4O在非英语语言处理上的强化&#xff0c;更是让其在全球范围内的适用性大大提高…

K8s集群之 存储卷 PV PVC

默写 1 如何将pod创建在指定的Node节点上 node亲和、pod亲和、pod反亲和: 调度策略 匹配标签 操作符 nodeAffinity 主机 In,NotIn,Exists,DoesNotExist&#xff0c;Gt&#xff0c;Lt podAffinity …

aws 在ecs外部实例上运行gpu负载

参考资料 https://docs.amazonaws.cn/zh_cn/AmazonECS/latest/developerguide/ecs-gpu.htmlhttps://docs.amazonaws.cn/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instanceshttps://docs.amazonaws.cn/AWSEC2/latest/UserGuide/install-nvidia-drive…

k210数字识别 笔记2 (串口通信)

这个模型识别的还可以&#xff0c;离近点 识别率高达0.9 资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1D4ubJGMptqop1x_Nf8KqfQ?pwd1234 提取码&#xff1a;1234 一&#xff1a;报错解决 报错的意思应该是模型文件错误 原程序可以在sd卡运行&#xff0c;但…

MFC工控项目实例之一主菜单制作

1、本项目用在WIN10下安装的vc6.0兼容版实现。创建项目名为SEAL_PRESSURE的MFC对话框。在项目res文件下添加相关256色ico格式图片。 2、项目名称&#xff1a;密封压力试验机 主菜单名称&#xff1a; 系统参数 SYS_DATA 系统测试 SYS_TEST 选择型号 TYP_CHOICE 开始试验 TES_STA…

精通Java异常机制,写出高质量代码

作为一名Java开发人员&#xff0c;异常处理是一个无法回避的话题。无论你是初学者还是老手&#xff0c;精通异常处理对于写出高质量、可维护的代码至关重要。今天&#xff0c;我将与大家分享关于Java异常处理的一切&#xff0c;助你在代码质量的道路上突飞猛进! 一、什么是异常…