Extrahieren von Gewichten aus .caffemodel ohne caffe in Python installiert

Gibt es einen relativ einfachen Weg, um Gewichte in Python aus einem der vielen vorgeübten Modelle im Caffe Zoo OHNE KAFFE (noch pyCaffe) zu extrahieren? .caffemodel parsing .caffemodel zu hdf5 / numpy oder was auch immer Format, das von Python gelesen werden kann?

Alle Antworten, die ich gefunden habe, verwenden C ++ – Code mit caffe Klassen oder Pycaffe. Ich habe bei pycaffe's Code sieht es sieht aus wie Sie wirklich brauchen caffe, um Sinn für die binäre ist, dass die einzige Lösung?

3 Solutions collect form web for “Extrahieren von Gewichten aus .caffemodel ohne caffe in Python installiert”

Heutzutage kann caffe die Gewichte in zwei Formaten speichern: BINARYPROTO oder HDF5. .caffemodel Dateien mit Erweiterung .caffemodel sind im BINARYPROTO Format, während Erweiterung .caffemodel.h5 im HDF5 Format sind. Da das HDF5-Format vor kurzem in Caffe eingeführt wurde, erwarte ich die meisten Modelle, die Sie derzeit im "Model Zoo" treffen, um im "traditionellen" BINARYPROTO-Format zu sein.

Wenn die Gewichte im HDF5-Format gespeichert sind, können Sie sie mit h5py Paket h5py .

Das BINARYPROTO-Format basiert jedoch auf einer binären Serialisierung des Google-Protokollpufferformats, die von caffe.proto definiert wird. Ich bin kein Experte in Protokoll-Puffer, aber ich vermute, Sie werden eine wirklich harte Zeit entschlüsseln die Binärdatei ohne explizite "Kompilieren" der caffe.proto protobuf Definition-Dateien (die Teil der caffe bauen).

Ich nehme an, der einfachste Weg, um in die Gewichte zu wählen ist durch die Installation von caffe und mit seiner python / C ++ – Schnittstelle. Warum machst du das nicht?

Ich verstehe nicht, warum du das ohne caffe / pycaffe machen willst, vielleicht bist du müde, caffe auf neue Maschine einzusetzen? Aber da caffemodel ist spezielle binäre Datentyp von caffe, mit anderen Werkzeug macht das Leben nicht einfacher.

Wenn Sie darauf bestehen, dies zu tun, gibt es einen anderen Rahmen: Mocha auf Julia , die eine Methode zur Extraktion von caffemodel zu hdf5 bietet. Ich hoffe das könnte dir helfen.

Wie es so passiert, hat Ethereon eine wunderbare Bibliothek, um Caffe-Modelle zu Tensor-Flow-Code zu konvertieren, aber das ist nicht alles!
Es erlaubt auch dem Benutzer zu konvertieren .caffemodel zu .npy ohne pycaffe zu bauen !!!
Es prüft, ob caffe gebaut wurde und wenn nicht es fällt zurück zu einer reinen google protobuf Umsetzung!
Weg, um Ethereon zu gehen !!!
Der Link .

  • Caffe zwei Klasse Multi Label Klassifizierung mit hdf5
  • Ist es möglich, den objektiven Funktionswert bei jedem Trainingsschritt zu erhalten?
  • Wie effektiv bewerben Gradienten-Clipping in Tensor-Flow?
  • Super hohe Kosten Tensorflow
  • Wie man genau L1 Regularisierung der Tensorflow-Fehlerfunktion hinzufügt
  • Caffe Netzwerk immer sehr geringem Verlust, aber sehr schlechte Genauigkeit beim Testen
  • Tiefes Lernen - eine Reihe von naiven Fragen über caffe
  • Verstehen des LSTM-Modells mit Tensorflow für die Stimmungsanalyse
  • Wie fügt man Regelungen in TensorFlow hinzu?
  • Hinzufügen von mehreren Ebenen zu TensorFlow verursacht Verlustfunktion zu Nan werden
  • Keras, Ausgabe des Modells predict_proba
  • Python ist die beste Programmiersprache der Welt.