2

我正在尝试使用我创建的 LMDB 文件来定义 caffe 网络中的数据层,但出现以下错误

TypeError: 'LMDB' has type (type 'str'), but expected one of: (type 'int', type 'long')

我检查了传递给生成 lmdb 文件 ( caffe/build/tools/convert_imageset) 的脚本的文本文件中的标签。
我在这里错过了什么吗?

编辑-1:这是我的数据层定义:

n.data,n.labels = L.Data(batch_size = batch_size, 
                         source=lmdb_src, 
                         backend = "LMDB", 
                         transform_param = dict(mean_file = mean_file),
                         ntop=2)
4

1 回答 1

3

您正在尝试设置

backend: "LMDB"

在您的网络定义中,而不是

backend: LMDB

请注意,LMDB不是作为字符串传递,而是作为枚举整数传递。

你应该做的是设置

backend = caffe.Data.LMDB

使用 caffe protobuff 定义设置的枚举值。

于 2016-05-31T13:55:30.913 回答