Neural network Caffe中的标签作为图像
我对咖啡馆不熟悉。我正在尝试实现一个用于语义分割的完全卷积神经网络()。我有图像数据和标签数据,它们都是图像。这是用于像素级预测Neural network Caffe中的标签作为图像,neural-network,convolution,deep-learning,caffe,conv-neural-network,Neural Network,Convolution,Deep Learning,Caffe,Conv Neural Network,我对咖啡馆不熟悉。我正在尝试实现一个用于语义分割的完全卷积神经网络()。我有图像数据和标签数据,它们都是图像。这是用于像素级预测 我尝试使用ImageData作为数据类型,但它要求使用整数标签,这不适用于此场景。请告知我如何给Caffe一个2D标签。我应该更喜欢LMDB而不是ImageData吗?如果是,我如何进行?对于这种情况,我找不到任何好的教程/文档 由于您需要实现像素级的预测,因此不能使用单个标签作为基本事实。相反,您应该使用标签的基本真相矩阵 Caffe的一位同事编写了一段代码片段,用
我尝试使用ImageData作为数据类型,但它要求使用整数标签,这不适用于此场景。请告知我如何给Caffe一个2D标签。我应该更喜欢LMDB而不是ImageData吗?如果是,我如何进行?对于这种情况,我找不到任何好的教程/文档 由于您需要实现像素级的预测,因此不能使用单个标签作为基本事实。相反,您应该使用标签的基本真相矩阵 Caffe的一位同事编写了一段代码片段,用于创建带有图像数据的LMDB,请参见:
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()