Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
05ecf1d0
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
大约 1 年 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
05ecf1d0
编写于
5月 18, 2022
作者:
Z
zhiboniu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
multi-card eval support
上级
824746b3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
5 addition
and
4 deletion
+5
-4
ppcls/data/dataloader/multilabel_dataset.py
ppcls/data/dataloader/multilabel_dataset.py
+2
-2
ppcls/engine/evaluation/classification.py
ppcls/engine/evaluation/classification.py
+1
-0
ppcls/loss/multilabelloss.py
ppcls/loss/multilabelloss.py
+1
-1
ppcls/metric/metrics.py
ppcls/metric/metrics.py
+1
-1
未找到文件。
ppcls/data/dataloader/multilabel_dataset.py
浏览文件 @
05ecf1d0
...
@@ -42,7 +42,7 @@ class MultiLabelDataset(CommonDataset):
...
@@ -42,7 +42,7 @@ class MultiLabelDataset(CommonDataset):
self
.
labels
.
append
(
labels
)
self
.
labels
.
append
(
labels
)
assert
os
.
path
.
exists
(
self
.
images
[
-
1
])
assert
os
.
path
.
exists
(
self
.
images
[
-
1
])
if
label_ratio
:
if
label_ratio
:
return
np
.
array
(
self
.
labels
).
mean
(
0
)
return
np
.
array
(
self
.
labels
).
mean
(
0
)
.
astype
(
"float32"
)
def
__getitem__
(
self
,
idx
):
def
__getitem__
(
self
,
idx
):
try
:
try
:
...
@@ -53,7 +53,7 @@ class MultiLabelDataset(CommonDataset):
...
@@ -53,7 +53,7 @@ class MultiLabelDataset(CommonDataset):
img
=
img
.
transpose
((
2
,
0
,
1
))
img
=
img
.
transpose
((
2
,
0
,
1
))
label
=
np
.
array
(
self
.
labels
[
idx
]).
astype
(
"float32"
)
label
=
np
.
array
(
self
.
labels
[
idx
]).
astype
(
"float32"
)
if
self
.
label_ratio
is
not
None
:
if
self
.
label_ratio
is
not
None
:
return
(
img
,
[
label
,
self
.
label_ratio
]
)
return
(
img
,
np
.
array
([
label
,
self
.
label_ratio
])
)
else
:
else
:
return
(
img
,
label
)
return
(
img
,
label
)
...
...
ppcls/engine/evaluation/classification.py
浏览文件 @
05ecf1d0
...
@@ -84,6 +84,7 @@ def classification_eval(engine, epoch_id=0):
...
@@ -84,6 +84,7 @@ def classification_eval(engine, epoch_id=0):
# gather Tensor when distributed
# gather Tensor when distributed
if
paddle
.
distributed
.
get_world_size
()
>
1
:
if
paddle
.
distributed
.
get_world_size
()
>
1
:
label_list
=
[]
label_list
=
[]
paddle
.
distributed
.
all_gather
(
label_list
,
batch
[
1
])
paddle
.
distributed
.
all_gather
(
label_list
,
batch
[
1
])
labels
=
paddle
.
concat
(
label_list
,
0
)
labels
=
paddle
.
concat
(
label_list
,
0
)
...
...
ppcls/loss/multilabelloss.py
浏览文件 @
05ecf1d0
...
@@ -38,7 +38,7 @@ class MultiLabelLoss(nn.Layer):
...
@@ -38,7 +38,7 @@ class MultiLabelLoss(nn.Layer):
def
_binary_crossentropy
(
self
,
input
,
target
,
class_num
):
def
_binary_crossentropy
(
self
,
input
,
target
,
class_num
):
if
self
.
weight_ratio
:
if
self
.
weight_ratio
:
target
,
label_ratio
=
target
target
,
label_ratio
=
target
[:,
0
,
:],
target
[:,
1
,
:]
if
self
.
epsilon
is
not
None
:
if
self
.
epsilon
is
not
None
:
target
=
self
.
_labelsmoothing
(
target
,
class_num
)
target
=
self
.
_labelsmoothing
(
target
,
class_num
)
cost
=
F
.
binary_cross_entropy_with_logits
(
cost
=
F
.
binary_cross_entropy_with_logits
(
...
...
ppcls/metric/metrics.py
浏览文件 @
05ecf1d0
...
@@ -363,6 +363,6 @@ class ATTRMetric(nn.Layer):
...
@@ -363,6 +363,6 @@ class ATTRMetric(nn.Layer):
self
.
threshold
=
threshold
self
.
threshold
=
threshold
def
forward
(
self
,
output
,
target
):
def
forward
(
self
,
output
,
target
):
metric_dict
=
get_attr_metrics
(
target
[
0
].
numpy
(),
metric_dict
=
get_attr_metrics
(
target
[
:,
0
,
:
].
numpy
(),
output
.
numpy
(),
self
.
threshold
)
output
.
numpy
(),
self
.
threshold
)
return
metric_dict
return
metric_dict
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录