Skip to content

Commit 88eece5

Browse files
committed
add 7 tasks; remove get_by_full_name
1 parent 696c3e5 commit 88eece5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1030
-1782
lines changed

data/example/example/metainfo

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,62 @@
44
"name": "example",
55
"count": 1,
66
"directed": false,
7-
"nodes": [8],
7+
"hetero": false,
8+
"nodes": [
9+
8
10+
],
811
"remap": true,
912
"node_attributes": {
10-
"names": ["a","b"],
11-
"types": ["continuous","categorical"],
12-
"values": [[0,1],["A","B","C"]]
13+
"names": [
14+
"a",
15+
"b"
16+
],
17+
"types": [
18+
"continuous",
19+
"categorical"
20+
],
21+
"values": [
22+
[
23+
0,
24+
1
25+
],
26+
[
27+
"A",
28+
"B",
29+
"C"
30+
]
31+
]
1332
},
1433
"edge_attributes": {
15-
"names": ["weight"],
16-
"types": ["continuous"],
17-
"values": [[0,1]]
34+
"names": [
35+
"weight"
36+
],
37+
"types": [
38+
"continuous"
39+
],
40+
"values": [
41+
[
42+
0,
43+
1
44+
]
45+
]
1846
},
1947
"labelings": {
2048
"node-classification": {
2149
"binary": 2,
2250
"threeClasses": 3
2351
},
2452
"node-regression": {
25-
"regression": [0, 3]
53+
"regression": [
54+
0,
55+
3
56+
]
57+
},
58+
"edge-regression": {
59+
"regression": [
60+
0.1,
61+
0.4
62+
]
2663
}
2764
}
28-
}
65+
}

data/example/example3/metainfo

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@
33
"import_from": "datasets.known_format_datasets",
44
"name": "example",
55
"count": 3,
6-
"nodes": [3, 4, 5],
76
"directed": false,
7+
"hetero": false,
8+
"nodes": [
9+
3,
10+
4,
11+
5
12+
],
13+
"remap": false,
814
"node_attributes": {
915
"names": [
1016
"type"
@@ -24,6 +30,12 @@
2430
"graph-classification": {
2531
"binary": 2,
2632
"threeClasses": 3
33+
},
34+
"graph-regression": {
35+
"regression": [
36+
0.2,
37+
0.4
38+
]
2739
}
2840
}
29-
}
41+
}

demo/back_explainers_demo.py

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import warnings
2+
23
from torch import device
34
from torch.cuda import is_available
45

6+
from data_structures.configs import DatasetConfig, DatasetVarConfig, ExplainerInitConfig, \
7+
ExplainerRunConfig, FeatureConfig, Task
58
from datasets.datasets_manager import DatasetManager
6-
from data_structures.configs import DatasetConfig, DatasetVarConfig, ExplainerInitConfig, ExplainerRunConfig
79
from explainers.explainers_manager import FrameworkExplainersManager
810
from models_builder.gnn_models import FrameworkGNNModelManager, Metric
911
from models_builder.models_zoo import model_configs_zoo
@@ -13,47 +15,31 @@ def explainers_test():
1315
my_device = device('cuda' if is_available() else 'cpu')
1416

