[caffe学习笔记][01][图像数据转换成db文件]
说明:
在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,png等格式,而且有可能图片的大小还不一致。在caffe中经常使用的数据类型是lmdb或leveldb,因此就需要把原始图片文件转换成caffe中能够运行的lmdb/leveldb文件。
把图片转换成数据库需要分两步。第一步是生成图片清单文件,也就是图片路径与对应的类别。第二步是根据图片清单文件把图片存进数据库中。
步骤:
1.生成图片清单文件
touch create_filelist.sh
vim create_filelist.sh
1 #!/usr/bin/bash 2 3 DATA=train #遍历目录train或test 4 5 echo "Create train.txt..." 6 rm -rf $DATA/$DATA.txt #删除原有的文件列表 7 8 for dir in `ls $DATA` #遍历目录下的每个文件夹 9 do 10 if [ -d $DATA/$dir ] #如果是文件夹,则提取文件夹下文件路径加上文件夹名写入文件列表文件 11 then 12 find $DATA/$dir -name *.png | cut -d '/' -f3 | sed "s/^/$dir\/&/g; s/$/& $dir/g" >> $DATA/$DATA.txt 13 fi 14 done 15 echo "Done..."
2.图像转换为数据库
touch create_lmdb.sh
vim create_lmdb.sh
1 #!/usr/bin/bash 2 3 DATA=train #文件夹名 4 LMDB=train_lmdb #数据库名 5 HEIGHT=28 #图像高度 6 WIDTH=28 #图像宽度 7 BUILD=/home/yuandanfei/caffe/build/tools/convert_imageset #图片转数据库路径 8 ROOTFOLDER=/home/yuandanfei/work/caffe/mnist/data #图片根路径 9 10 rm -rf $LMDB 11 12 $BUILD --shuffle \ 13 --resize_height=${HEIGHT} \ 14 --resize_width=${WIDTH} \ 15 $ROOTFOLDER/$DATA/ \ 16 $ROOTFOLDER/$DATA/$DATA.txt $LMDB
参考资料:
https://www.cnblogs.com/denny402/p/5082341.html
https://www.cnblogs.com/linux-wangkun/p/5745584.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术