caffe 每个样本对应多个label
1、把每个样本的标签保存成一个5-vector来输入, 例如00111。caffe 框架下用,1)使用HDF5Data做输入,是最容易实现的。在一个.h5文件里存两个数组就好。数组“data”是N*3*H*W, 数组“label”是N*5。2)用lmdb的话可以参考这里sukritshankar/Caffe-LMDBCreation-MultiLabel3)自己写custom layer的话,可参考做图像分割的人是怎么写的,图像分割里的label更复杂。https://github.com/shelhamer/fcn.berkeleyvision.org/blob/master/nyud_layers.py2、loss function 部分可以自己写custom layer。可以考虑把Multinomial Logistic Loss 的分子由单项改为多项,也可以考虑在最后一步对每个样本转为二分类问题再算loss。
■网友
可以,比如有5类就输出5x2的向量,对应属于那一类的概率。这个不叫one hot,因为一个样本可能有多个1。
■网友
已经通过 使用HDF5Data做输入 ,加入slice layer,构建五个小分类器 解决了这个问题,效果也还可以。
!!!如果有小伙伴遇到了类似的问题,又无从下手的话,私信我,我把我的具体流程和代码告诉你。
----------------------------------------------------------------------------------------------------
发现有很多小伙伴都遇到了这个问题。。。作此补充。
【caffe 每个样本对应多个label】 1.HDF5文件的生成
参考这篇博客:caffe HDF5Data 层使用及数据生成
2.网络结构
参考这篇博客:Caffe中HDF5Data例子 - from_jiarenyf - 博客频道 - CSDN.NET
3.我的prototxt文件(已更新)
到此下载:
prototxt-----------------------------------
基本框架,如下图所示。
--------------------------------------------------------------------------------------------------------
我对这个问题并没有很深入的研究,只知道这一种很简单直接的办法。如果你无从下手的话,不妨先试一试这种方法。关于机器学习数据挖掘神经网络方面的问题,欢迎相互交流学习。
■网友
Softmax在输出结果的时候本来就是对每个分类的概率值,两种方法,一种是自定义Layer,重新定义损失函数和分类层,另一种方式就是使用Softmax做分类,对分类中的概率矩阵做二次处理分析也可以。
■网友
一个建议:如果五个分类都是不相关的话,五分类,每个分类都作为一个二分类,0代表不属于该类别,1代表属于该类别,比如你说的样本1属于类别2/3,则对应的标签应该是一个vector,01100,以此类推。当然这个问题如果再想往下想的话,再考虑相关性问题,如果两个类别比如类别1和4绝对不可能属于同一数据的话,即存在互斥关系,可以再重新编码,设置一个类别(比如6),0代表属于1,1代表属于4,这样的话,就可以起到压缩类别标签的作用。当然如果不想这么复杂的话,那就直接像上面说的5个二分类就行了。caffe做多标签分类,据我所知,有两种方法,一种是改源码,这个网上也有教程,但是没有涉及到cu部分的源码改写,也就是说如果要用GPU的话,还得自己会改,这个方法比较复杂。还有一个简单的办法就是改写网络结构,输入有两个:一个是图像数据的lmdb,一个是标签文件label的lmdb,输出就是有几个标签类别就有几个输出blob,这个方法相对简单。
■网友
可以试试 image_data_layer自定义修改label长度或者内容
■网友
可以,比如一个人可以同时属于亚洲人种,又属于男人,还属于老年人
■网友
你好,我最近在做多标签分类,能分享一下你的代码吗? 1164880194@qq.com 谢谢
推荐阅读
- 上海构建现代环境治理体系集成示范区打造超大城市生态环境治理的“样本”
- 宁波多地排查冷链食品风险样本核酸检测结果均为阴性
- 趣头条|【为什么300万人都选帝豪GL】因为有你,每个周末都与众不同
- 南通|长三角区域发展样本!高铁新城亮南通雄心
- 肝脏|冰箱中3种食物,能少吃尽量少吃,每个伤肝都不浅,别不以为然
- 互联网小公司,怎样跟对老板
- 淘宝宝贝排名的128个人气因素分别是啥,每个因素所占的比例是多少
- 献血|每个双休日,启东街头这辆车,装载起温暖与希望
- Model确定之后,在Train和Deploy阶段, Caffe有哪些地方可以进一步优化以提高速度
- 淘宝天猫,京东,一号店,当当网,亚马逊每个平台的最大劣势是啥