我有,比方说,n图像,对于每个图像,我有另外2个人工(合成)特征,图像标签是一维整数。
我想微调dataset上的Image,但是我不知道如何处理这两个附加的特性作为输入,我应该如何将数据提供给caffe?请帮帮我!
编辑:这两个特性可以是任意2个数字(一维),比如两个数字,表示图像属于哪一类,以及有多少图像属于该类。
比方说,我有'cat.jpg',那么特性是,5和2000,其中5是表示类的特性1,2000是该类中的总图像。简而言之,这两个特征可以是任意两个整数。
发布于 2016-01-03 18:51:02
我认为最直接的方法是使用"HDF5Data"输入层,在这里您可以同时存储输入图像、附加的两个“特性”和预期的输出值(用于回归)。
您可以看到在python中创建HDF5数据的示例HDF5。一个Matlab的例子可以找到here。
您的HDF5应该有4个“数据集”:一个是输入图像(或者dim 4096的图像描述符)。图像/描述符的n维数组。
另一个数据集是"feat_1" n by 1数组,"feat_2"和n由1数组组成。
最后,您应该有另一个输入"target",由您希望学习的预期输出的一个数组组成的n。
一旦您有了一个HDF5文件并准备好了其中的这些数据集,您就应该有
layer {
type: "HDF5Data"
top: "data" # name of dataset with images/imagenet features
top: "feat_1"
top: "feat_2"
top: "target"
hdf5_data_param {
source: "/path/to/list/file.txt"
}
}如您所见,单个"HDF5Data"层可以生成几个“顶级”层。
https://stackoverflow.com/questions/34569804
复制相似问题