.pt 文件和 .weights 文件之间转换的错误方法

这个方法转出来的权重是不能用的,就不要尝试了

.pt是pytroch框架的,weights是Darknet框架的

from darknet import *
//pt转weights试过,确实可行
if weights.endswith('.pt'): 
   model = Darknet("cfgfile.cfg")
   model.load_weights("best.pt")
   model.save_weights(savedfile='converted.weights',cutoff=-1)
//下面的weights转pt我没试过,不知可不可行。
elif weights.endswith('.weights'):  
       _ = load_darknet_weights(model, weights)
       chkpt = {'epoch': -1, 'best_loss': None, 'model': model.state_dict(), 'optimizer': None}
       torch.save(chkpt, 'converted.pt')
       print("Success: converted '%s' to 'converted.pt'" % weights)

这几个函数一般在darknet.py文件中可以找到,名字可能有些许不同
我用的代码是这个:GitHub链接

你可能感兴趣的:(问题解决记录)