1

我正在使用 caffe 来解决回归问题,我想知道如何将格式用于单个浮点标签。

目前,caffe 仅支持int32lmdb 数据的类型标签(类型为in label)。 为了更改此默认行为,我更改了 caffe 中的一些文件,如下所示,但问题仍然存在,并且在转换我的标签后全部为零。Datumint32

caffe.proto -> line36 : int32 to float
convert_imageset.cpp -> line 75 and 77 : int to float
io.cpp and io.hpp -> all the labels were int , I changed them to float 

毕竟我再次编译了 caffe 但它不起作用。

有没有人来解决这个问题。尽快解决它对我来说非常重要。

提前致谢。

4

2 回答 2

1

通过强制和调整 caffe 使用 LMDB 数据集中的浮动标签来解决您的问题似乎不是一个很好的策略。

我建议改为使用 caffe 的"HDF5Data"图层。使用 hdf5 格式存储 caffe 的数据更加灵活,并且允许您拥有浮动标签。

有关更多信息,请参阅此答案

于 2016-12-21T11:49:26.323 回答
1

如果您坚持强制 caffe 支持浮动标签,您可能还需要更改convert_imageset.cpp第 81 行
当前,此行用于atoi将 string 转换为int

label = atoi(line.substr(pos + 1).c_str());

您应该将其转换为 useratof以将字符串转换为float

label = atof(line.substr(pos + 1).c_str());
于 2016-12-21T11:55:56.833 回答