Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
stoneliu1981
pytorch-image-models
提交
edb425ea
P
pytorch-image-models
项目概览
stoneliu1981
/
pytorch-image-models
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pytorch-image-models
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
edb425ea
编写于
7月 03, 2019
作者:
R
Ross Wightman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add crop_pct arg to validate, extra fields to csv output, 'all' filters pretrained
上级
949b7a81
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
8 deletion
+15
-8
validate.py
validate.py
+15
-8
未找到文件。
validate.py
浏览文件 @
edb425ea
...
...
@@ -30,6 +30,8 @@ parser.add_argument('-b', '--batch-size', default=256, type=int,
metavar
=
'N'
,
help
=
'mini-batch size (default: 256)'
)
parser
.
add_argument
(
'--img-size'
,
default
=
None
,
type
=
int
,
metavar
=
'N'
,
help
=
'Input image dimension, uses model default if empty'
)
parser
.
add_argument
(
'--crop-pct'
,
default
=
None
,
type
=
float
,
metavar
=
'N'
,
help
=
'Input image center crop pct'
)
parser
.
add_argument
(
'--mean'
,
type
=
float
,
nargs
=
'+'
,
default
=
None
,
metavar
=
'MEAN'
,
help
=
'Override mean pixel value of dataset'
)
parser
.
add_argument
(
'--std'
,
type
=
float
,
nargs
=
'+'
,
default
=
None
,
metavar
=
'STD'
,
...
...
@@ -81,6 +83,7 @@ def validate(args):
criterion
=
nn
.
CrossEntropyLoss
().
cuda
()
crop_pct
=
1.0
if
test_time_pool
else
data_config
[
'crop_pct'
]
loader
=
create_loader
(
Dataset
(
args
.
data
,
load_bytes
=
args
.
tf_preprocessing
),
input_size
=
data_config
[
'input_size'
],
...
...
@@ -90,7 +93,7 @@ def validate(args):
mean
=
data_config
[
'mean'
],
std
=
data_config
[
'std'
],
num_workers
=
args
.
workers
,
crop_pct
=
1.0
if
test_time_pool
else
data_config
[
'crop_pct'
]
,
crop_pct
=
crop_pct
,
tf_preprocessing
=
args
.
tf_preprocessing
)
batch_time
=
AverageMeter
()
...
...
@@ -124,16 +127,19 @@ def validate(args):
'Test: [{0:>4d}/{1}] '
'Time: {batch_time.val:.3f} ({batch_time.avg:.3f}) '
'Loss: {loss.val:>7.4f} ({loss.avg:>6.4f}) '
'Prec@1: {top1.val:>7.
4f} ({top1.avg:>7.4
f}) '
'Prec@5: {top5.val:>7.
4f} ({top5.avg:>7.4
f})'
.
format
(
'Prec@1: {top1.val:>7.
3f} ({top1.avg:>7.3
f}) '
'Prec@5: {top5.val:>7.
3f} ({top5.avg:>7.3
f})'
.
format
(
i
,
len
(
loader
),
batch_time
=
batch_time
,
rate_avg
=
input
.
size
(
0
)
/
batch_time
.
avg
,
loss
=
losses
,
top1
=
top1
,
top5
=
top5
))
results
=
OrderedDict
(
top1
=
round
(
top1
.
avg
,
3
),
top1_err
=
round
(
100
-
top1
.
avg
,
3
),
top5
=
round
(
top5
.
avg
,
3
),
top5_err
=
round
(
100
-
top5
.
avg
,
3
),
param_count
=
round
(
param_count
/
1e6
,
2
))
top1
=
round
(
top1
.
avg
,
4
),
top1_err
=
round
(
100
-
top1
.
avg
,
4
),
top5
=
round
(
top5
.
avg
,
4
),
top5_err
=
round
(
100
-
top5
.
avg
,
4
),
param_count
=
round
(
param_count
/
1e6
,
2
),
img_size
=
data_config
[
'input_size'
][
-
1
],
cropt_pct
=
crop_pct
,
interpolation
=
data_config
[
'interpolation'
])
logging
.
info
(
' * Prec@1 {:.3f} ({:.3f}) Prec@5 {:.3f} ({:.3f})'
.
format
(
results
[
'top1'
],
results
[
'top1_err'
],
results
[
'top5'
],
results
[
'top5_err'
]))
...
...
@@ -155,7 +161,7 @@ def main():
if
args
.
model
==
'all'
:
# validate all models in a list of names with pretrained checkpoints
args
.
pretrained
=
True
model_names
=
list_models
()
model_names
=
list_models
(
pretrained
=
True
)
model_cfgs
=
[(
n
,
''
)
for
n
in
model_names
]
elif
not
is_model
(
args
.
model
):
# model name doesn't exist, try as wildcard filter
...
...
@@ -170,7 +176,8 @@ def main():
args
.
model
=
m
args
.
checkpoint
=
c
result
=
OrderedDict
(
model
=
args
.
model
)
result
.
update
(
validate
(
args
))
r
=
validate
(
args
)
result
.
update
(
r
)
if
args
.
checkpoint
:
result
[
'checkpoint'
]
=
args
.
checkpoint
dw
=
csv
.
DictWriter
(
cf
,
fieldnames
=
result
.
keys
())
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录