keras的h5權重文件轉 darknet的weights權重文件

1.下載源碼

Github鏈接(感謝caimingxie)
源碼下載後解壓,用Pycharm打開工程,配置虛擬環境,選擇和Keras-yolo3的環境(一致的)
在這裏插入圖片描述

2.修改源碼

  • check_weight.py 修改三個文件路徑,路徑根據文件的實際位置來確定。從keras-yolo工程中拷貝過來,再修改路徑
if __name__ == '__main__':

    model_path = "./yolov3_tiny1.h5"     # keras yolov3 h5 model file 權重路徑
    config_path = 'yolov3-tiny.cfg'      # .cfg  模型配置文件
    weight_file = open('yolov3_tiny1.weights', 'wb')   # darknet yolov3 weights 文件保存位置


    yoloobj = YOLO(model_path)
    model = yoloobj.yolo_model
    _main()

3.文件檢查

  • voc_classes.txt中是訓練的模型的物體類別名稱。注意不能有有空行,有的話要刪除
  • yolo_anchor.txt也是根據keras-yolo3中的先驗框來確定的。例如我這邊是yolo-tiny模型,就把原先的9個框替換爲了我自己的6個框
    在這裏插入圖片描述
  • 模型的配置文件.cfg要和訓練出來的模型一致,注意需要修改的地方,例如圖像尺寸,濾波器個數,訓練時物體種類的個數。根據實際情況來,我需要的是yolo3-tiny.cfg文件。
  • 反正要保證涉及到的文件的路徑和內容正確。包括h5模型文件,cfg模型配置文件,yolo_anchors文件,voc_class文件

3.運行h5_to_weights.py文件

在這裏插入圖片描述
得到weights權重文件
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章