Neural network 具有多标签图像的caffe

Neural network 具有多标签图像的caffe,neural-network,deep-learning,caffe,multilabel-classification,Neural Network,Deep Learning,Caffe,Multilabel Classification,我有一个具有多个标签的图像数据集;数据集中有100个类,每个图像都有1到5个与其关联的标签 我正在按照以下URL中的说明进行操作: 它说我需要生成一个文本文件,列出图像及其标签,如中所示 在我的例子中,由于我有多个标签图像,只需像下面那样添加标签是否有效 我有一种感觉,它可能不会那么简单,如果我是对的,在设置Caffe的过程中,在哪一步以及如何集成数据集的多标签特性?AFAIK,当前Caffe版本不支持多标签图像的lmdb/leveldb数据集。但是,您可以(也可能应该)准备HDF5格式的输入

我有一个具有多个标签的图像数据集;数据集中有100个类,每个图像都有1到5个与其关联的标签

我正在按照以下URL中的说明进行操作:

它说我需要生成一个文本文件,列出图像及其标签,如中所示

在我的例子中,由于我有多个标签图像,只需像下面那样添加标签是否有效


我有一种感觉,它可能不会那么简单,如果我是对的,在设置Caffe的过程中,在哪一步以及如何集成数据集的多标签特性?

AFAIK,当前Caffe版本不支持多标签图像的lmdb/leveldb数据集。但是,您可以(也可能应该)准备HDF5格式的输入。Caffe HDF5输入层更加灵活,允许您在每次输入时使用多个标签。
简要说明如何为caffe创建HDF5输入

您必须解决的另一个问题是,您不仅对每张图像的多个标签感兴趣,而且对每张图像的标签数量也感兴趣。如何定义每张图像、每张标签的损失?在这种情况下,您可能必须编写自己的损失层。

有一些损失层支持“忽略标签”:即,如果为图像指定了特定的输入标签,则不会计算相应图像的损失。参见,例如和。

我认为Shai的答案不再是最新的。 适用于HDF5和LMDB格式。 github注释中的python片段演示了如何构造多标签LMDB ground truth(请参阅HDF5格式)。 与构建单标签图像数据集不同,为图像构建lmdb,为多标签地面真实数据构建第二个独立的lmdb。该片段处理空间多标签地面真相,这对于图像的像素级标记非常有用

数据写入lmdb的顺序至关重要。地面真相的顺序必须与图像的顺序相匹配

损失层,如SOFTMAX_损失、欧氏_损失、SIGMOID_交叉_熵_损失,也支持多标签数据。
但是,精度层仍然限于单个标签数据。您可能希望跟踪此功能何时添加到Caffe。

Caffe支持多标签。您可以将标签放入n个热向量中,例如[0,1,1,0,0,1,…]。您需要将标签重塑为n*k*1*1张量,并使用sigmoid交叉熵或欧几里德,而不是softmax(强制求和(输出)=1)

可能已过时的答案。用于多种格式。损耗层还支持多标签数据。但是,精度仍然限于单标签数据。@ypx
convert\u imageset
不支持浮点标签。看,没错,不是。Caffe支持从通过python生成的lmdb、leveldb、hdf5加载浮点标签。不需要convert_imageset。Evan Shelhamer提出了多标签输出,只是为了在这里有一个参考。当然,在python中,如果你在命令行中避免使用pycaffe,这是一件痛苦的事情,但它至少给出了层结构和解算器作为一个例子,因为我有100个类,每个图像都被标记为100个类中的1到5个类,如果图像的标签是类,那么我可能需要一个带有条目1的1x100矩阵,否则为0,例如代码中的Python代码片段处理像素级标签,但如果您希望在每个图像上作为一个整体使用多个标签,该怎么办?精度层有任何更新吗?他们结束了这个问题。实际上,对nk*1*1的重铸是不必要的,我的错。nk已经足够了(标签和净输出在维度上应该一致),我尝试了这一点,但当我尝试使用caffe示例脚本从数据创建IMDB时,在文本文件中,我有每个图像的地址和一个向量作为标签,它无法正确解析文本文件,因此引发了一个无法找到或打开文件的错误。任何建议??如果您要给出相对路径,请确保它们与caffe运行的位置相关-或者,给出绝对路径。如果您给出一些文本文件中的错误和行的示例,可能更容易看到发生了什么。如果您使用的是LMDB,那么所有数据都应该在这些文件中,不需要任何文本文件。谢谢,但我尝试用数字替换标签的向量,一切都很顺利,因此我确信存在一个问题,因为向量是标签。您是否将标签尺寸重新设置为n*k?(其中n为批量大小,k为向量的维数)
/home/my_test_dir/picture-foo.jpg 0
/home/my_test_dir/picture-foo1.jpg 1
/home/my_test_dir/picture-foo.jpg 0 2 5
/home/my_test_dir/picture-foo1.jpg 1 4