if __name__ == '__main__': # Create RKNN object rknn = RKNN(verbose=False) # pre-process config print('--> config model') rknn.config(channel_mean_value='103.94 116.78 123.68 58.82', reorder_channel='0 1 2', quantized_dtype='asymmetric_quantized-u8') print('done') # Load tensorflow model print('--> Loading model') ret = rknn.load_tflite( model='../../tflite/mobilenet_v1/mobilenet_v1.tflite') if ret != 0: print('Load mobilenet_v1 failed!') exit(ret) print('done') # Build model print('--> Building model') ret = rknn.build(do_quantization=True, dataset='./dataset.txt', rknn_batch_size=4) if ret != 0: print('Build mobilenet_v1 failed!') exit(ret) print('done')
print(top5_str) if __name__ == '__main__': # Create RKNN object rknn = RKNN() # pre-process config print('--> config model') rknn.config(channel_mean_value='127.5 127.5 127.5 127.5', reorder_channel='0 1 2') print('done') # Load tensorflow model print('--> Loading model') ret = rknn.load_tflite(model='./mobilenet_v1.tflite') if ret != 0: print('Load mobilenet_v1 failed!') exit(ret) print('done') # Build model print('--> Building model') ret = rknn.build(do_quantization=True, dataset='./dataset.txt', pre_compile=False) if ret != 0: print('Build mobilenet_v1 failed!') exit(ret) print('done') # Export rknn model print('--> Export RKNN model')
def convert_model(model_path, out_path, pre_compile): if os.path.isfile(model_path): yaml_config_file = model_path model_path = os.path.dirname(yaml_config_file) else: yaml_config_file = os.path.join(model_path, 'model_config.yml') if not os.path.exists(yaml_config_file): print('model config % not exist!' % yaml_config_file) exit(-1) model_configs = parse_model_config(yaml_config_file) exported_rknn_model_path_list = [] for model_name in model_configs['models']: model = model_configs['models'][model_name] rknn = RKNN() rknn.config(**model['configs']) print('--> Loading model...') if model['platform'] == 'tensorflow': model_file_path = os.path.join(model_path, model['model_file_path']) input_size_list = [] for input_size_str in model['subgraphs']['input-size-list']: input_size = list(map(int, input_size_str.split(','))) input_size_list.append(input_size) pass rknn.load_tensorflow(tf_pb=model_file_path, inputs=model['subgraphs']['inputs'], outputs=model['subgraphs']['outputs'], input_size_list=input_size_list) elif model['platform'] == 'tflite': model_file_path = os.path.join(model_path, model['model_file_path']) rknn.load_tflite(model=model_file_path) elif model['platform'] == 'caffe': prototxt_file_path = os.path.join(model_path, model['prototxt_file_path']) caffemodel_file_path = os.path.join(model_path, model['caffemodel_file_path']) rknn.load_caffe(model=prototxt_file_path, proto='caffe', blobs=caffemodel_file_path) elif model['platform'] == 'onnx': model_file_path = os.path.join(model_path, model['model_file_path']) rknn.load_onnx(model=model_file_path) else: print("platform %s not support!" % (model['platform'])) print('done') if model['quantize']: dataset_path = os.path.join(model_path, model['dataset']) else: dataset_path = './dataset' print('--> Build RKNN model...') rknn.build(do_quantization=model['quantize'], dataset=dataset_path, pre_compile=pre_compile) print('done') export_rknn_model_path = "%s.rknn" % (os.path.join( out_path, model_name)) print('--> Export RKNN model to: {}'.format(export_rknn_model_path)) rknn.export_rknn(export_path=export_rknn_model_path) exported_rknn_model_path_list.append(export_rknn_model_path) print('done') return exported_rknn_model_path_list
path = 'images/IV_images/' infrared = path + 'IR' + str(1) + '.png' visible = path + 'VIS' + str(1) + '.png' fusion_type = 'addition' # Create RKNN object rknn = RKNN(verbose=False) # Config for Model Input PreProcess rknn.config(channel_mean_value='128 128 128 128#128 128 128 128', reorder_channel='0 1 2#0 1 2') # Load TensorFlow Model print('--> Loading model') ret = rknn.load_tflite(model='./deepfusion_addition.tflite') print('done') # Build Model print('--> Building model') rknn.build(do_quantization=True, dataset='./dataset.txt') print('done') # Export RKNN Model ret = rknn.export_rknn('./deepfusion.rknn') # Direct Load RKNN Model rknn.load_rknn('./deepfusion.rknn') # Set inputs