Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Eric.Lee2021
handpose_x
提交
a7b89447
handpose_x
项目概览
Eric.Lee2021
/
handpose_x
通知
4991
Star
366
Fork
139
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
44
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
2
Wiki
分析
仓库
DevOps
项目成员
Pages
handpose_x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
44
Issue
44
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
2
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a7b89447
编写于
3月 18, 2021
作者:
Eric.Lee2021
🚴🏻
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add models inference
上级
038ff8f2
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
29 addition
and
6 deletion
+29
-6
inference.py
inference.py
+29
-6
未找到文件。
inference.py
浏览文件 @
a7b89447
...
...
@@ -17,21 +17,26 @@ from datetime import datetime
import
cv2
import
torch.nn.functional
as
F
from
models.resnet
import
resnet
50
,
resnet34
from
models.resnet
import
resnet
18
,
resnet34
,
resnet50
,
resnet101
from
models.squeezenet
import
squeezenet1_1
,
squeezenet1_0
from
models.shufflenetv2
import
ShuffleNetV2
from
models.shufflenet
import
ShuffleNet
from
models.mobilenetv2
import
MobileNetV2
from
torchvision.models
import
shufflenet_v2_x1_5
,
shufflenet_v2_x1_0
,
shufflenet_v2_x2_0
from
models.rexnetv1
import
ReXNetV1
from
utils.common_utils
import
*
import
copy
from
hand_data_iter.datasets
import
draw_bd_handpose
if
__name__
==
"__main__"
:
parser
=
argparse
.
ArgumentParser
(
description
=
' Project Hand Pose Inference'
)
parser
.
add_argument
(
'--model_path'
,
type
=
str
,
default
=
'./model_exp/2021-02-21_23-25-14/model_epoch-2.pth'
,
parser
.
add_argument
(
'--model_path'
,
type
=
str
,
default
=
'./weights/ReXNetV1-size-256-wingloss102-0.122.pth'
,
help
=
'model_path'
)
# 模型路径
parser
.
add_argument
(
'--model'
,
type
=
str
,
default
=
'resnet_50'
,
help
=
'model : resnet_x,squeezenet_x'
)
# 模型类型
parser
.
add_argument
(
'--model'
,
type
=
str
,
default
=
'ReXNetV1'
,
help
=
'''model : resnet_34,resnet_50,resnet_101,squeezenet1_0,squeezenet1_1,shufflenetv2,shufflenet,mobilenetv2
shufflenet_v2_x1_5 ,shufflenet_v2_x1_0 , shufflenet_v2_x2_0,ReXNetV1'''
)
# 模型类型
parser
.
add_argument
(
'--num_classes'
,
type
=
int
,
default
=
42
,
help
=
'num_classes'
)
# 手部21关键点, (x,y)*2 = 42
parser
.
add_argument
(
'--GPUS'
,
type
=
str
,
default
=
'0'
,
...
...
@@ -63,12 +68,30 @@ if __name__ == "__main__":
if
ops
.
model
==
'resnet_50'
:
model_
=
resnet50
(
num_classes
=
ops
.
num_classes
,
img_size
=
ops
.
img_size
[
0
])
elif
ops
.
model
==
'resnet_18'
:
model_
=
resnet18
(
num_classes
=
ops
.
num_classes
,
img_size
=
ops
.
img_size
[
0
])
elif
ops
.
model
==
'resnet_34'
:
model_
=
resnet34
(
num_classes
=
ops
.
num_classes
,
img_size
=
ops
.
img_size
[
0
])
elif
ops
.
model
==
'resnet_101'
:
model_
=
resnet101
(
num_classes
=
ops
.
num_classes
,
img_size
=
ops
.
img_size
[
0
])
elif
ops
.
model
==
"squeezenet1_0"
:
model_
=
squeezenet1_0
(
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"squeezenet1_1"
:
model_
=
squeezenet1_1
(
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"shufflenetv2"
:
model_
=
ShuffleNetV2
(
ratio
=
1.
,
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"shufflenet_v2_x1_5"
:
model_
=
shufflenet_v2_x1_5
(
pretrained
=
False
,
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"shufflenet_v2_x1_0"
:
model_
=
shufflenet_v2_x1_0
(
pretrained
=
False
,
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"shufflenet_v2_x2_0"
:
model_
=
shufflenet_v2_x2_0
(
pretrained
=
False
,
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"shufflenet"
:
model_
=
ShuffleNet
(
num_blocks
=
[
2
,
4
,
2
],
num_classes
=
ops
.
num_classes
,
groups
=
3
)
elif
ops
.
model
==
"mobilenetv2"
:
model_
=
MobileNetV2
(
num_classes
=
ops
.
num_classes
)
elif
ops
.
model
==
"ReXNetV1"
:
model_
=
ReXNetV1
(
num_classes
=
ops
.
num_classes
)
use_cuda
=
torch
.
cuda
.
is_available
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录