Я пытаюсь понять, что делает сверточная нейронная сеть SegNet, поэтому я создал модуль Python для этого, надеясь распечатать различные формы и свойства своих слоев.pycaffe не распознает действительный параметр в файле prototxt
from __future__ import print_function
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import caffe
caffe.set_device(0)
caffe.set_mode_gpu()
net = caffe.Net('/path/to/models/segnet_train.prototxt', caffe.TEST)
[print(k, v.data.shape) for k, v in net.blobs.items()]
Но он говорит мне, что файл является неправильным, хотя я могу правильно тренировать эту сеть с SegNet условия файлов (см файла prototxt here). Что это значит и что мне делать?
Вот полная ошибка
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 7:26: Message type "caffe.LayerParameter" has no field named "dense_image_data_param".
WARNING: Logging before InitGoogleLogging() is written to STDERR
F1212 15:59:09.624486 20202 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /path/to/models/segnet_train.prototxt
Это сообщение http://stackoverflow.com/a/39432128/6281477 может предоставить вам некоторый намек. – Dale
Спасибо! Не совсем моя ошибка. У меня нет ничего подобного для изменения, поэтому я изменил _dense \ _image \ _data \ _param_ на _image \ _data \ _param_. Теперь ошибка изменилась на «... не имеет параметра« bn_param »'. Я нашел что-то [здесь] (https://github.com/alexgkendall/SegNet-Tutorial/issues/13), но я этого не понимаю. Вы можете мне помочь? – BusyAnt
Думаю, вы не установили правильную версию caffe, которую SegNet берет на себя. Потому что у другой версии caffe могут быть разные 'caffe.proto' и разные слои в папке' src/caffe/layers/'. – Dale