You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@systemml.apache.org by "Mike Dusenberry (JIRA)" <ji...@apache.org> on 2017/03/21 19:32:41 UTC
[jira] [Updated] (SYSTEMML-1428) Built-in max pooling functions
give incorrect output with padding>0
[ https://issues.apache.org/jira/browse/SYSTEMML-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Dusenberry updated SYSTEMML-1428:
--------------------------------------
Description:
While working on SYSTEMML-1408, it was discovered that the built-in max pooling function gives incorrect results if padding > 0 is used.
Padded Matrix:
{code}
# -- channel 1
# 0 0 0 0 0 0
# 0 1 2 3 4 0
# 0 5 6 7 8 0
# 0 9 10 11 12 0
# 0 13 14 15 16 0
# 0 0 0 0 0 0
# -- channel 2
# 0 0 0 0 0 0
# 0 1 5 9 13 0
# 0 2 6 10 14 0
# 0 3 7 11 15 0
# 0 4 8 12 16 0
# 0 0 0 0 0 0
{code}
Correct output:
{code}
# -- channel 1
# 1 3 4
# 9 11 12
# 13 15 16
# -- channel 2
# 1 9 13
# 3 11 15
# 4 12 16
{code}
Builtin output:
{code}
# -- channel 1
# 2 3 4
# 10 11 12
# 14 15 16
# -- channel 2
# 5 9 13
# 7 11 15
# 8 12 16
{code}
The current behavior is as follows -- the builtin version is (1) *not* adding the 1st and 6th **columns** of padding, and (2) is performing **stride-1** max-pooling on the partially-padded matrix, rather than stride-2.
Partially-padded matrix:
{code}
# -- channel 1
# 0 0 0 0
# 1 2 3 4
# 5 6 7 8
# 9 10 11 12
# 13 14 15 16
# 0 0 0 0
# -- channel 2
# 0 0 0 0
# 1 5 9 13
# 2 6 10 14
# 3 7 11 15
# 4 8 12 16
# 0 0 0 0
{code}
([PR 434 | https://github.com/apache/incubator-systemml/pull/434] contains more information.)
> Built-in max pooling functions give incorrect output with padding>0
> -------------------------------------------------------------------
>
> Key: SYSTEMML-1428
> URL: https://issues.apache.org/jira/browse/SYSTEMML-1428
> Project: SystemML
> Issue Type: Bug
> Reporter: Mike Dusenberry
> Assignee: Mike Dusenberry
>
> While working on SYSTEMML-1408, it was discovered that the built-in max pooling function gives incorrect results if padding > 0 is used.
> Padded Matrix:
> {code}
> # -- channel 1
> # 0 0 0 0 0 0
> # 0 1 2 3 4 0
> # 0 5 6 7 8 0
> # 0 9 10 11 12 0
> # 0 13 14 15 16 0
> # 0 0 0 0 0 0
> # -- channel 2
> # 0 0 0 0 0 0
> # 0 1 5 9 13 0
> # 0 2 6 10 14 0
> # 0 3 7 11 15 0
> # 0 4 8 12 16 0
> # 0 0 0 0 0 0
> {code}
> Correct output:
> {code}
> # -- channel 1
> # 1 3 4
> # 9 11 12
> # 13 15 16
> # -- channel 2
> # 1 9 13
> # 3 11 15
> # 4 12 16
> {code}
> Builtin output:
> {code}
> # -- channel 1
> # 2 3 4
> # 10 11 12
> # 14 15 16
> # -- channel 2
> # 5 9 13
> # 7 11 15
> # 8 12 16
> {code}
> The current behavior is as follows -- the builtin version is (1) *not* adding the 1st and 6th **columns** of padding, and (2) is performing **stride-1** max-pooling on the partially-padded matrix, rather than stride-2.
> Partially-padded matrix:
> {code}
> # -- channel 1
> # 0 0 0 0
> # 1 2 3 4
> # 5 6 7 8
> # 9 10 11 12
> # 13 14 15 16
> # 0 0 0 0
> # -- channel 2
> # 0 0 0 0
> # 1 5 9 13
> # 2 6 10 14
> # 3 7 11 15
> # 4 8 12 16
> # 0 0 0 0
> {code}
> ([PR 434 | https://github.com/apache/incubator-systemml/pull/434] contains more information.)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)