blob: 865e047507df4099d8f658de9c31ca92567c1bf9 [file]
from google.protobuf import text_format
import numpy as np
import caffe_pb2
def parse_caffemodel(filepath):
'''
parses the trained .caffemodel file
filepath: /path/to/trained-model.caffemodel
returns: layers
'''
f = open(filepath, 'rb')
contents = f.read()
netparam = caffe_pb2.NetParameter()
netparam.ParseFromString(contents)
layers = find_layers(netparam)
return layers
def find_layers(netparam):
if len(netparam.layers) > 0:
return netparam.layers
elif len(netparam.layer) > 0:
return netparam.layer
else:
raise Exception ("Couldn't find layers")
def main():
param_dict = parse_caffemodel('xxx.caffemodel')
if __name__ == '__main__':
main()