neural-network - Caffe 中的标签作为图像

标签 neural-network convolution deep-learning caffe conv-neural-network

我是 Caffe 的新手。我正在尝试为语义分割实现全卷积神经网络 (FCN-8s)。我有图像数据和标签数据,它们都是图像。这是用于逐像素预测的。

我尝试使用 ImageData 作为数据类型,但它要求一个整数标签,这不适用于这种情况。请建议我如何给 Caffe 一个 2D 标签。我应该更喜欢 LMDB 而不是 ImageData?如果是这样,我该如何继续?对于这种情况,我找不到任何好的教程/文档。

最佳答案

由于您需要实现逐像素预测,您不能使用单个标签作为真实情况。相反,您应该使用真实标签矩阵。

其中一个 Caffe 人员编写了一个代码片段,用于创建带有图像数据的 LMDB,请参阅 here :

import caffe
import lmdb
from PIL import Image

in_db = lmdb.open('image-lmdb', map_size=int(1e12))
with in_db.begin(write=True) as in_txn:
    for in_idx, in_ in enumerate(inputs):
        # load image:
        # - as np.uint8 {0, ..., 255}
        # - in BGR (switch from RGB)
        # - in Channel x Height x Width order (switch from H x W x C)
        im = np.array(Image.open(in_)) # or load whatever ndarray you need
        im = im[:,:,::-1]
        im = im.transpose((2,0,1))
        im_dat = caffe.io.array_to_datum(im)
        in_txn.put('{:0>10d}'.format(in_idx), im_dat.SerializeToString())
in_db.close()

关于neural-network - Caffe 中的标签作为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33686730/

相关文章:

python - 在 Theano 中更新共享变量的一部分

algorithm - 有效地实现侵 eclipse /扩张

python - 解决 cv2::filter2D() 中对负值的抑制

c++ - 使用 DFT 进行卷积

c++ - Caffe 中的最小-最大归一化层

python - tensorflow : ValueError Duplicate feature column key found for column

python - 适合多类分类的深度学习结构

java - 如何检测音频流中特定单词的出现。

python - 如何在 tensorflow 中的张量中执行项目分配?

c# - 将一层所有节点连接到下一层所有节点的算法