不知你们是否有过这样的烦恼,在特殊的节日,跟家人朋友游玩结束疲惫回到家后,还要自己手工从一堆拍摄的杂乱照片中分类整理出来哪些是风景照,哪些是人物合照,哪些是美食照...面对成百上千张照片,恨不得请人来专门整理。虽然部分手机拥有了智能相册分类功能,但是不免有些对照片高质量的追求者还会后期在PC端使用Adobe Photoshop对照片进行美化修整,那么面对PC端的相册整理任务,我们是不是好像又回到了问题的起点呢?
1. 环境配置
2. 数据集选取及处理
3. 模型选择及参数配置
4. 模型训练及测试
5. WatchDog文件监控
6. 智能相册本地配置使用
环境配置
环境要求:
安装过程
安装PaddleClas套件:
数据集选取及处理
我们日常拍摄照片种类众多,本项目优先选取了:动物、食物、任务、风景、文本这样一个五分类的数据,该数据完全采用公开数据,数据干净且清晰:
模型选择与参数配置
数据预处理之后,需要选择并训练网络。本项目选择的网络是ResNet50_vd,关于ResNet网络结构的代码分析,可单击链接:
save_interval:10 每隔多少个epoch保存模型
模型训练及测试
使用已经配置好的训练文件就可以执行模型的训练了,指令如下:
WatchDog文件监控
分类模型已经训练好了,但是本地使用该模型还需要更加自动化的操作,本项目使用了一个文件监控库-WatchDog,那么WatchDog是什么呢?WatchDog用来监控指定目录/文件的变化,如添加删除文件或目录、修改文件内容、重命名文件或目录等,每种变化都会产生一个事件,且有一个特定的事件类与之对应,然后再通过事件处理类来处理对应的事件,怎么样处理事件完全可以自定义,只需继承事件处理类的基类并重写对应实例方法。
智能相册本地配置使用
借助之前完成的模型开发和WatchDog监控,项目就可以部署在本地使用了。在这里我们需要完成之前的核心文件监控代码:
心得体会
本项目使用了飞桨开源深度学习平台以及PaddleClas套件,在AI Studio上完成了数据处理、模型训练、模型评估推理等工作。PaddleClas套件让图像分类技术变得更为简单便捷,降低了开发者的上手难度。