Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
u013913216
mmyolo
提交
8e392522
M
mmyolo
项目概览
u013913216
/
mmyolo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mmyolo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
8e392522
编写于
1月 12, 2023
作者:
T
tripleMu
提交者:
GitHub
1月 12, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support YOLOv8 deploy (#456)
上级
550664d5
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
24 addition
and
5 deletion
+24
-5
projects/easydeploy/backbone/__init__.py
projects/easydeploy/backbone/__init__.py
+2
-1
projects/easydeploy/backbone/common.py
projects/easydeploy/backbone/common.py
+15
-0
projects/easydeploy/model/model.py
projects/easydeploy/model/model.py
+5
-2
projects/easydeploy/tools/export.py
projects/easydeploy/tools/export.py
+1
-0
projects/easydeploy/tools/image-demo.py
projects/easydeploy/tools/image-demo.py
+1
-2
未找到文件。
projects/easydeploy/backbone/__init__.py
浏览文件 @
8e392522
# Copyright (c) OpenMMLab. All rights reserved.
from
.common
import
DeployC2f
from
.focus
import
DeployFocus
,
GConvFocus
,
NcnnFocus
__all__
=
[
'DeployFocus'
,
'NcnnFocus'
,
'GConvFocus'
]
__all__
=
[
'DeployFocus'
,
'NcnnFocus'
,
'GConvFocus'
,
'DeployC2f'
]
projects/easydeploy/backbone/common.py
0 → 100644
浏览文件 @
8e392522
import
torch
import
torch.nn
as
nn
from
torch
import
Tensor
class
DeployC2f
(
nn
.
Module
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
super
().
__init__
()
def
forward
(
self
,
x
:
Tensor
)
->
Tensor
:
x_main
=
self
.
main_conv
(
x
)
x_main
=
[
x_main
,
x_main
[:,
self
.
mid_channels
:,...]]
x_main
.
extend
(
blocks
(
x_main
[
-
1
])
for
blocks
in
self
.
blocks
)
x_main
.
pop
(
1
)
return
self
.
final_conv
(
torch
.
cat
(
x_main
,
1
))
projects/easydeploy/model/model.py
浏览文件 @
8e392522
...
...
@@ -11,7 +11,8 @@ from torch import Tensor
from
mmyolo.models
import
RepVGGBlock
from
mmyolo.models.dense_heads
import
(
RTMDetHead
,
YOLOv5Head
,
YOLOv7Head
,
YOLOXHead
)
from
..backbone
import
DeployFocus
,
GConvFocus
,
NcnnFocus
from
mmyolo.models.layers
import
CSPLayerWithTwoConv
from
..backbone
import
DeployC2f
,
DeployFocus
,
GConvFocus
,
NcnnFocus
from
..bbox_code
import
(
rtmdet_bbox_decoder
,
yolov5_bbox_decoder
,
yolox_bbox_decoder
)
from
..nms
import
batched_nms
,
efficient_nms
,
onnx_nms
...
...
@@ -49,7 +50,7 @@ class DeployModel(nn.Module):
for
layer
in
self
.
baseModel
.
modules
():
if
isinstance
(
layer
,
RepVGGBlock
):
layer
.
switch_to_deploy
()
if
isinstance
(
layer
,
Focus
):
el
if
isinstance
(
layer
,
Focus
):
# onnxruntime tensorrt8 tensorrt7
if
self
.
backend
in
(
1
,
2
,
3
):
self
.
baseModel
.
backbone
.
stem
=
DeployFocus
(
layer
)
...
...
@@ -59,6 +60,8 @@ class DeployModel(nn.Module):
# switch focus to group conv
else
:
self
.
baseModel
.
backbone
.
stem
=
GConvFocus
(
layer
)
elif
isinstance
(
layer
,
CSPLayerWithTwoConv
):
setattr
(
layer
,
'__class__'
,
DeployC2f
)
def
pred_by_feat
(
self
,
cls_scores
:
List
[
Tensor
],
...
...
projects/easydeploy/tools/export.py
浏览文件 @
8e392522
...
...
@@ -16,6 +16,7 @@ warnings.filterwarnings(action='ignore', category=torch.jit.TracerWarning)
warnings
.
filterwarnings
(
action
=
'ignore'
,
category
=
torch
.
jit
.
ScriptWarning
)
warnings
.
filterwarnings
(
action
=
'ignore'
,
category
=
UserWarning
)
warnings
.
filterwarnings
(
action
=
'ignore'
,
category
=
FutureWarning
)
warnings
.
filterwarnings
(
action
=
'ignore'
,
category
=
ResourceWarning
)
def
parse_args
():
...
...
projects/easydeploy/tools/image-demo.py
浏览文件 @
8e392522
# Copyright (c) OpenMMLab. All rights reserved.
from
projects.easydeploy.model
import
ORTWrapper
,
TRTWrapper
# isort:skip
import
os
import
random
from
argparse
import
ArgumentParser
...
...
@@ -15,8 +16,6 @@ from mmengine.utils import ProgressBar, path
from
mmyolo.utils
import
register_all_modules
from
mmyolo.utils.misc
import
get_file_list
from
projects.easydeploy.model
import
ORTWrapper
,
TRTWrapper
# isort:skip
def
parse_args
():
parser
=
ArgumentParser
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录