2016-12-12 4 views
0

Ich versuche zu verstehen, was das konvolutionelle neuronale Netzwerk SegNet tut, also habe ich ein Python-Modul erstellt, um die verschiedenen Formen und Eigenschaften seiner Schichten auszudrucken.Pycaffe erkennt keinen gültigen Parameter in der Prototypdatei

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()] 

Aber es sagt mir, dass die Datei nicht korrekt ist, obwohl ich richtig dieses Netz trainieren kann mit segnet Dateien zur Verfügung gestellt (siehe prototxt Datei here). Was bedeutet das und was soll ich tun?

Hier wird der vollständige Fehler ist

[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 
+1

Dieser Beitrag http://stackoverflow.com/a/39432128/6281477 kann Ihnen einen Hinweis geben. – Dale

+0

Danke! Nicht gerade mein Fehler. Ich habe noch nichts zu ändern, also habe ich _dense \ _image \ _data \ _param_ in _image \ _data \ _param_ geändert. Jetzt hat sich der Fehler geändert in '... hat keinen Parameter" bn_param "'. Ich habe etwas [hier] gefunden (https://github.com/alexgkendall/SegNet-Tutorial/issues/13), aber ich verstehe es nicht. Kannst du mir helfen? – BusyAnt

+1

Ich denke, Sie haben nicht die richtige Version von Caffe installiert, die SegNet benötigt. Weil verschiedene Versionen von Caffe verschiedene 'caffe.proto' und verschiedene Ebenen innerhalb des Ordners' src/caffe/layers/'haben können. – Dale

Antwort

1

Als Dale in seiner comment wies darauf hin, es war in der Tat ein caffe Version Problem. Ich habe einen unabhängigen Caffe-Build verwendet, während SegNet mit einem eigenen Caffe ausgestattet ist.

Ich habe den Python-Pfad zu dieser Distribution geändert, und alles hat gut funktioniert.

Verwandte Themen