import struct import sys from models import * from utils.utils import * model = Darknet('cfg/yolov3.cfg', (608, 608)) weights = sys.argv[1] dev = '0' if weights.endswith('.pt'): # pytorch format model.load_state_dict(torch.load(weights, map_location=device)['model']) else: # darknet format load_darknet_weights(model, weights) model = model.eval() f = open('yolov3.wts', 'w') f.write('{}\n'.format(len(model.state_dict().keys()))) for k, v in model.state_dict().items(): vr = v.reshape(-1).cpu().numpy() f.write('{} {} '.format(k, len(vr))) for vv in vr: f.write(' ') f.write(struct.pack('>f',float(vv)).hex()) f.write('\n')