def CaffeParse(architecture_name, image_path): from mmdnn.conversion.examples.caffe.extractor import caffe_extractor # download model architecture_file, weight_file = caffe_extractor.download(architecture_name, TestModels.cachedir) # get original model prediction result original_predict = caffe_extractor.inference(architecture_name,architecture_file, weight_file, image_path) del caffe_extractor # original to IR from mmdnn.conversion.caffe.transformer import CaffeTransformer transformer = CaffeTransformer(architecture_file, weight_file, "tensorflow", None, phase = 'TRAIN') graph = transformer.transform_graph() data = transformer.transform_data() from mmdnn.conversion.caffe.writer import ModelSaver, PyWriter prototxt = graph.as_graph_def().SerializeToString() IR_file = TestModels.tmpdir + 'caffe_' + architecture_name + "_converted" pb_path = IR_file + '.pb' with open(pb_path, 'wb') as of: of.write(prototxt) print ("IR network structure is saved as [{}].".format(pb_path)) import numpy as np npy_path = IR_file + '.npy' with open(npy_path, 'wb') as of: np.save(of, data) print ("IR weights are saved as [{}].".format(npy_path)) return original_predict
def CaffeParse(architecture_name, image_path): from mmdnn.conversion.examples.caffe.extractor import caffe_extractor # download model architecture_file, weight_file = caffe_extractor.download(architecture_name, TestModels.cachedir) # get original model prediction result original_predict = caffe_extractor.inference(architecture_name, (architecture_file, weight_file), TestModels.cachedir, image_path) del caffe_extractor # original to IR from mmdnn.conversion.caffe.transformer import CaffeTransformer transformer = CaffeTransformer(architecture_file, weight_file, "tensorflow", None, phase = 'TRAIN') graph = transformer.transform_graph() data = transformer.transform_data() del CaffeTransformer from mmdnn.conversion.caffe.writer import ModelSaver, PyWriter prototxt = graph.as_graph_def().SerializeToString() IR_file = TestModels.tmpdir + 'caffe_' + architecture_name + "_converted" pb_path = IR_file + '.pb' with open(pb_path, 'wb') as of: of.write(prototxt) print ("IR network structure is saved as [{}].".format(pb_path)) import numpy as np npy_path = IR_file + '.npy' with open(npy_path, 'wb') as of: np.save(of, data) print ("IR weights are saved as [{}].".format(npy_path)) return original_predict