Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
e3435183
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看板
提交
e3435183
编写于
8月 19, 2020
作者:
P
Pengyongrong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modifyMemoryLeacky
上级
e5ed0105
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
62 addition
and
3 deletion
+62
-3
mindspore/lite/src/runtime/kernel/opencl/kernel/batchnorm.cc
mindspore/lite/src/runtime/kernel/opencl/kernel/batchnorm.cc
+1
-1
mindspore/lite/src/runtime/kernel/opencl/kernel/concat.cc
mindspore/lite/src/runtime/kernel/opencl/kernel/concat.cc
+4
-1
mindspore/lite/test/ut/src/runtime/kernel/opencl/batchnorm_tests.cc
...lite/test/ut/src/runtime/kernel/opencl/batchnorm_tests.cc
+26
-0
mindspore/lite/test/ut/src/runtime/kernel/opencl/concat_tests.cc
...re/lite/test/ut/src/runtime/kernel/opencl/concat_tests.cc
+31
-1
未找到文件。
mindspore/lite/src/runtime/kernel/opencl/kernel/batchnorm.cc
浏览文件 @
e3435183
...
...
@@ -124,7 +124,7 @@ int BatchNormOpenCLKernel::Run() {
ocl_runtime
->
RunKernel
(
kernel_
,
global
,
local
,
nullptr
);
return
RET_OK
;
}
// namespace mindspore::kernel
}
kernel
::
LiteKernel
*
OpenCLBatchnormKernelCreator
(
const
std
::
vector
<
lite
::
tensor
::
Tensor
*>
&
inputs
,
const
std
::
vector
<
lite
::
tensor
::
Tensor
*>
&
outputs
,
...
...
mindspore/lite/src/runtime/kernel/opencl/kernel/concat.cc
浏览文件 @
e3435183
...
...
@@ -191,6 +191,9 @@ int ConcatOpenCLKernel::Run() {
ocl_runtime
->
SetKernelArg
(
kernel_
,
arg_cn
++
,
out_tensors_
[
0
]
->
Data
());
ocl_runtime
->
SetKernelArg
(
kernel_
,
arg_cn
++
,
input0_shape3_
);
ocl_runtime
->
SetKernelArg
(
kernel_
,
arg_cn
++
,
output_shape_
);
}
else
if
(
in_tensors_
.
size
()
<
2
)
{
MS_LOG
(
ERROR
)
<<
" inputs must been >=2"
;
return
RET_ERROR
;
}
else
{
MS_LOG
(
ERROR
)
<<
"only support inputs<=3"
;
return
RET_ERROR
;
...
...
@@ -198,7 +201,7 @@ int ConcatOpenCLKernel::Run() {
ocl_runtime
->
RunKernel
(
kernel_
,
global
,
local
,
nullptr
);
return
RET_OK
;
}
// namespace mindspore::kernel
}
kernel
::
LiteKernel
*
OpenCLConcatKernelCreator
(
const
std
::
vector
<
lite
::
tensor
::
Tensor
*>
&
inputs
,
const
std
::
vector
<
lite
::
tensor
::
Tensor
*>
&
outputs
,
...
...
mindspore/lite/test/ut/src/runtime/kernel/opencl/batchnorm_tests.cc
浏览文件 @
e3435183
...
...
@@ -80,6 +80,11 @@ TEST_F(TestBatchnormOpenCL, Batchnorminput_dim4) {
new
(
std
::
nothrow
)
lite
::
tensor
::
Tensor
(
data_type
,
output_shape
,
schema
::
Format_NHWC4
,
tensor_type
);
if
(
output_tensor
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"init tensor failed"
;
delete
tensor_data
;
delete
tensor_mean
;
delete
tensor_var
;
delete
tensor_scale
;
delete
tensor_offset
;
return
;
}
std
::
vector
<
lite
::
tensor
::
Tensor
*>
inputs
=
{
tensor_data
,
tensor_scale
,
tensor_offset
,
tensor_mean
,
tensor_var
};
...
...
@@ -89,6 +94,9 @@ TEST_F(TestBatchnormOpenCL, Batchnorminput_dim4) {
auto
param
=
new
(
std
::
nothrow
)
BatchNormParameter
();
if
(
param
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new BatchNormParameter failed"
;
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
return
;
}
param
->
epsilon_
=
pow
(
10
,
-
5
);
...
...
@@ -96,6 +104,10 @@ TEST_F(TestBatchnormOpenCL, Batchnorminput_dim4) {
new
(
std
::
nothrow
)
kernel
::
BatchNormOpenCLKernel
(
reinterpret_cast
<
OpParameter
*>
(
param
),
inputs
,
outputs
);
if
(
batchnorm_kernel
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new kernel::BatchNorm_kernel failed"
;
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
delete
param
;
return
;
}
batchnorm_kernel
->
Init
();
...
...
@@ -110,6 +122,11 @@ TEST_F(TestBatchnormOpenCL, Batchnorminput_dim4) {
auto
*
sub_graph
=
new
(
std
::
nothrow
)
kernel
::
SubGraphOpenCLKernel
(
inputs
,
outputs
,
kernels
,
kernels
,
kernels
);
if
(
sub_graph
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new kernel::SubGraphOpenCLKernel failed"
;
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
delete
param
;
delete
batchnorm_kernel
;
return
;
}
sub_graph
->
Init
();
...
...
@@ -129,6 +146,15 @@ TEST_F(TestBatchnormOpenCL, Batchnorminput_dim4) {
auto
*
output_data_gpu
=
reinterpret_cast
<
float
*>
(
output_tensor
->
Data
());
CompareOutputData1
(
output_data_gpu
,
correct_data
,
output_tensor
->
ElementsNum
(),
0.0001
);
for
(
auto
tensor
:
inputs
)
{
delete
tensor
;
}
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
delete
param
;
delete
batchnorm_kernel
;
delete
sub_graph
;
lite
::
opencl
::
OpenCLRuntime
::
DeleteInstance
();
}
}
// namespace mindspore
mindspore/lite/test/ut/src/runtime/kernel/opencl/concat_tests.cc
浏览文件 @
e3435183
...
...
@@ -110,12 +110,20 @@ TEST_F(TestConcatOpenCL, ConcatFp32_2input_dim4_axis3) {
auto
tensor_type
=
schema
::
NodeType_ValueNode
;
std
::
vector
<
lite
::
tensor
::
Tensor
*>
inputs
;
for
(
auto
&
shape
:
input_shapes
)
{
inputs
.
push_back
(
new
lite
::
tensor
::
Tensor
(
data_type
,
shape
,
schema
::
Format_NHWC4
,
tensor_type
));
auto
input_temp
=
new
(
std
::
nothrow
)
lite
::
tensor
::
Tensor
(
data_type
,
shape
,
schema
::
Format_NHWC4
,
tensor_type
);
inputs
.
push_back
(
input_temp
);
if
(
input_temp
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new input_tensor failed"
;
return
;
}
}
auto
*
output_tensor
=
new
(
std
::
nothrow
)
lite
::
tensor
::
Tensor
(
data_type
,
output_shape
,
schema
::
Format_NHWC4
,
tensor_type
);
if
(
output_tensor
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new output_tensor failed"
;
for
(
auto
tensor
:
inputs
)
{
delete
tensor
;
}
return
;
}
std
::
vector
<
lite
::
tensor
::
Tensor
*>
outputs
{
output_tensor
};
...
...
@@ -125,6 +133,12 @@ TEST_F(TestConcatOpenCL, ConcatFp32_2input_dim4_axis3) {
auto
param
=
new
(
std
::
nothrow
)
ConcatParameter
();
if
(
param
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new ConcatParameter failed"
;
for
(
auto
tensor
:
inputs
)
{
delete
tensor
;
}
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
return
;
}
param
->
axis_
=
3
;
...
...
@@ -132,6 +146,13 @@ TEST_F(TestConcatOpenCL, ConcatFp32_2input_dim4_axis3) {
new
(
std
::
nothrow
)
kernel
::
ConcatOpenCLKernel
(
reinterpret_cast
<
OpParameter
*>
(
param
),
inputs
,
outputs
);
if
(
concat_kernel
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new kernel::ConcatOpenCLKernel failed"
;
for
(
auto
tensor
:
inputs
)
{
delete
tensor
;
}
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
delete
param
;
return
;
}
concat_kernel
->
Init
();
...
...
@@ -145,6 +166,14 @@ TEST_F(TestConcatOpenCL, ConcatFp32_2input_dim4_axis3) {
auto
*
sub_graph
=
new
(
std
::
nothrow
)
kernel
::
SubGraphOpenCLKernel
(
inputs
,
outputs
,
kernels
,
kernels
,
kernels
);
if
(
sub_graph
==
nullptr
)
{
MS_LOG
(
INFO
)
<<
"new kernel::SubGraphOpenCLKernel failed"
;
for
(
auto
tensor
:
inputs
)
{
delete
tensor
;
}
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
delete
param
;
delete
concat_kernel
;
return
;
}
sub_graph
->
Init
();
...
...
@@ -181,6 +210,7 @@ TEST_F(TestConcatOpenCL, ConcatFp32_2input_dim4_axis3) {
for
(
auto
tensor
:
outputs
)
{
delete
tensor
;
}
delete
param
;
delete
concat_kernel
;
delete
sub_graph
;
lite
::
opencl
::
OpenCLRuntime
::
DeleteInstance
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录