THUDM / CogDL

CogDL: A Comprehensive Library for Graph Deep Learning (WWW 2023)
https://cogdl.ai
MIT License
1.71k stars 313 forks source link

在使用GCN网络以及数据集为MUTAG,IMDB-B和PTC-MR进行图分类任务时产生的问题 #386

Closed zhanghaoxuan184 closed 2 years ago

zhanghaoxuan184 commented 2 years ago

🐛 Bug

To Reproduce

Steps to reproduce the behavior:

在我使用GCN网络以及数据集为MUTAG,IMDB-B和PTC-MR进行图分类任务时,都会产生以下问题 experiment(dataset="mutag", model="gcn", dw="graph_classification_dw", mw="graph_classification_mw",batch_size=16)

MUTAG---ValueError: Expected input batch_size (308) to match target batch_size (16). IMDB-B---ValueError: Expected input batch_size (289) to match target batch_size (16). PTC-MR---ValueError: Expected input batch_size (227) to match target batch_size (16).

在我更改batch_size超参数时前面的数字会变得更大,且后面的数字会不一样 experiment(dataset="mutag", model="gcn", dw="graph_classification_dw", mw="graph_classification_mw",batch_size=308) ValueError: Expected input batch_size (1668) to match target batch_size (94).

Expected behavior

正常运行

Environment

zhanghaoxuan184 commented 2 years ago

其中报错为:

Namespace(activation='relu', actnn=False, batch_size=308, checkpoint_path='./checkpoints/model.pt', cpu=False, cpu_inference=False, dataset=['mutag'], degree_node_features=False, devices=[0], distributed=False, do_test=True, do_valid=True, dropout=0.5, dw='graph_classification_dw', epochs=500, eval_step=1, fp16=False, hidden_size=64, load_emb_path=None, local_rank=0, log_path='.', logger=None, lr=0.01, master_addr='localhost', master_port=13425, max_epoch=None, model=['gcn'], mw='graph_classification_mw', n_trials=3, n_warmup_steps=0, norm=None, nstage=1, num_classes=None, num_features=None, num_layers=2, patience=100, progress_bar='epoch', project='cogdl-exp', residual=False, resume_training=False, return_model=False, rp_ratio=1, save_emb_path=None, seed=[1], split=[0], test_ratio=0.3, train_ratio=0.5, unsup=False, use_best_config=False, weight_decay=0)

------------------------------------------------------------------------------------------- *** Running (mutag, gcn, graph_classification_dw, graph_classification_mw)

Model Parameters: 642 0%| | 0/500 [00:00<?, ?it/s]C:\Users\Administrator\Anaconda\envs\pytorch_gpu\lib\site-packages\torch\utils\cpp_extension.py:346: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。 warnings.warn(f'Error checking compiler version for {compiler}: {error}') ��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ��� C:\Users\Administrator\Anaconda\envs\pytorch_gpu\lib\site-packages\torch\utils\cpp_extension.py:346: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。 warnings.warn(f'Error checking compiler version for {compiler}: {error}') ��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ��� C:\Users\Administrator\Anaconda\envs\pytorch_gpu\lib\site-packages\torch\utils\cpp_extension.py:346: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。 warnings.warn(f'Error checking compiler version for {compiler}: {error}') ��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ��� C:\Users\Administrator\Anaconda\envs\pytorch_gpu\lib\site-packages\torch\utils\cpp_extension.py:346: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。 warnings.warn(f'Error checking compiler version for {compiler}: {error}') ��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ��� ��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ��� ��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ��� 0%| | 0/500 [00:21<?, ?it/s] Traceback (most recent call last): File "D:/cogdl-master/myGNN.py", line 5, in experiment(dataset="mutag", model="gcn", dw="graph_classification_dw", mw="graph_classification_mw",batch_size=308) File "D:\cogdl-master\cogdl\experiments.py", line 360, in experiment return raw_experiment(args) File "D:\cogdl-master\cogdl\experiments.py", line 264, in raw_experiment results = [train(args) for args in variant_args_generator(args, variants)] File "D:\cogdl-master\cogdl\experiments.py", line 264, in results = [train(args) for args in variant_args_generator(args, variants)] File "D:\cogdl-master\cogdl\experiments.py", line 218, in train result = trainer.run(model_wrapper, dataset_wrapper) File "D:\cogdl-master\cogdl\trainer\trainer.py", line 204, in run self.train(self.devices[0], model_w, dataset_w) File "D:\cogdl-master\cogdl\trainer\trainer.py", line 361, in train training_loss = self.train_step(model_w, train_loader, optimizers, lr_schedulers, rank, scaler) File "D:\cogdl-master\cogdl\trainer\trainer.py", line 515, in train_step loss = model_w.on_train_step(batch) File "D:\cogdl-master\cogdl\wrappers\model_wrapper\base_model_wrapper.py", line 73, in on_train_step return self.train_step(*args, **kwargs) File "D:\cogdl-master\cogdl\wrappers\model_wrapper\graph_classification\graph_classification_mw.py", line 15, in train_step loss = self.default_loss_fn(pred, y) File "D:\cogdl-master\cogdl\utils\evaluator.py", line 121, in call return torch.nn.functional.nll_loss(y_pred, y_true) File "C:\Users\Administrator\Anaconda\envs\pytorch_gpu\lib\site-packages\torch\nn\functional.py", line 2689, in nll_loss return torch._C._nn.nll_loss_nd(input, target, weight, _Reduction.get_enum(reduction), ignore_index) ValueError: Expected input batch_size (1668) to match target batch_size (94).

Process finished with exit code 1

cenyk1230 commented 2 years ago

Hi @zhanghaoxuan184 ,

感谢对cogdl的关注。您能否先测试一下gin模型能否使用?gcn模型目前主要用于节点分类任务

zhanghaoxuan184 commented 2 years ago

gin模型可以使用,非常感谢您!请问cogdl当中的哪些模型可以进行图分类任务

cenyk1230 commented 2 years ago

GNN模型应该是这些:["gin", "patchy_san", "diffpool", "infograph", "dgcnn", "sortpool"] embedding模型应该是这些:["dgk","graph2vec"]

zhanghaoxuan184 commented 2 years ago

好的,非常感谢!!