2016-05-31 4 views
3

Я пытаюсь использовать файл LMDB, который я создал, чтобы определить уровень данных в Caffe сети, и я получаю ниже ошибкиОшибка чтения файла lmdb в Caffe сети

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

Я проверил для этикеток в текстовом файле, Я передал сценарий, который генерирует файл lmdb (caffe/build/tools/convert_imageset).
Я что-то пропустил?

Edit -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

Вы пытаетесь установить

backend: "LMDB" 

в вашей сети определение, вместо

backend: LMDB 

Примечание что LMDB является не передается как строка, а скорее как перечислимое целое число.

Что вы должны сделать, это установить

backend = caffe.Data.LMDB 

Используйте значение перечисления, установленного определением кофейная protobuff.

+0

@VenkataDikshitPappu 1. не размещайте комментарии в комментариях, которые невозможно прочитать. 2. Какова ценность LMDB? Пожалуйста, отредактируйте свой вопрос с образцом кода, который воспроизводит ошибку – Shai

+1

Я добавил фрагмент к вопросу –

+0

@VenkataDikshitPappu, пожалуйста, см. Мое редактирование – Shai