下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
官网下载源码、模型和测试数据集:源代码:/ultralytics/ultralytics模型:/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt测试数据:/s/1q8t6WUe2r9NavY-4jYOokA?pwd=mf4i安装依赖环境:cdultralyticspipinstall-rrequirements.txt-i/simplepythonsetup.pyinstall修改脚本(ultralytics/nn/tasks.py)defxywh2xyxy(x):
y=x.clone()
y[:,:,0]=x[:,:,0]-x[:,:,2]/2
#topleftx
y[:,:,1]=x[:,:,1]-x[:,:,3]/2
#toplefty
y[:,:,2]=x[:,:,0]+x[:,:,2]/2
#bottomrightx
y[:,:,3]=x[:,:,1]+x[:,:,3]/2
#bottomrighty
returnydefget_box(input_feature_np):
boxes_feat=input_feature_np[:,:,0:4]
boxes_xyxy=xywh2xyxy(boxes_feat)
returnboxes_xyxydefget_score(input_feature_np):
#confidence_feat=input_feature_np[:,:,4:5]
#classes_feat=input_feature_np[:,:,5:]
#score=confidence_feat*classes_feat
score=input_feature_np[:,:,4:]
returnscore
def_predict_once(self,x,profile=False,visualize=False):
"""
Performaforwardpassthroughthenetwork.
Args:
x(torch.Tensor):Theinputtensortothemodel.
profile(bool):
PrintthecomputationtimeofeachlayerifTrue,defaultstoFalse.
visualize(bool):SavethefeaturemapsofthemodelifTrue,defaultstoFalse
Returns:
(torch.Tensor):Thelastoutputofthemodel.
"""
y,dt=[],[]
#outputs
forminself.model:
ifm.f!=-1:
#ifnotfrompreviouslayer
x=y[m.f]ifisinstance(m.f,int)else[xifj==-1elsey[j]forjinm.f]
#fromearlierlayers
ifprofile:
self._profile_one_layer(m,x,dt)
x=m(x)
#run
y.append(xifm.iinself.saveelseNone)
#saveoutput
ifvisualize:
feature_visualization(x,m.type,m.i,save_dir=visualize)
xt=x.transpose(1,2)
bboxes=get_box(xt)
scores=get_score(xt)
returnbboxes,scores
returnx修改输出(ultralytics/engine/exporter.py)name添加导出onnx脚本importonnxfromonnximportGraphProto,TensorProtofromonnx.helperimportmake_tensor_value_info,make_attribute,make_node,make_modelfromultralyticsimportYOLOdefappend_nms(graph,unused_node=[]):
ngraph=GraphProto()
=
ngraph.input.extend([iforiingraph.inputifnotinunused_node])
ngraph.initializer.extend([iforiingraph.initializerifnotinunused_node])
ngraph.value_info.extend([iforiingraph.value_infoifnotinunused_node])
ngraph.node.extend([iforiingraph.nodeifnotinunused_node])
output_info=[iforiingraph.output]
ngraph.value_info.extend(output_info)
print(graph.output)
nms=make_node(
'DLNonMaxSuppression',
inputs=['bboxes','scores'],
outputs=['num_detections','nmsed_boxes','nmsed_scores','nmsed_classes']
)
nms.attribute.append(make_attribute('backgroundLabelId',-1))
nms.attribute.append(make_attribute('iouThreshold',0.45))
nms.attribute.append(make_attribute('isNormalized',False))
nms.attribute.append(make_attribute('keepTopK',200))
nms.attribute.append(make_attribute('numClasses',80))#
nms.attribute.append(make_attribute('shareLocation',True))
nms.attribute.append(make_attribute('scoreThreshold',0.25))
nms.attribute.append(make_attribute('topK',1000))
ngraph.node.append(nms)
num_detection=make_tensor_value_info('num_detections',TensorProto.INT32,[1,1])
nmsed_box=make_tensor_value_info('nmsed_boxes',TensorProto.FLOAT,[1,200,4])
nmsed_score=make_tensor_value_info('nmsed_scores',TensorProto.FLOAT,[1,200,1])
nmsed_class=make_tensor_value_info('nmsed_classes',TensorProto.FLOAT,[1,200,1])
ngraph.output.extend([num_detection,nmsed_box,nmsed_score,nmsed_class])
returnngraphdefexport_onnx():
#Loadamodel
model=YOLO("yolov8m.pt")
#loadapretrainedmodel(recommendedfortraining)
f=model.export(format="onnx")
#exportthemodeltoONNXformat
print('model.exportsuccess')
#Checks
model_onnx=onnx.load(f)
#loadonnxmodel
onnx.checker.check_model(model_onnx)
#checkonnxmodel
#Simplify
try:
importonnxsim
model_onnx,check=onnxsim.simplify(model_onnx)
assertcheck,'assertcheckfailed'
onnx.save(model_onnx,f)
exceptExceptionase:
print(f'simplifierfailure:{e}')
returnmodel_onnxmodel=export_onnx()model_attrs=dict(
ir_version=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年银行电脑验印系统项目可行性研究报告
- 2024年氯璜化聚乙烯冷却塔防潮涂料项目可行性研究报告
- 2024年土方协议增补条款标准模板版B版
- 2024年光伏组件采购与安装服务协议
- 2024年学校会议室租赁协议模板版B版
- 2024年度体育赛事赞助合同标的:赛事赞助及广告权益
- 2024年度产品加工承揽协议样本一
- 二零二四年度研发合作合同协议书3篇
- 2024年度供应链金融合同5篇
- 2024年度翻译服务收尾合同范本2篇
- 110kV升压站构支架组立施工方案
- 物业管理服务方案及服务保障措施
- 施工总平面布置图范文
- 家长会课件:三年级上册期中数学家长会课件
- 初中数学七年级上册《绝对值》说课课件 肖娜
- 廉洁提醒谈话记录表 (空表)
- 医疗美容诊所手术室规章制度范本
- 不锈钢内衬特氟龙风管系统
- 中国古代建筑欣赏(最全)
- 新生儿高胆红素血症-PPT
- 水平定向钻施工技术培训的讲义课件
评论
0/150
提交评论