我需要编写python脚本来准备数据以将其提供给caffe求解器。
我的输入是图像(X
)和整数向量(Y
)(我有多输出回归问题而不是每个Y
单X
)我尝试将Lenet修改为我的任务。
Here我发现hdf5可能是一个不错的选择 - 它可以在python中使用,但缺点是我们无法即时进行数据扩充,输入图像必须是float32 / float64。
另外here我找到了一个例子,但在例子中只有1D数据,所以我很好奇图像的形状应该是什么?
同样here我找到了有关EUCLIDEAN_LOSS
和HINGE_LOSS
图层的信息。我应该使用哪种图层类型进行多输出回归?
答案 0 :(得分:1)
Caffe希望其输入图像为4-D B
- 按 - C
- 按 - H
- 按 - W
:
B
是"批量大小",您同时处理的图片数量C
是通道的数量,通常是BGR的3个(大多数网络符合opencv BGR格式,而不是RGB。去图......)H
和W
分别是图片的高度和宽度。因此,您需要一个读取图像的python脚本(您可以使用caffe.io.load_image
)然后转置,调整大小,重新缩放,最后将它们堆叠到B
- by - C
- by- H
- by W
类型为float32
的numpy数组
您可以在python中进行扩充,并将所有数据保存到hdf5
个文件中。