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 .

  • Wie effektiv bewerben Gradienten-Clipping in Tensor-Flow?
  • Verstehen Tensorflow LSTM Modelle Eingabe?
  • Den letzten Wert der LSTM-Sequenz in Tensorflow abrufen
  • Aktivierungsfunktionsfehler in einem 1D CNN in Keras
  • Verwirrt über Tensorabmessungen und Chargengrößen in pytorch
  • Wie man genau L1 Regularisierung der Tensorflow-Fehlerfunktion hinzufügt
  • Ist es möglich, den objektiven Funktionswert bei jedem Trainingsschritt zu erhalten?
  • Tensorflow Slim: TypeError: Erwartete int32, bekannte Liste mit Tensoren vom Typ '_Message' stattdessen
  • Warum ändert sich meine Validierung in Keras, um die Leistung meines Modells zu ändern?
  • Finden Sie die richtigen Parameter für neuronales Netzwerk für Pong-Spiel
  • Wie rekonstruieren Sie die caffe net mit pycaffe
  • Python ist die beste Programmiersprache der Welt.