工训智能垃圾桶总结1
K210智能垃圾分类
- 总结1
- 代码
- 数据集训练
总结1
非常幸运参加了2021工程训练的省赛,是我大学以来第一次参加的省级比赛,虽然没有进国赛,但是对自己的成绩还是比较满意的。以下是我们在准备期间遇到的一些问题及自己的解决办法。自己是小白,如果有不对的地方欢迎大家指正。
代码
数据集训练
数据集在百度飞桨上训练,用官方给的五朵花的历程稍加修改,就可以训练自己的数据集。
五朵花历程:
链接: link.
训练过程大概为:
1.将data/data2815中的压缩包删除后添加自己数据集。(几类文件几个文件夹,不是一个大文件,可参考五类花的数据集。图片命名最好不含括号)
2.然后更改程序中的路径,官方程序为:
# 解压花朵数据集
!cd data/data2815 && unzip -q flower_photos.zip
将 flower_photos.zip改为你上传的文件名称.zip可以完成数据集的解压。
!cd data/data2815 && unzip -q garbage.zip /解压数据集
在之后的代码中,将路径为 'data/data2815/‘都改为’data/data2815/garbage’(garbage为数据集压缩包解压后生成的文件,根据你数据集命名更改)。
如果路径不更改,预处理代码运行的结果是一个大类,无法进行图形分类。
运行结果:
['garbage']
'data/data2815/garbage’的运行结果为
运行耗时: 309毫秒
['barry', 'can', 'kiwa', 'smoke', 'zhuank']
此时程序的识别类别为5类,分别为上述几类。
3.然后是数据集训练,(程序中代码最长的部分,600多行)
if __name__ == '__main__':init_log_config()init_train_parameters()train()
以下这种情况就是训练完成了:
2021-08-07 17:33:35,970 - <ipython-input-1-b7bca58bf88e>[line:635] - INFO: end training
2021-08-07 17:33:35,971-INFO: training till last epcho, end training
2021-08-07 17:33:35,971 - <ipython-input-1-b7bca58bf88e>[line:649] - INFO: training till last epcho, end training
如果代码一开始训练就报一个。。。expect one的错误,通常是两个问题:
a.数据集中某一小类中的图片不只有一个东西,比如一张照片有好几个矿泉水瓶,这类照片不能太多。多了就报错。解决办法:把数据集单一化一点,只有一个东西。
b.你在训练过程中更换了数据集,但是左侧的中间产物并没有清除干净。解决办法:把之前的删掉,点开一个新的项目,重新来一遍。
4.之后测试集对模型进行预测
if __name__ == '__main__': eval_all()
运行结果会有一个预测精度,这个数在以后的代码中会决定参数的大小。
运行时长: 18秒244毫秒
结束时间: 2021-08-07 17:42:41
total eval count:292 cost time:18.15 sec predict accuracy:0.7191780821917808
该模型的预测精度为:0.7191780821917808。通常如果该数值小于0.6,模型就不太具有识别效果了,最好对数据集进行更新,重新训练。自己试过,效果不好。
然后最艰难的部分都解决了,剩下就是按部就班的改路径,执行等待生成 .kmodel 文件了。
以下的代码不要忘了改路径:
进行模型压缩. 我们需要进行量化。为了保证量化后的精度, 需要使用训练图片调整模型。拷贝评估图片到/home/aistudio/work/images
#!mkdir /home/aistudio/work/images
#!cp -rf /home/aistudio/data/data2815/evalImageSet/* /home/aistudio/work/images/
import os
import shutil
!mkdir /home/aistudio/work/images
filenames = os.listdir("/home/aistudio/data/data2815/garbage/evalImageSet/")index = 0
for i in range(1, len(filenames), 7):srcFile = os.path.join("/home/aistudio/data/data2815/garbage/evalImageSet/", filenames[index])targetFile = os.path.join("/home/aistudio/work/images",filenames[index])shutil.copyfile(srcFile,targetFile)index += 7
filenames = os.listdir("/home/aistudio/data/data2815/garbage/evalImageSet/")
srcFile = os.path.join("/home/aistudio/data/data2815/garbage/evalImageSet/", filenames[index])
工训智能垃圾桶总结1相关推荐
- 第七届全国大学生工程训练综合能力竞赛(工训赛) 智能配送无人机赛项 省赛心得
第七届全国大学生工程训练综合能力竞赛(工训赛) 智能配送无人机赛项 省赛心得 第七届全国大学生工程训练综合能力竞赛(工训赛)江西省赛 在华东交通大学落下帷幕.至此,为时四个多月的备赛阶段终于告一段落了 ...
- 32、基于51单片机红外智能垃圾桶系统设计
摘要 随着现代化进程的日益推进,科技越来越发达,人们的生活水平也提高了,城市化程度越来越高,与此同时也带了许多问题,生活垃圾越来越多垃圾设施却不够完善.无论是在公共场合还是家庭厨房的垃圾大都是没有盖或 ...
- 湖南大学工训创新大作业——改进电子音乐
课程实验报告 课 程 名 称: STC实验板综合设计 实验项目名称: 改进电子音乐 专 业 班 级: 姓 名: 学 号: 指 导 教 师: 完 成 时 间: 2020 年 9 月 16 日 一. 设计 ...
- stm32的语音识别_免费开源基于STM32的智能垃圾桶之舵机控制(HAL库)
大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了<基于STM32的智能垃圾桶之成员简介>.<基于STM32的智能垃圾桶之语音识别>和<基于STM32 ...
- python3语音识别模块_『开源项目』基于STM32的智能垃圾桶之语音识别
大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介,相信有很多小伙伴都已经忍不住跃跃欲试了,别着急,从这一篇开始,笔者将会带领大家一 ...
- 『开源项目』基于STM32的智能垃圾桶之语音识别
大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了『免费开源』基于STM32的之成员简介,相信有很多小伙伴都已经忍不住跃跃欲试了,别着急,从这一篇开始,笔者将会带领大家一步一步来完 ...
- 黑科技:Wi-Fi热点智能垃圾桶现身纽约
智能手机和平板电脑的普及令用户们对无线网络产生了巨大的需求.然而就在城市几乎完全被网络信号覆盖的今天,大家还是会经常感觉无线网络不够用.面对这种局面,纽约一家名为BigBelly的公司就想出了一个绝对 ...
- stm32语音识别文字显示_『开源项目』基于STM32的智能垃圾桶之语音识别
大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介,相信有很多小伙伴都已经忍不住跃跃欲试了,别着急,从这一篇开始,笔者将会带领大家一 ...
- 工训赛:从参赛到“弃赛”
此篇博文并非技术分享,而是记一次艰难的比赛经历,可能也是大学接近尾声时最难忘的一次比赛. 4月12日,已经深夜,快要坚持不下去了,已经连续通宵了三天,身体出现了明显的不良状况,但距离工训赛省赛 ...
最新文章
- java公平索非公平锁_Java 并发编程中使用 ReentrantLock 替代 synchronized
- 利用Gearman,搭建异步分布式计算平台
- 在AWS控制台里创建key Pair
- 主成分分析和因子分析及其在R中的…
- 前端进阶(8) - 前端开发需要了解的工具集合:webpack, eslint, prettier, ...
- php怎么使用多个数据库,怎么在php项目中使用CI对多个数据库进行操作
- vue rem适配_vue如何使用UI库快速开发项目
- 基础训练(一~五)题解
- Android Material Components – MaterialAlertDialog
- WPF整理-使用ResourceDictionary管理Logical Resources
- 数据库系统概论第五版(第 4 章 数据库安全性)笔记
- mysql怎么创建外表_MYSQL数据去重与外表填充
- eclipse建java gui工程,Eclipse java swing开发环境搭建教程
- socket长连接的维持
- 2021-08-27-亚马逊 MWS 坑 handling time(handing time)
- 2015 年最热门的国人开发开源软件 TOP 50
- java 查看类_JAVA基础知识之JVM-——通过反射查看类信息
- 浅谈www.baidu.com和baidu.com
- python创建学生类和教师类,python,学校成员类的例子,老师和学生(python class父类与子类之间的联系与逻辑)...
- 本地怎么画最简单的监控图
热门文章
- 视频太长如何压缩发送?这样做就很简单
- 编译原理 -- 语法制导翻译
- android 反编译 2017,反编译Apk入门工具合集
- 【文件上传绕过】——前端检测_前端js验证漏洞
- HTML5 控制手机陀螺仪
- 成都传智播客 不用“包就业”赚生源
- (c)(数据结构)栈与队列的应用--停车场管理
- leave, ret, enter指令的等效
- C语言 strlen(int),C语言 - strlen函数及int,char转换问题
- RTKLIB软件源码学习(Kalman滤波最小二乘)