Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
ac4ffdc2
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ac4ffdc2
编写于
8月 28, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
8月 28, 2020
浏览文件
操作
浏览文件
下载
差异文件
!5449 optimization for int8 packing
Merge pull request !5449 from lixian/master
上级
67f954a5
5dea0629
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
3 addition
and
6 deletion
+3
-6
mindspore/lite/nnacl/pack.c
mindspore/lite/nnacl/pack.c
+1
-3
mindspore/lite/src/runtime/kernel/arm/int8/convolution_1x1_int8.cc
.../lite/src/runtime/kernel/arm/int8/convolution_1x1_int8.cc
+0
-1
mindspore/lite/src/runtime/kernel/arm/int8/convolution_int8.cc
...pore/lite/src/runtime/kernel/arm/int8/convolution_int8.cc
+2
-2
未找到文件。
mindspore/lite/nnacl/pack.c
浏览文件 @
ac4ffdc2
...
...
@@ -487,9 +487,7 @@ void Im2ColPackUnitInt8Opt(const int8_t *input_data, int8_t *packed_input, int r
for
(
int
m
=
0
;
m
<
ic4
;
m
++
)
{
int
channel_block_stride
=
input_x_stride
+
m
*
C4NUM
;
int
channel_block_offset
=
input_plane_offset
+
m
*
tile_num
*
C4NUM
;
for
(
int
k
=
0
;
k
<
C4NUM
;
k
++
)
{
(
packed_input
+
channel_block_offset
)[
k
]
=
(
input_data
+
channel_block_stride
)[
k
];
}
memcpy
(
packed_input
+
channel_block_offset
,
input_data
+
channel_block_stride
,
4
);
}
// channel_block loop
}
// kernel_w loop
}
// kernel_h loop
...
...
mindspore/lite/src/runtime/kernel/arm/int8/convolution_1x1_int8.cc
浏览文件 @
ac4ffdc2
...
...
@@ -68,7 +68,6 @@ void Convolution1x1Int8CPUKernel::CheckSupportOptimize() {
matmul_func_
=
nullptr
;
}
else
{
support_optimize_
=
true
;
matmul_func_
=
MatMulInt8_8x8_r
;
}
}
else
{
support_optimize_
=
false
;
...
...
mindspore/lite/src/runtime/kernel/arm/int8/convolution_int8.cc
浏览文件 @
ac4ffdc2
...
...
@@ -400,9 +400,9 @@ kernel::LiteKernel *CpuConvInt8KernelCreator(const std::vector<lite::tensor::Ten
kernel
::
LiteKernel
*
kernel
;
auto
filter_quant_size
=
inputs
[
kWeightIndex
]
->
GetQuantParams
().
size
();
if
(
kernel_h
==
3
&&
kernel_w
==
3
&&
stride_h
==
1
&&
stride_w
==
1
&&
dilation_h
==
1
&&
dilation_w
==
1
)
{
kernel
=
new
(
std
::
nothrow
)
kernel
::
Convolution
3x3
Int8CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
kernel
=
new
(
std
::
nothrow
)
kernel
::
ConvolutionInt8CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
}
else
if
(
kernel_h
==
1
&&
kernel_w
==
1
&&
filter_quant_size
==
1
)
{
kernel
=
new
(
std
::
nothrow
)
kernel
::
Convolution
1x1
Int8CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
kernel
=
new
(
std
::
nothrow
)
kernel
::
ConvolutionInt8CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
}
else
{
kernel
=
new
(
std
::
nothrow
)
kernel
::
ConvolutionInt8CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录