Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
b7ed0cb8
MegEngine
项目概览
MegEngine 天元
/
MegEngine
大约 1 年 前同步成功
通知
396
Star
4705
Fork
582
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MegEngine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b7ed0cb8
编写于
1月 11, 2021
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(mge/quantization): replace `_reset` with "=" in observer
GitOrigin-RevId: ed6af9b98d1f68811a78f44d531c52b60339fbbe
上级
495b2003
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
5 deletion
+16
-5
imperative/python/megengine/quantization/observer.py
imperative/python/megengine/quantization/observer.py
+5
-5
imperative/python/test/unit/quantization/test_observer.py
imperative/python/test/unit/quantization/test_observer.py
+11
-0
未找到文件。
imperative/python/megengine/quantization/observer.py
浏览文件 @
b7ed0cb8
...
...
@@ -153,11 +153,11 @@ class ExponentialMovingAverageObserver(MinMaxObserver):
**
kwargs
):
super
().
__init__
(
mode
,
eps
,
dtype
,
narrow_range
,
**
kwargs
)
self
.
momentum
=
Tensor
(
momentum
)
self
.
momentum
=
Tensor
(
momentum
,
dtype
=
"float32"
)
self
.
runtime_momentum
=
Tensor
(
0.0
)
def
set_momentum
(
self
,
momentum
):
self
.
momentum
.
_reset
(
momentum
)
self
.
momentum
=
Tenosr
(
momentum
,
dtype
=
"float32"
)
def
forward
(
self
,
x_orig
):
if
self
.
enabled
:
...
...
@@ -439,9 +439,9 @@ class HistogramObserver(MinMaxObserver):
self
.
bins
,
)
self
.
histogram
.
_reset
(
new_histogram
)
self
.
min_val
.
_reset
(
new_min
)
self
.
max_val
.
_reset
(
new_max
)
self
.
histogram
=
Tensor
(
new_histogram
,
dtype
=
"float32"
)
self
.
min_val
=
Tensor
(
new_min
,
dtype
=
"float32"
)
self
.
max_val
=
Tensor
(
new_max
,
dtype
=
"float32"
)
def
forward
(
self
,
x_orig
):
self
.
sideeffect_forward
(
x_orig
)
...
...
imperative/python/test/unit/quantization/test_observer.py
浏览文件 @
b7ed0cb8
...
...
@@ -8,6 +8,7 @@ import megengine.distributed as dist
from
megengine.distributed.helper
import
get_device_count_by_fork
from
megengine.quantization.observer
import
(
ExponentialMovingAverageObserver
,
HistogramObserver
,
MinMaxObserver
,
Observer
,
PassiveObserver
,
...
...
@@ -44,6 +45,16 @@ def test_exponential_moving_average_observer():
np
.
testing
.
assert_allclose
(
m
.
max_val
.
numpy
(),
expected_max
)
def
test_histogram_observer
():
x
=
np
.
random
.
rand
(
3
,
3
,
3
,
3
).
astype
(
"float32"
)
np_min
,
np_max
=
x
.
min
(),
x
.
max
()
x
=
mge
.
tensor
(
x
)
m
=
HistogramObserver
()
m
(
x
)
np
.
testing
.
assert_allclose
(
m
.
min_val
.
numpy
(),
np_min
)
np
.
testing
.
assert_allclose
(
m
.
max_val
.
numpy
(),
np_max
)
def
test_passive_observer
():
q_dict
=
{
"scale"
:
mge
.
tensor
(
1.0
)}
m
=
PassiveObserver
(
q_dict
,
"qint8"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录