1517
# Init datasets
16-
dataset_mg_small, _, results_dataset_path_mg_small = DatasetManager.get_by_full_name(
17-
full_name=("example", "example3",),
18-
features=FeatureConfig(node_attr=['a']),
19-
labeling='binary',
20-
dataset_ver_ind=0
18+
dataset_mg_small = DatasetManager.get_by_config(
19+
DatasetConfig(("example", "example3",)),
20+
DatasetVarConfig(
21+
task=Task.GRAPH_CLASSIFICATION, features=FeatureConfig(node_attr=['a']),
22+
labeling='binary', dataset_ver_ind=0)
2123
)
2224

23-
dataset_sg_example, _, results_dataset_path_sg_example = DatasetManager.get_by_full_name(
24-
full_name=("example", "single-graph", "example",),
25-
features=FeatureConfig(node_attr=['a']),
26-
labeling='binary',
27-
dataset_ver_ind=0
25+
dataset_sg_example = DatasetManager.get_by_config(
26+
DatasetConfig(("example", "example",)),
27+
DatasetVarConfig(
28+
task=Task.GRAPH_CLASSIFICATION, features=FeatureConfig(node_attr=['a']),
29+
labeling='binary', dataset_ver_ind=0)
2830
)
31+
dataset_sg_example.train_test_split(percent_train_class=0.6, percent_test_class=0.4)
2932

3033
gen_dataset_mg_small = DatasetManager.get_by_config(
31-
DatasetConfig(
32-
domain="Homogeneous",
33-
group="custom",
34-
graph="small"),
35-
DatasetVarConfig(features=FeatureConfig(node_attr=['a']),
36-
labeling='binary',
37-
dataset_ver_ind=0)
38-
)
39-
gen_dataset_sg_example = DatasetManager.get_by_config(
40-
DatasetConfig(
41-
domain="single-graph",
42-
group="custom",
43-
graph="example"),
44-
DatasetVarConfig(features=FeatureConfig(node_attr=['a']),
45-
labeling='binary',
46-
dataset_ver_ind=0)
34+
DatasetConfig(("example","example8")),
35+
DatasetVarConfig(
36+
task=Task.GRAPH_CLASSIFICATION, features=FeatureConfig(node_attr=['a']),
37+
labeling='binary', dataset_ver_ind=0)
4738
)
4839
gen_dataset_mg_small.train_test_split(percent_train_class=0.6, percent_test_class=0.4)
49-
gen_dataset_sg_example.train_test_split(percent_train_class=0.6, percent_test_class=0.4)
5040

5141

5242
dataset_mg_small = gen_dataset_mg_small
53-
results_dataset_path_mg_small = gen_dataset_mg_small.prepared_dir
54-
55-
dataset_sg_example = gen_dataset_sg_example
56-
results_dataset_path_sg_example = gen_dataset_sg_example.prepared_dir
5743

5844
# Init gnns and gnn_model_managers
5945
# gat2_cora = model_configs_zoo(dataset=dataset_cora, model_name='gat_gat')
@@ -64,15 +50,15 @@ def explainers_test():
6450

6551
gnn_model_manager_mg_small = FrameworkGNNModelManager(
6652
gnn=gin3_lin2_mg_small,
67-
dataset_path=results_dataset_path_mg_small,
53+
dataset_path=dataset_mg_small.prepared_dir,
6854
)
6955

7056
# gin3_lin2_sg_example = model_configs_zoo(dataset=dataset_sg_example, model_name='gin_gin_gin_lin_lin')
7157
gin3_lin2_sg_example = model_configs_zoo(dataset=dataset_sg_example, model_name='gcn_gcn_lin')
7258

7359
gnn_model_manager_sg_example = FrameworkGNNModelManager(
7460
gnn=gin3_lin2_sg_example,
75-
dataset_path=results_dataset_path_sg_example,
61+
dataset_path=dataset_sg_example.prepared_dir,
7662
)
7763

7864
# Train models

demo/backend_demo.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,7 @@
1111
def backend_demo():
1212
# my_device = device('cuda' if is_available() else 'cpu')
1313

14-
# Init datasets VK and Cora
15-
# dataset_cora, _, results_dataset_path_cora = DatasetManager.get_by_full_name(
16-
# full_name=(LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora"),
17-
# dataset_ver_ind=0)
18-
# dataset_comp, _, results_dataset_path_comp = DatasetManager.get_by_full_name(
19-
# full_name=("Homogeneous", "Amazon", "Computers",),
20-
# dataset_ver_ind=0
21-
# )
22-
# dataset_mg_example, _, results_dataset_path_mg_example = DatasetManager.get_by_full_name(
23-
# full_name=("Homogeneous", "custom", "example",),
24-
# features=FeatureConfig(node_attr=['type']),
25-
# labeling='binary',
26-
# dataset_ver_ind=0
27-
# )
14+
# Init datasets
2815
dataset_cora = DatasetManager.get_by_config(
2916
DatasetConfig((LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora")),
3017
)

demo/user_exp_example.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44

55
from aux.data_info import UserCodeInfo
66
from aux.utils import import_by_name, model_managers_info_by_names_list, TECHNICAL_PARAMETER_KEY
7+
from datasets.ptg_datasets import LibPTGDataset
78
from models_builder.gnn_models import Metric
8-
from data_structures.configs import CONFIG_CLASS_NAME
9+
from data_structures.configs import CONFIG_CLASS_NAME, DatasetConfig, FeatureConfig, Task, \
10+
DatasetVarConfig
911
from datasets.datasets_manager import DatasetManager
1012

1113

@@ -17,15 +19,16 @@ def test_Konst_model():
1719
# full_name = (LibPTGDataset.data_folder, "Homogeneous", "TUDataset", "MUTAG")
1820
# full_name = ("single-graph", "custom", 'karate')
1921
# full_name = (LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora")
20-
# full_name = ("Homogeneous", "TUDataset", 'PROTEINS')
22+
# full_name = (LibPTGDataset.data_folder, "Homogeneous", "TUDataset", 'PROTEINS')
2123
full_name = ("example", "single-graph", "example",)
2224

23-
dataset, data, results_dataset_path = DatasetManager.get_by_full_name(
24-
full_name=full_name,
25-
features=FeatureConfig(node_attr=['a', 'b']),
26-
labeling='threeClasses',
27-
dataset_ver_ind=0
25+
dataset = DatasetManager.get_by_config(
26+
DatasetConfig(full_name),
27+
DatasetVarConfig(
28+
task=Task.NODE_CLASSIFICATION, features=FeatureConfig(node_attr=['a', 'b']),
29+
labeling='threeClasses', dataset_ver_ind=0)
2830
)
31+
data = dataset.data
2932

3033
user_model_class = 'SimGNN'
3134
user_model_obj = 'model_3'

experiments/GNNExplainerDIG_exp_example.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
from torch import device
55
from torch.cuda import is_available
66

7-
from data_structures.configs import ConfigPattern, ModelManagerConfig, ModelModificationConfig
7+
from data_structures.configs import ConfigPattern, ModelManagerConfig, ModelModificationConfig, \
8+
DatasetConfig, Task
89
from aux.utils import EXPLAINERS_INIT_PARAMETERS_PATH, EXPLAINERS_LOCAL_RUN_PARAMETERS_PATH
10+
from datasets.ptg_datasets import LibPTGDataset
911
from explainers.explainers_manager import FrameworkExplainersManager
1012

1113
from models_builder.gnn_models import FrameworkGNNModelManager, Metric
@@ -17,14 +19,11 @@ def dig_GNNExplainer_test():
1719
my_device = device('cuda' if is_available() else 'cpu')
1820
my_device = device('cpu')
1921

20-
dataset, data, results_dataset_path = DatasetManager.get_by_full_name(
21-
full_name=(LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora"),
22-
dataset_ver_ind=0)
23-
24-
# dataset, data, results_dataset_path = DatasetManager.get_by_full_name(
25-
# full_name=("Homogeneous", "TUDataset", 'PROTEINS'),
26-
# dataset_ver_ind=0
27-
# )
22+
dataset = DatasetManager.get_by_config(
23+
DatasetConfig((LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora")),
24+
LibPTGDataset.default_dataset_var_config.clone_with({"task": Task.NODE_CLASSIFICATION})
25+
)
26+
data = dataset.data
2827

2928
gcn2 = model_configs_zoo(dataset=dataset, model_name='gcn_gcn')
3029

@@ -39,7 +38,7 @@ def dig_GNNExplainer_test():
3938
steps_epochs = 200
4039
gnn_model_manager = FrameworkGNNModelManager(
4140
gnn=gcn2,
42-
dataset_path=results_dataset_path,
41+
dataset_path=dataset.prepared_dir,
4342
manager_config=gnn_model_manager_config,
4443
modification=ModelModificationConfig(model_ver_ind=0, epochs=steps_epochs)
4544
)

experiments/GNNExplainerGEOM_exp_example.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
from torch import device
55
from torch.cuda import is_available
66

7-
from data_structures.configs import ModelModificationConfig, ConfigPattern
7+
from data_structures.configs import ModelModificationConfig, ConfigPattern, DatasetConfig, Task
88
from aux.utils import EXPLAINERS_INIT_PARAMETERS_PATH, EXPLAINERS_LOCAL_RUN_PARAMETERS_PATH
9+
from datasets.ptg_datasets import LibPTGDataset
910
from explainers.explainers_manager import FrameworkExplainersManager
1011

1112
from models_builder.gnn_models import FrameworkGNNModelManager, Metric
@@ -17,9 +18,11 @@ def geom_GNNExplainer_test():
1718
my_device = device('cuda' if is_available() else 'cpu')
1819
my_device = device('cpu')
1920

20-
dataset, data, results_dataset_path = DatasetManager.get_by_full_name(
21-
full_name=(LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora"),
22-
dataset_ver_ind=0)
21+
dataset = DatasetManager.get_by_config(
22+
DatasetConfig((LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora")),
23+
LibPTGDataset.default_dataset_var_config.clone_with({"task": Task.NODE_CLASSIFICATION})
24+
)
25+
data = dataset.data
2326

2427
gcn2 = model_configs_zoo(dataset=dataset, model_name='gcn_gcn')
2528

@@ -33,7 +36,7 @@ def geom_GNNExplainer_test():
3336
steps_epochs = 200
3437
gnn_model_manager = FrameworkGNNModelManager(
3538
gnn=gcn2,
36-
dataset_path=results_dataset_path,
39+
dataset_path=dataset.prepared_dir,
3740
manager_config=gnn_model_manager_config,
3841
modification=ModelModificationConfig(model_ver_ind=0, epochs=steps_epochs)
3942
)

experiments/GradCAM_exp_example.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
from torch import device
55
from torch.cuda import is_available
66

7+
from data_structures.configs import DatasetConfig, Task
78
from datasets.datasets_manager import DatasetManager
9+
from datasets.ptg_datasets import LibPTGDataset
810
from models_builder.gnn_models import FrameworkGNNModelManager
911
from models_builder.gnn_constructor import GNNStructure
1012
from explainers.gradcam.GradCAM import GradCAM, GradCAMOut
@@ -15,9 +17,11 @@
1517
def GradCAM_test():
1618
my_device = device('cuda' if is_available() else 'cpu')
1719

18-
dataset, data, results_dataset_path = DatasetManager.get_by_full_name(
19-
full_name=(LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora"),
20-
dataset_ver_ind=0)
20+
21+
dataset = DatasetManager.get_by_config(
22+
DatasetConfig((LibPTGDataset.data_folder, "Homogeneous", "Planetoid", "Cora")),
23+
LibPTGDataset.default_dataset_var_config.clone_with({"task": Task.NODE_CLASSIFICATION})
24+
)
2125

2226
# print(dataset)
2327
# print(data)
@@ -35,7 +39,7 @@ def GradCAM_test():
3539

3640
gnn_model_manager = FrameworkGNNModelManager(
3741
gnn=gcn2,
38-
dataset_path=results_dataset_path,
42+
dataset_path=dataset.prepared_dir,
3943
epochs=50,
4044
batch=10000,
4145
model_ver_ind=1,

0 commit comments

Comments
 (0)