【问题标题】:How to apply a pre-trained model of 3 channel images on single channel images?如何在单通道图像上应用预训练的 3 通道图像模型?
【发布时间】:2017-08-27 03:49:15
【问题描述】:

我尝试使用已经在三通道彩色图像上训练过的预训练模型,但是由于形状差异,我得到了一个错误。有人可以让我知道如何解决这个问题吗? 一位用户建议使用Tile 层,但我找不到任何相关文档/帮助来使用该层或任何其他解决方案。我真的很感谢你的帮助。

【问题讨论】:

  • 如果您不想重新训练模型,可以将相同的通道数据发送给所有三个。
  • 能否详细解释一下。我不是该领域的专家。
  • 我假设你有灰度图像。您可以通过在 rgb 通道中重复灰度值将其转换为 rgb 图像。也有像 rgb = cv2.cvtColor(gray,cv2.COLOR_GRAY2RGB) 这样的 opencv 函数可以做到这一点。然后,您可以将该图像用于您的预训练模型。
  • @Inman: Deep Colorization - 我知道这种技术,但我没有建议我不认为他能够做到。 (但深度着色与灰度再训练将是一个有趣的比较!)
  • @MartinThoma 是的,我也这么认为。感谢您的链接。这可能是一个有趣的比较。 S.EB 目前可以对性能有所了解。

标签: deep-learning caffe conv-neural-network pycaffe nvidia-digits


【解决方案1】:

caffe.proto 中没有太多关于瓦片层的信息。如果您查看代码,它只会为每个外部维度复制数据tiles 次。对于您的情况,它应该是:

layer{
    name: "tile"
    type: "Tile"
    bottom: "bottom-blob"
    top: "top-blob"
    tiling_param {
        // axis is 1 by default
        tiles: 3
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    相关资源
    最近更新 更多