为Caffe中的多输出回归准备数据

时间:2016-02-09 21:23:30

标签: python hdf5 deep-learning caffe

我需要编写python脚本来准备数据以将其提供给caffe求解器。 我的输入是图像(X)和整数向量(Y)(我有多输出回归问题而不是每个YX)我尝试将Lenet修改为我的任务。

Here我发现hdf5可能是一个不错的选择 - 它可以在python中使用,但缺点是我们无法即时进行数据扩充,输入图像必须是float32 / float64。

另外here我找到了一个例子,但在例子中只有1D数据,所以我很好奇图像的形状应该是什么?

同样here我找到了有关EUCLIDEAN_LOSSHINGE_LOSS图层的信息。我应该使用哪种图层类型进行多输出回归?

1 个答案:

答案 0 :(得分:1)

Caffe希望其输入图像为4-D B - 按 - C - 按 - H - 按 - W

  • B是"批量大小",您同时处理的图片数量
  • C是通道的数量,通常是BGR的3个(大多数网络符合opencv BGR格式,而不是RGB。去图......)
  • HW分别是图片的高度和宽度。

因此,您需要一个读取图像的python脚本(您可以使用caffe.io.load_image)然后转置,调整大小,重新缩放,最后将它们堆叠到B - by - C - by- H - by W类型为float32的numpy数组 您可以在python中进行扩充,并将所有数据保存到hdf5个文件中。