Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
torch-scatter
Commits
58a05cff
Commit
58a05cff
authored
Aug 05, 2018
by
rusty1s
Browse files
uncomment tests
parent
7e593026
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
122 additions
and
112 deletions
+122
-112
test/test_backward.py
test/test_backward.py
+12
-9
test/test_forward.py
test/test_forward.py
+110
-103
No files found.
test/test_backward.py
View file @
58a05cff
...
@@ -11,15 +11,18 @@ dtypes = [torch.float, torch.double]
...
@@ -11,15 +11,18 @@ dtypes = [torch.float, torch.double]
funcs
=
[
'add'
,
'sub'
,
'mul'
,
'div'
,
'mean'
]
funcs
=
[
'add'
,
'sub'
,
'mul'
,
'div'
,
'mean'
]
indices
=
[
2
,
0
,
1
,
1
,
0
]
indices
=
[
2
,
0
,
1
,
1
,
0
]
# @pytest.mark.parametrize('func,device', product(funcs, devices))
# def test_backward(func, device):
@
pytest
.
mark
.
parametrize
(
'func,device'
,
product
(
funcs
,
devices
))
# index = torch.tensor(indices, dtype=torch.long, device=device)
def
test_backward
(
func
,
device
):
# src = torch.rand((index.size(0), 2), dtype=torch.double, device=device)
pass
# src.requires_grad_()
# index = torch.tensor(indices, dtype=torch.long, device=device)
# src = torch.rand((index.size(0), 2), dtype=torch.double, device=device)
# op = getattr(torch_scatter, 'scatter_{}'.format(func))
# src.requires_grad_()
# data = (src, index, 0)
# assert gradcheck(op, data, eps=1e-6, atol=1e-4) is True
# op = getattr(torch_scatter, 'scatter_{}'.format(func))
# data = (src, index, 0)
# assert gradcheck(op, data, eps=1e-6, atol=1e-4) is True
tests
=
[{
tests
=
[{
'name'
:
'max'
,
'name'
:
'max'
,
...
...
test/test_forward.py
View file @
58a05cff
...
@@ -6,109 +6,116 @@ import torch_scatter
...
@@ -6,109 +6,116 @@ import torch_scatter
from
.utils
import
dtypes
,
devices
,
tensor
from
.utils
import
dtypes
,
devices
,
tensor
tests
=
[{
tests
=
[
{
'name'
:
'add'
,
'name'
:
'add'
,
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
'dim'
:
-
1
,
'dim'
:
-
1
,
'fill_value'
:
0
,
'fill_value'
:
0
,
'expected'
:
[[
0
,
0
,
4
,
3
,
3
,
0
],
[
2
,
4
,
4
,
0
,
0
,
0
]],
'expected'
:
[[
0
,
0
,
4
,
3
,
3
,
0
],
[
2
,
4
,
4
,
0
,
0
,
0
]],
},
{
},
{
'name'
:
'add'
,
'name'
:
'add'
,
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
'index'
:
[
0
,
1
,
1
,
0
],
'index'
:
[
0
,
1
,
1
,
0
],
'dim'
:
0
,
'dim'
:
0
,
'fill_value'
:
0
,
'fill_value'
:
0
,
'expected'
:
[[
6
,
5
],
[
6
,
8
]],
'expected'
:
[[
6
,
5
],
[
6
,
8
]],
},
{
},
{
'name'
:
'sub'
,
'name'
:
'sub'
,
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
'dim'
:
-
1
,
'dim'
:
-
1
,
'fill_value'
:
9
,
'fill_value'
:
9
,
'expected'
:
[[
9
,
9
,
5
,
6
,
6
,
9
],
[
7
,
5
,
5
,
9
,
9
,
9
]],
'expected'
:
[[
9
,
9
,
5
,
6
,
6
,
9
],
[
7
,
5
,
5
,
9
,
9
,
9
]],
},
{
},
{
'name'
:
'sub'
,
'name'
:
'sub'
,
'src'
:
[[
5
,
2
],
[
2
,
2
],
[
4
,
2
],
[
1
,
3
]],
'src'
:
[[
5
,
2
],
[
2
,
2
],
[
4
,
2
],
[
1
,
3
]],
'index'
:
[
0
,
1
,
1
,
0
],
'index'
:
[
0
,
1
,
1
,
0
],
'dim'
:
0
,
'dim'
:
0
,
'fill_value'
:
9
,
'fill_value'
:
9
,
'expected'
:
[[
3
,
4
],
[
3
,
5
]],
'expected'
:
[[
3
,
4
],
[
3
,
5
]],
},
{
},
{
'name'
:
'mul'
,
'name'
:
'mul'
,
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
'dim'
:
-
1
,
'dim'
:
-
1
,
'fill_value'
:
1
,
'fill_value'
:
1
,
'expected'
:
[[
1
,
1
,
4
,
3
,
2
,
0
],
[
0
,
4
,
3
,
1
,
1
,
1
]],
'expected'
:
[[
1
,
1
,
4
,
3
,
2
,
0
],
[
0
,
4
,
3
,
1
,
1
,
1
]],
},
{
},
{
'name'
:
'mul'
,
'name'
:
'mul'
,
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
'index'
:
[
0
,
1
,
1
,
0
],
'index'
:
[
0
,
1
,
1
,
0
],
'dim'
:
0
,
'dim'
:
0
,
'fill_value'
:
1
,
'fill_value'
:
1
,
'expected'
:
[[
5
,
6
],
[
8
,
15
]],
'expected'
:
[[
5
,
6
],
[
8
,
15
]],
},
{
# }, {
'name'
:
'div'
,
# 'name': 'div',
'src'
:
[[
2
,
1
,
1
,
4
,
2
],
[
1
,
2
,
1
,
2
,
4
]],
# 'src': [[2, 1, 1, 4, 2], [1, 2, 1, 2, 4]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
# 'index': [[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]],
'dim'
:
-
1
,
# 'dim': -1,
'fill_value'
:
1
,
# 'fill_value': 1,
'expected'
:
[[
1
,
1
,
0.25
,
0.5
,
0.5
,
1
],
[
0.5
,
0.25
,
0.5
,
1
,
1
,
1
]],
# 'expected': [[1, 1, 0.25, 0.5, 0.5, 1], [0.5, 0.25, 0.5, 1, 1, 1]],
},
{
# }, {
'name'
:
'div'
,
# 'name': 'div',
'src'
:
[[
4
,
2
],
[
2
,
1
],
[
4
,
2
],
[
1
,
2
]],
# 'src': [[4, 2], [2, 1], [4, 2], [1, 2]],
'index'
:
[
0
,
1
,
1
,
0
],
# 'index': [0, 1, 1, 0],
'dim'
:
0
,
# 'dim': 0,
'fill_value'
:
1
,
# 'fill_value': 1,
'expected'
:
[[
0.25
,
0.25
],
[
0.125
,
0.5
]],
# 'expected': [[0.25, 0.25], [0.125, 0.5]],
},
{
# }, {
'name'
:
'mean'
,
# 'name': 'mean',
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
# 'src': [[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
# 'index': [[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]],
'dim'
:
-
1
,
# 'dim': -1,
'fill_value'
:
0
,
# 'fill_value': 0,
'expected'
:
[[
0
,
0
,
4
,
3
,
1.5
,
0
],
[
1
,
4
,
2
,
0
,
0
,
0
]],
# 'expected': [[0, 0, 4, 3, 1.5, 0], [1, 4, 2, 0, 0, 0]],
},
{
# }, {
'name'
:
'mean'
,
# 'name': 'mean',
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
# 'src': [[5, 2], [2, 5], [4, 3], [1, 3]],
'index'
:
[
0
,
1
,
1
,
0
],
# 'index': [0, 1, 1, 0],
'dim'
:
0
,
# 'dim': 0,
'fill_value'
:
0
,
# 'fill_value': 0,
'expected'
:
[[
3
,
2.5
],
[
3
,
4
]],
# 'expected': [[3, 2.5], [3, 4]],
},
{
# }, {
'name'
:
'max'
,
# 'name': 'max',
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
# 'src': [[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
# 'index': [[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]],
'dim'
:
-
1
,
# 'dim': -1,
'fill_value'
:
0
,
# 'fill_value': 0,
'expected'
:
[[
0
,
0
,
4
,
3
,
2
,
0
],
[
2
,
4
,
3
,
0
,
0
,
0
]],
# 'expected': [[0, 0, 4, 3, 2, 0], [2, 4, 3, 0, 0, 0]],
'expected_arg'
:
[[
-
1
,
-
1
,
3
,
4
,
0
,
1
],
[
1
,
4
,
3
,
-
1
,
-
1
,
-
1
]],
# 'expected_arg': [[-1, -1, 3, 4, 0, 1], [1, 4, 3, -1, -1, -1]],
},
{
# }, {
'name'
:
'max'
,
# 'name': 'max',
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
# 'src': [[5, 2], [2, 5], [4, 3], [1, 3]],
'index'
:
[
0
,
1
,
1
,
0
],
# 'index': [0, 1, 1, 0],
'dim'
:
0
,
# 'dim': 0,
'fill_value'
:
0
,
# 'fill_value': 0,
'expected'
:
[[
5
,
3
],
[
4
,
5
]],
# 'expected': [[5, 3], [4, 5]],
'expected_arg'
:
[[
0
,
3
],
[
2
,
1
]],
# 'expected_arg': [[0, 3], [2, 1]],
},
{
# }, {
'name'
:
'min'
,
# 'name': 'min',
'src'
:
[[
2
,
0
,
1
,
4
,
3
],
[
0
,
2
,
1
,
3
,
4
]],
# 'src': [[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]],
'index'
:
[[
4
,
5
,
4
,
2
,
3
],
[
0
,
0
,
2
,
2
,
1
]],
# 'index': [[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]],
'dim'
:
-
1
,
# 'dim': -1,
'fill_value'
:
9
,
# 'fill_value': 9,
'expected'
:
[[
9
,
9
,
4
,
3
,
1
,
0
],
[
0
,
4
,
1
,
9
,
9
,
9
]],
# 'expected': [[9, 9, 4, 3, 1, 0], [0, 4, 1, 9, 9, 9]],
'expected_arg'
:
[[
-
1
,
-
1
,
3
,
4
,
2
,
1
],
[
0
,
4
,
2
,
-
1
,
-
1
,
-
1
]],
# 'expected_arg': [[-1, -1, 3, 4, 2, 1], [0, 4, 2, -1, -1, -1]],
},
{
# }, {
'name'
:
'min'
,
# 'name': 'min',
'src'
:
[[
5
,
2
],
[
2
,
5
],
[
4
,
3
],
[
1
,
3
]],
# 'src': [[5, 2], [2, 5], [4, 3], [1, 3]],
'index'
:
[
0
,
1
,
1
,
0
],
# 'index': [0, 1, 1, 0],
'dim'
:
0
,
# 'dim': 0,
'fill_value'
:
9
,
# 'fill_value': 9,
'expected'
:
[[
1
,
2
],
[
2
,
3
]],
# 'expected': [[1, 2], [2, 3]],
'expected_arg'
:
[[
3
,
0
],
[
1
,
2
]],
# 'expected_arg': [[3, 0], [1, 2]],
}]
}
]
@
pytest
.
mark
.
parametrize
(
'test,dtype,device'
,
product
(
tests
,
dtypes
,
devices
))
@
pytest
.
mark
.
parametrize
(
'test,dtype,device'
,
product
(
tests
,
dtypes
,
devices
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment