Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
233a305b
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
233a305b
编写于
11月 03, 2017
作者:
D
Dong Zhihong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
"need to write math functors"
上级
83e65005
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
25 addition
and
14 deletion
+25
-14
python/paddle/v2/framework/evaluator.py
python/paddle/v2/framework/evaluator.py
+22
-14
python/paddle/v2/framework/math_ops.py
python/paddle/v2/framework/math_ops.py
+3
-0
未找到文件。
python/paddle/v2/framework/evaluator.py
浏览文件 @
233a305b
from
paddle.v2.framework.framework
import
Program
,
g_program
,
g_init_program
from
paddle.v2.framework.framework
import
Program
,
unique_name
from
paddle.v2.framework.layer_helper
import
LayerHelper
import
paddle.v2.framework.core
as
core
...
...
@@ -11,24 +12,14 @@ class Evaluator(object):
add increment operator to accumulate the metric states
"""
def
__init__
(
self
,
input
=
None
,
**
kwargs
):
if
"program"
in
kwargs
:
self
.
_program
=
kwargs
.
get
(
"program"
)
else
:
self
.
_program
=
input
.
program
def
__init__
(
self
,
evaluator_type
,
**
kwargs
):
self
.
_states
=
[]
def
_create_tmp_variable
(
self
,
name
,
dtype
):
return
self
.
program
.
current_block
().
create_var
(
name
=
unique_name
(
"."
.
join
([
self
.
name
,
'tmp'
])),
dtype
=
dtype
,
persistable
=
False
)
self
.
_helper
=
LayerHelper
(
layer_type
=
evaluator_type
,
**
kwargs
)
@
staticmethod
def
clear
(
self
):
"""
clear metric states at the begin of each pass/user specified batch
return a clear
"""
raise
NotImplementedError
()
...
...
@@ -41,7 +32,18 @@ class Evaluator(object):
class
Accuracy
(
Evaluator
):
def
__init__
(
self
,
input
,
label
,
k
=
1
,
**
kwargs
):
super
(
Accuracy
,
self
).
__init__
(
input
=
input
,
**
kwargs
)
super
(
Accuracy
,
self
).
__init__
(
"accuracy"
,
**
kwargs
)
g_total
=
helper
.
create_global_variable
(
name
=
unique_name
(
"Total"
),
persistable
=
True
,
dtype
=
"int64"
,
shape
=
[
1
])
g_correct
=
helper
.
create_global_variable
(
name
=
unique_name
(
"Correct"
),
persistable
=
True
,
dtype
=
"int64"
,
shape
=
[
1
])
topk_out
=
helper
.
create_tmp_variable
(
dtype
=
input
.
data_type
)
topk_indices
=
helper
.
create_tmp_variable
(
dtype
=
"int64"
)
helper
.
append_op
(
...
...
@@ -60,3 +62,9 @@ class Accuracy(Evaluator):
"Label"
:
[
label
]
},
outputs
=
{
"Accuracy"
:
[
acc_out
]})
helper
.
append_op
(
type
=
"sum"
,
inputs
=
{
"X"
:
[
g_total
,
],
},
outputs
=
{
"Out"
:
[
g_total
]})
return
acc_out
python/paddle/v2/framework/math_ops.py
0 → 100644
浏览文件 @
233a305b
import
paddle.v2.framework.core
as
core
from
paddle.v2.framework.framework
import
OpProtoHolder
,
Variable
,
Program
,
\
Operator
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录