Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
01c3c0e8
Mace
项目概览
Xiaomi
/
Mace
通知
107
Star
40
Fork
27
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mace
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
01c3c0e8
编写于
2月 21, 2019
作者:
W
Wiktor Adamski
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Code style changes.
上级
6ddd532d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
13 deletion
+12
-13
mace/ops/one_hot.cc
mace/ops/one_hot.cc
+12
-13
未找到文件。
mace/ops/one_hot.cc
浏览文件 @
01c3c0e8
...
...
@@ -57,7 +57,7 @@ class OneHotOp<DeviceType::CPU, T> : public OneHotOpBase {
const
std
::
vector
<
index_t
>
&
input_shape
=
input
->
shape
();
std
::
vector
<
index_t
>
output_shape
(
input_shape
.
size
()
+
1
);
MACE_CHECK
(
input
->
dim_size
()
<
100
);
// prevents too deep recursion
MACE_CHECK
(
input
->
dim_size
()
<
100
);
// prevents too deep recursion
MACE_CHECK
(
axis
>=
0
&&
axis
<=
input
->
dim_size
());
for
(
size_t
in
=
0
,
out
=
0
;
out
<
output_shape
.
size
();
++
out
)
{
...
...
@@ -98,34 +98,33 @@ class OneHotOp<DeviceType::CPU, T> : public OneHotOpBase {
}
}
}
else
{
run
(
input
,
input_ptr
,
output_ptr
,
axis
,
0
,
0
,
input_shape
.
size
(),
0
);
run
(
input
,
&
input_ptr
,
&
output_ptr
,
axis
,
0
,
0
,
input_shape
.
size
(),
0
);
}
return
MaceStatus
::
MACE_SUCCESS
;
}
private:
void
run
(
const
Tensor
*
input
,
const
T
*
&
input_ptr
,
T
*
&
output_ptr
,
const
index_t
axis
,
void
run
(
const
Tensor
*
input
,
const
T
*
*
input_ptr
,
T
*
*
output_ptr
,
const
index_t
axis
,
const
index_t
current_in
,
const
index_t
current_out
,
const
index_t
left
,
const
index_t
test
)
const
{
if
(
current_out
==
axis
)
{
const
index_t
length
=
depth_
;
if
(
left
==
0
)
{
for
(
index_t
i
=
0
;
i
<
length
;
++
i
)
{
*
output_ptr
=
*
input_ptr
==
i
?
on_value_
:
off_value_
;
++
output_ptr
;
*
*
output_ptr
=
*
*
input_ptr
==
i
?
on_value_
:
off_value_
;
++
(
*
output_ptr
)
;
}
++
input_ptr
;
++
(
*
input_ptr
)
;
}
else
{
const
T
*
in
=
input_ptr
;
const
T
*
in
=
*
input_ptr
;
for
(
index_t
i
=
0
;
i
<
length
;
++
i
)
{
input_ptr
=
in
;
*
input_ptr
=
in
;
run
(
input
,
input_ptr
,
output_ptr
,
axis
,
current_in
,
current_out
+
1
,
left
-
1
,
i
);
}
...
...
@@ -135,9 +134,9 @@ class OneHotOp<DeviceType::CPU, T> : public OneHotOpBase {
if
(
left
==
0
)
{
for
(
index_t
i
=
0
;
i
<
length
;
++
i
)
{
*
output_ptr
=
*
input_ptr
==
test
?
on_value_
:
off_value_
;
++
output_ptr
;
++
input_ptr
;
*
*
output_ptr
=
*
*
input_ptr
==
test
?
on_value_
:
off_value_
;
++
(
*
output_ptr
)
;
++
(
*
input_ptr
)
;
}
}
else
{
for
(
index_t
i
=
0
;
i
<
length
;
++
i
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录