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
dgl
Commits
2e19ba80
Unverified
Commit
2e19ba80
authored
Jul 13, 2021
by
Quan (Andy) Gan
Committed by
GitHub
Jul 13, 2021
Browse files
add exclude self option for EdgeDataLoader (#3122)
Co-authored-by:
Minjie Wang
<
wmjlyjemaine@gmail.com
>
parent
b576e617
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
0 deletions
+20
-0
python/dgl/dataloading/dataloader.py
python/dgl/dataloading/dataloader.py
+7
-0
python/dgl/dataloading/pytorch/dataloader.py
python/dgl/dataloading/pytorch/dataloader.py
+1
-0
tests/pytorch/test_dataloader.py
tests/pytorch/test_dataloader.py
+12
-0
No files found.
python/dgl/dataloading/dataloader.py
View file @
2e19ba80
...
@@ -77,6 +77,9 @@ def _find_exclude_eids(g, exclude_mode, eids, **kwargs):
...
@@ -77,6 +77,9 @@ def _find_exclude_eids(g, exclude_mode, eids, **kwargs):
None (default)
None (default)
Does not exclude any edge.
Does not exclude any edge.
'self'
Exclude the given edges themselves but nothing else.
'reverse_id'
'reverse_id'
Exclude all edges specified in ``eids``, as well as their reverse edges
Exclude all edges specified in ``eids``, as well as their reverse edges
of the same edge type.
of the same edge type.
...
@@ -105,6 +108,8 @@ def _find_exclude_eids(g, exclude_mode, eids, **kwargs):
...
@@ -105,6 +108,8 @@ def _find_exclude_eids(g, exclude_mode, eids, **kwargs):
"""
"""
if
exclude_mode
is
None
:
if
exclude_mode
is
None
:
return
None
return
None
elif
exclude_mode
==
'self'
:
return
eids
elif
exclude_mode
==
'reverse_id'
:
elif
exclude_mode
==
'reverse_id'
:
return
_find_exclude_eids_with_reverse_id
(
g
,
eids
,
kwargs
[
'reverse_eid_map'
])
return
_find_exclude_eids_with_reverse_id
(
g
,
eids
,
kwargs
[
'reverse_eid_map'
])
elif
exclude_mode
==
'reverse_types'
:
elif
exclude_mode
==
'reverse_types'
:
...
@@ -493,6 +498,8 @@ class EdgeCollator(Collator):
...
@@ -493,6 +498,8 @@ class EdgeCollator(Collator):
* None, which excludes nothing.
* None, which excludes nothing.
* ``'self'``, which excludes the sampled edges themselves but nothing else.
* ``'reverse_id'``, which excludes the reverse edges of the sampled edges. The said
* ``'reverse_id'``, which excludes the reverse edges of the sampled edges. The said
reverse edges have the same edge type as the sampled edges. Only works
reverse edges have the same edge type as the sampled edges. Only works
on edge types whose source node type is the same as its destination node type.
on edge types whose source node type is the same as its destination node type.
...
...
python/dgl/dataloading/pytorch/dataloader.py
View file @
2e19ba80
...
@@ -607,6 +607,7 @@ class EdgeDataLoader:
...
@@ -607,6 +607,7 @@ class EdgeDataLoader:
minibatch. Possible values are
minibatch. Possible values are
* None,
* None,
* ``self``,
* ``reverse_id``,
* ``reverse_id``,
* ``reverse_types``
* ``reverse_types``
...
...
tests/pytorch/test_dataloader.py
View file @
2e19ba80
...
@@ -121,6 +121,12 @@ def test_neighbor_sampler_dataloader():
...
@@ -121,6 +121,12 @@ def test_neighbor_sampler_dataloader():
nids
.
append
({
'follow'
:
seeds
})
nids
.
append
({
'follow'
:
seeds
})
modes
.
append
(
'edge'
)
modes
.
append
(
'edge'
)
collators
.
append
(
dgl
.
dataloading
.
EdgeCollator
(
g
,
seeds
,
sampler
,
exclude
=
'self'
))
graphs
.
append
(
g
)
nids
.
append
({
'follow'
:
seeds
})
modes
.
append
(
'edge'
)
collators
.
append
(
dgl
.
dataloading
.
EdgeCollator
(
collators
.
append
(
dgl
.
dataloading
.
EdgeCollator
(
g
,
seeds
,
sampler
,
exclude
=
'reverse_id'
,
reverse_eids
=
reverse_eids
))
g
,
seeds
,
sampler
,
exclude
=
'reverse_id'
,
reverse_eids
=
reverse_eids
))
graphs
.
append
(
g
)
graphs
.
append
(
g
)
...
@@ -133,6 +139,12 @@ def test_neighbor_sampler_dataloader():
...
@@ -133,6 +139,12 @@ def test_neighbor_sampler_dataloader():
nids
.
append
({
'follow'
:
seeds
})
nids
.
append
({
'follow'
:
seeds
})
modes
.
append
(
'link'
)
modes
.
append
(
'link'
)
collators
.
append
(
dgl
.
dataloading
.
EdgeCollator
(
g
,
seeds
,
sampler
,
exclude
=
'self'
,
negative_sampler
=
dgl
.
dataloading
.
negative_sampler
.
Uniform
(
2
)))
graphs
.
append
(
g
)
nids
.
append
({
'follow'
:
seeds
})
modes
.
append
(
'link'
)
collators
.
append
(
dgl
.
dataloading
.
EdgeCollator
(
collators
.
append
(
dgl
.
dataloading
.
EdgeCollator
(
g
,
seeds
,
sampler
,
exclude
=
'reverse_id'
,
reverse_eids
=
reverse_eids
,
g
,
seeds
,
sampler
,
exclude
=
'reverse_id'
,
reverse_eids
=
reverse_eids
,
negative_sampler
=
dgl
.
dataloading
.
negative_sampler
.
Uniform
(
2
)))
negative_sampler
=
dgl
.
dataloading
.
negative_sampler
.
Uniform
(
2
)))
...
...
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