【问题标题】:Caffe Multi-Label Matrix InputCaffe 多标签矩阵输入
【发布时间】:2017-04-20 00:56:51
【问题描述】:

我正在使用 ConvNet 解决检测问题。但是在我的情况下,标签是每个图像的维度矩阵[3 x 5]。我使用 Caffe 来完成这项工作。我使用Datalayer 读取图像,同时使用HDF5Layer 读取标签。

HDF5Layer 将[3x5] 标签矩阵读取为[1x15] 维向量。 所以我使用Reshape Layer 将向量重塑为矩阵,然后再计算 L2 损失。但是我意识到重塑层在H x W 中格式化数据,而我的标签矩阵是[W x H],即[w=3,h=5] 因此重塑是不正确的。我想知道有没有办法以正确的顺序重塑 [1x15] 标签向量,即 [3x5]not [5x3]

我认为可以解决的另一种方法是将卷积层的输出展平为 [1 x 15],然后使用我的 [1 x 15] 标签计算损失。

由于我的英语很差,为了更好地理解,我正在使用数字来显示问题。

我的输入矩阵标签示例(请注意,图像只是为了说明而放大)

Caffe Reshape Layer 的结果

如果我做得对有什么建议吗?

【问题讨论】:

    标签: python c++ neural-network deep-learning caffe


    【解决方案1】:

    计算损失的任何一种方式都很好。事实上,以 1x15 形状进行计算可以节省转换时间。损失计算仍然是逐像素的;逻辑组织无关紧要。

    使用相同的想法,计算 3x5 还是 5x3 并不重要;重要的是你的卷积输出和你的标签正确匹配。

    如果您希望显示(图形、图片等)匹配,也许您可​​以在绘制输出之前切换 x 和 y 名称。

    【讨论】:

    • 谢谢@Prune 实际上我确实注意到你在调试时提到的内容。
    猜你喜欢
    • 2020-01-22
    • 2016-07-31
    • 2018-11-06
    • 1970-01-01
    • 2021-11-11
    • 2015-02-10
    • 2016-11-17
    • 1970-01-01
    相关资源
    最近更新 更多