alibaba / FederatedScope

An easy-to-use federated learning platform
https://www.federatedscope.io
Apache License 2.0
1.26k stars 206 forks source link

Custom dataset for graph level prediction #739

Closed kamelferrahi closed 8 months ago

kamelferrahi commented 8 months ago

HI, I have a problem regarding the creation of a the dataset containing the graph and their labels. The dataset is as follow:

{1: {'train': [[Data(x=[35930], edge_index=[2, 94493], y=0), Data(x=[24485], edge_index=[2, 64514], y=0), Data(x=[21085], edge_index=[2, 54822], y=0), Data(x=[30623], edge_index=[2, 76191], y=0), Data(x=[51761], edge_index=[2, 134802], y=0), Data(x=[21758], edge_index=[2, 55987], y=1), Data(x=[49701], edge_index=[2, 126999], y=0), Data(x=[34003], edge_index=[2, 85517], y=0), Data(x=[32272], edge_index=[2, 81836], y=0), Data(x=[29819], edge_index=[2, 78395], y=1), Data(x=[30304], edge_index=[2, 74543], y=1), Data(x=[21485], edge_index=[2, 53747], y=1), Data(x=[29853], edge_index=[2, 73082], y=0), Data(x=[40787], edge_index=[2, 106516], y=0), Data(x=[38701], edge_index=[2, 97439], y=0), Data(x=[21270], edge_index=[2, 53967], y=0), Data(x=[25554], edge_index=[2, 69184], y=0), Data(x=[128530], edge_index=[2, 357788], y=0), Data(x=[26898], edge_index=[2, 71048], y=0), Data(x=[23826], edge_index=[2, 61782], y=0), Data(x=[46047], edge_index=[2, 118640], y=1), Data(x=[29480], edge_index=[2, 73441], y=0), Data(x=[63634], edge_index=[2, 169634], y=0), Data(x=[34543], edge_index=[2, 87914], y=0), Data(x=[34529], edge_index=[2, 88654], y=0), Data(x=[29846], edge_index=[2, 74435], y=0), Data(x=[15927], edge_index=[2, 48770], y=1), Data(x=[48019], edge_index=[2, 124664], y=0), Data(x=[45175], edge_index=[2, 119562], y=0), Data(x=[23587], edge_index=[2, 62867], y=0), Data(x=[24806], edge_index=[2, 84103], y=1), Data(x=[31437], edge_index=[2, 78866], y=0)], [Data(x=[38309], edge_index=[2, 97445], y=0), Data(x=[38404], edge_index=[2, 127727], y=1), Data(x=[42136], edge_index=[2, 108816], y=0), Data(x=[20402], edge_index=[2, 52785], y=1), Data(x=[23608], edge_index=[2, 60896], y=0), Data(x=[45373], edge_index=[2, 120158], y=0), Data(x=[33659], edge_index=[2, 86696], y=0), Data(x=[36267], edge_index=[2, 93402], y=0), Data(x=[19435], edge_index=[2, 49774], y=1), Data(x=[35174], edge_index=[2, 88803], y=0), Data(x=[46208], edge_index=[2, 122518], y=0), Data(x=[46800], edge_index=[2, 124380], y=0), Data(x=[49114], edge_index=[2, 127668], y=0), Data(x=[74361], edge_index=[2, 215631], y=0), Data(x=[24134], edge_index=[2, 62672], y=0), Data(x=[42481], edge_index=[2, 111734], y=0), Data(x=[24816], edge_index=[2, 65789], y=0), Data(x=[54920], edge_index=[2, 145027], y=0), Data(x=[40775], edge_index=[2, 107485], y=0), Data(x=[41986], edge_index=[2, 110106], y=0), Data(x=[22176], edge_index=[2, 68253], y=1), Data(x=[28900], edge_index=[2, 117913], y=1), Data(x=[30451], edge_index=[2, 79702], y=0), Data(x=[66881], edge_index=[2, 181269], y=0), Data(x=[32521], edge_index=[2, 80741], y=0), Data(x=[49778], edge_index=[2, 129033], y=0), Data(x=[40033], edge_index=[2, 102951], y=0), Data(x=[31437], edge_index=[2, 78789], y=0), Data(x=[30748], edge_index=[2, 76198], y=0), Data(x=[18910], edge_index=[2, 46438], y=1), Data(x=[14507], edge_index=[2, 34622], y=1)]

I have this error as an output Traceback (most recent call last): File "/home/kamel/pfe/FederatedScope/federatedscope/main.py", line 53, in <module> runner = get_runner(data=data, File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/auxiliaries/runner_builder.py", line 52, in get_runner return runner_cls(data=data, File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/fed_runner.py", line 87, in __init__ self._set_up() File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/fed_runner.py", line 336, in _set_up self.server = self._setup_server( File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/fed_runner.py", line 150, in _setup_server server_data, model, kw = self._get_server_args(resource_info, File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/fed_runner.py", line 363, in _get_server_args model = get_model(self.cfg.model, File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/auxiliaries/model_builder.py", line 130, in get_model input_shape = get_shape_from_data(local_data, model_config, backend) File "/home/kamel/miniconda3/envs/fs/lib/python3.9/site-packages/federatedscope/core/auxiliaries/model_builder.py", line 40, in get_shape_from_data return data_representative.x.shape, num_label, num_edge_features AttributeError: 'list' object has no attribute 'x'

I have specified the GraphMinibatcher trainer and the configuration is correct

rayrayraykk commented 8 months ago

Could you please provide full scripts for debug?

kamelferrahi commented 8 months ago

Hello, I've successfully addressed the error, and it was related to the shape of the node matrix feature in the Data object of torch geometric. Thank you