caffe: 有用的工具或层

1.

slice:在某一个维度,按照给定的下标,blob拆分成几块。比如要拆分channel,总数50,下标为10,20,30,40,那就是分成5份,每份10个channel,输出5个layer。

concat:在某个维度,将输入的layer组合起来,是slice的逆过程。

split:将blob复制几份,分别给不同的layer,这些上层layer共享这个blob。

tile:将blob的某个维度,扩大n倍。比如原来是1234,扩大两倍变成11223344。

reduction:将某个维度缩减至1维,方法可以是sum、mean、asum、sumsq。

reshape:这个很简单,就是matlab里的reshape。

eltwise:将几个同样大小的layer,合并为1个,合并方法可以是相加、相乘、取最大。

flatten:将中间某几维合并,其实可以用reshape代替。

https://blog.csdn.net/u014696921/article/details/52452973

2.https://github.com/sunshineInmoon/Tools

No1.CreatImagelist.py
这个不是出自我的手,但是却非常有用,可以产生带标签的图片路径列表

No2.dir_to_picture.py
这个主要功能是将分好类的图片(在多个文件夹中)重新整理到一个文件夹中,便于删除

No3.extract_feacture.py
这个的主要功能是批量提取图片的特征,并将特征保存成文件

No4.feature_class.py
这个也是特征分类,但是这个每张图片都一一对比,如果数据量小可以,如果数据量大这个脚本太浪费时间

No5.Math.py 里就两个函数计算1、计算cos距离;2、比较两个数的大小

No6.text_process.py

”’
函数:name_convert()
功能:采集到的图片名字命名时是字符型,将其转换成000000001形式
另外进行比例缩放到128*128,同时转成灰度图
输入的参数:dir_name 只存放图片的文件夹名字
dir_name_save 保存结果文件夹
”’

”’
函数:creat_imagelist_NoLabel()
功能:是把一个文件夹下所有图片写进一个imagelist.txt文件中
输入参数:dir_path 存放图片的文件夹
imagelist_path,保存路径
”’

”’
函数:clean_image()
功能:人脸检测后把没有检测到的人脸剔除
输入参数:imagelist—人脸检测后的路劲列表
dir_path_save—保存路径
”’

”’
函数:CreatImageListWithLabel()
功能:创建caffe imagelist.txt 文件,此文件带标签
输入参数:dir_path 图片路径,一般为保存很多子文件夹的跟文件夹路径
imgelist 输出文件路径默认是当前文件夹下
”’

”’
函数:load()
函数功能:将一个文本文件中的特征读取到一个list中
输入参数:file_path—-文本文件路径
”’

”’
函数:Pic_Num()
功能:统计文件夹中图片的数量
输入参数:dir_path—-保存图片的文件夹路径
”’

”’
函数:ReName()
功能:重新按顺序命名文件,用在对个别文件删除后,对文件重新排序命名
输入参数:dir_path—-包含文件(无文件夹的)的文件夹路径

No7.Visualize.py 网络权重可视化,未完
”’
函数:vis_square()
函数功能:一个显示辅助函数
输入参数:data
out—-保存图片的路径
”’
”’
函数:VisualWeights()
函数功能:根据层名字显示相应的权重
输入参数:layer_name—-层名字
net—-初始化后的网络
out—-保存图片的路径
”’
”’
函数:VisualWeight()
函数功能:根据层名字显示相应的权重
输入参数:layer_name—-层名字
net—-初始化后的网络
”’
”’
函数:VisualBlob()
函数功能:可视化Blob
输入参数:net—-初始化后的网络
layer_name—-层的名字
”’
”’
函数:VisualBlobs()
函数功能:保存所有Blobs
输入参数:net—-初始化后的网络
out—-保存路径
”’
”’
函数:VisualLayerShape()
函数:显示层的名字和形状
输入参数:net—-初始化后的网络
”’
”’
函数:VisualLayerWeightShape()
函数功能:显示各层权重的形状
输入参数:net—-初始化后的网络
”’
No8.Picture.py
”’
函数:Resize()
函数功能:批量调整图片大小
输入参数:dir_path—-文件库路径
new_h,new_w—-新图片的高度和宽度
”’
”’
函数:DataAugment()
函数功能:扩大数据量
输入参数:dir_path—-图片库路径
”’

No9.draw.py
”’
函数:Draw()
函数功能:绘制WU_lfw_test.py 产生的result.txt文件的图
输入参数:file_path
”’
”’
函数:Draw_His()
函数功能:计算图片库的一些统计信息,并画出直方图
输入参数:dir_path
”’

No10.CreatValSet.py
”’
函数:TestPair()
函数功能:随机产生验证集对,来测试网络性能
输入参数:dir_path—-验证集库
class_num—-验证集的类别
leftlist—-left.txt 路径
rightlist—-right.txt 路径
label—-标签路径
pos_num—-正样本数量
neg_num—-负样本数量
”’

No11.LfwTest.py 在lfw库上测试模型

No12.process.py
”’
函数:renamedir()
函数功能:重命名文件夹,按一定顺序
输入参数:dir_path—-包含子文件夹的路径
start —-开始序号
”’
”’
函数:Rmovedir()
函数功能:删除文件夹中文件少于一定数量的文件夹
输入参数:dir_path—-包含子文件夹的路径
num—-阈值,将文件数量小于等于num的文件夹删掉
”’
”’
函数: Romvepath()
函数功能:删除一个imagelist中不存在的路径
输入参数:inputlist,outputlist
”’
”’
函数:Rmovepath_pair()
函数功能:成对删除文件中不存在的路径
输入参数:input1,input2,inlabel,output1,output2,outlabel
”’
”’
函数:TestPair()
函数功能:从数据库中挑选正负样本
输入参数:dir_path—-存放图片库路径
class_num—-类别数量
neg_num—-负样本数
pos_num—-正样本数
leftlist
rightlist
label
”’
”’
函数:Select_K_MaxMin()
函数功能:输出文件夹中图片数量最多或最小的前K个文件夹路径
输入参数:dir_path—-图片库路径
model—-选择最大还是最小默认
K—-前K个
”’

猜你喜欢

转载自blog.csdn.net/weixin_37251044/article/details/80369933