yolov3模型轉換為OM模型

2022-09-06 02:39:07 字數 1521 閱讀 6258

2.將yolov3.weights放到~/test/yolov3_tensorflow-master/data/darknet_weights資料夾中,voc_names.txt裡寫入訓練的類別

3.修改test/yolov3_tensorflow-master中convert_weight.py裡的類別個數,執行python3 convert_weight.py

4.~/test/yolov3_tensorflow-master/data/darknet_weights中生成的3個ckpt後執行python3 topb.py生成 yolov3.pb模型,

5.拷貝aipp_yolov3_picture.cfg檔案到.pb檔案同一資料夾下,執行命令 omg --model ./yolov3.pb --framework 3 --output ./yolov3_facemask --insert_op_conf ./aipp_yolov3_picture.cfg --input_shape "placeholder:1,416,416,3",生成om檔案

topb.py:

import tensorflow as tf

from tensorflow.python.framework import graph_util

from tensorflow.python.platform import gfile

def freeze_graph(input_path,output_path):

output_node_names="yolov3/yolov3_head/feature_map_1,yolov3/yolov3_head/feature_map_2,yolov3/yolov3_head/feature_map_3"

s**er=tf.train.import_meta_graph(input_path+".meta",clear_devices=true)

graph=tf.get_default_graph()

input_graph_def=graph.as_graph_def()

with tf.session() as sess:

s**er.restore(sess,input_path)

output_graph_def=graph_util.convert_variables_to_constants(

sess=sess,

input_graph_def=input_graph_def,

output_node_names=output_node_names.split(",")

)with tf.gfile.gfile(output_path,'wb') as fgraph:

fgraph.write(output_graph_def.serializetostring())

if __name__ == '__main__':

input_path ="./yolov3.ckpt"

output_path="./yolov3/yolov3.pb"

freeze_graph(input_path,output_path)

使用YOLOv3訓練VOC模型

yolo官網 本篇博文主要是參照官網步驟進行voc資料的訓練,博主也是更改接觸,如果有錯誤的地方,歡迎指正 操作環境 ubuntu 如果使用gpu需要安裝cuda和cudnn,應為我這邊環境已經裝好了,所以並沒有嘗試安裝 具體安裝步驟可以參考一篇部落格 git clone cd darknet ma...

yolov3模型微調相關

這裡記錄一下關於yolov3做模型微調的相關命令.首次訓練都會載入預訓練模型darknet53.conv.74,假如首次訓練出了模型1,要在模型1的基礎上finetuning模型2,當然前提是模型2與模型1之間網路結構沒有發生變化,類別也沒有增加.類別增加的話我暫時還不太清楚 這個時候有兩種解決方法...

yolov3模型微調相關

這裡記錄一下關於yolov3做模型微調的相關命令.首次訓練都會載入預訓練模型darknet53.conv.74,假如首次訓練出了模型1,要在模型1的基礎上finetuning模型2,當然前提是模型2與模型1之間網路結構沒有發生變化,類別也沒有增加.類別增加的話我暫時還不太清楚 這個時候有兩種解決方法...