组队学习-图神经网络 Taks 05

尝试将数据集切分成不同数量的簇进行实验,然后观察结果并进行比较。

分别设置num_parts为1500、1000和2000,根据实验观察,簇的数量越多,占用服务器的内存连越多,但是效果不一定好。在对Reddit数据及的实验中,num_parts为1000的效果更好。

1、设置num_parts=1500

cluster_data = ClusterData(data, num_parts=1500, recursive=False,
                           save_dir=dataset.processed_dir)
train_loader = ClusterLoader(cluster_data, batch_size=20, shuffle=True,
                             num_workers=12)

subgraph_loader = NeighborSampler(data.edge_index, sizes=[-1], batch_size=1024,
                                  shuffle=False, num_workers=12)
Epoch: 01, Loss: 1.1428
Epoch: 02, Loss: 0.4720
Epoch: 03, Loss: 0.3936
Epoch: 04, Loss: 0.3564
Evaluating: 100%|██████████| 465930/465930 [01:09<00:00, 6739.99it/s] Epoch: 05, Loss: 0.3282, Train: 0.9571, Val: 0.9538, test: 0.9524

Epoch: 06, Loss: 0.3206
Epoch: 07, Loss: 0.3081
Epoch: 08, Loss: 0.2962
Epoch: 09, Loss: 0.2961
Evaluating: 100%|██████████| 465930/465930 [01:09<00:00, 6676.56it/s] Epoch: 10, Loss: 0.3293, Train: 0.9592, Val: 0.9504, test: 0.9495

Epoch: 11, Loss: 0.2807
Epoch: 12, Loss: 0.2759
Epoch: 13, Loss: 0.2669
Epoch: 14, Loss: 0.2659
Evaluating: 100%|██████████| 465930/465930 [01:09<00:00, 6693.68it/s] Epoch: 15, Loss: 0.2698, Train: 0.9641, Val: 0.9517, test: 0.9504

Epoch: 16, Loss: 0.2620
Epoch: 17, Loss: 0.2563
Epoch: 18, Loss: 0.2703
Epoch: 19, Loss: 0.2566
Evaluating: 100%|██████████| 465930/465930 [01:09<00:00, 6718.66it/s] Epoch: 20, Loss: 0.2656, Train: 0.9668, Val: 0.9514, test: 0.9511

Epoch: 21, Loss: 0.2543
Epoch: 22, Loss: 0.3028
Epoch: 23, Loss: 0.2498
Epoch: 24, Loss: 0.2395
Evaluating: 100%|██████████| 465930/465930 [01:10<00:00, 6639.66it/s] Epoch: 25, Loss: 0.2351, Train: 0.9707, Val: 0.9533, test: 0.9537

Epoch: 26, Loss: 0.2309
Epoch: 27, Loss: 0.2313
Epoch: 28, Loss: 0.2262
Epoch: 29, Loss: 0.2366
Evaluating: 100%|██████████| 465930/465930 [01:09<00:00, 6675.75it/s] Epoch: 30, Loss: 0.2401, Train: 0.9685, Val: 0.9491, test: 0.9503

2、设置num_parts=2000

cluster_data = ClusterData(data, num_parts=2000, recursive=False,
                           save_dir=dataset.processed_dir)
train_loader = ClusterLoader(cluster_data, batch_size=20, shuffle=True,
                             num_workers=12)

subgraph_loader = NeighborSampler(data.edge_index, sizes=[-1], batch_size=1024,
                                  shuffle=False, num_workers=12)
Computing METIS partitioning...
Done!
/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 12 worker processes in total. Our suggested max number of worker in current system is 4, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
  cpuset_checked))
Epoch: 01, Loss: 1.0488
Epoch: 02, Loss: 0.4664
Epoch: 03, Loss: 0.3923
Epoch: 04, Loss: 0.3600
Evaluating: 100%|██████████| 465930/465930 [01:13<00:00, 6326.51it/s] Epoch: 05, Loss: 0.3567, Train: 0.9367, Val: 0.9351, test: 0.9335

Epoch: 06, Loss: 0.3380
Epoch: 07, Loss: 0.3216
Epoch: 08, Loss: 0.3139
Epoch: 09, Loss: 0.3228
Evaluating: 100%|██████████| 465930/465930 [01:13<00:00, 6307.56it/s] Epoch: 10, Loss: 0.3003, Train: 0.9561, Val: 0.9470, test: 0.9455

Epoch: 11, Loss: 0.3107
Epoch: 12, Loss: 0.3318
Epoch: 13, Loss: 0.3029
Epoch: 14, Loss: 0.2885
Evaluating: 100%|██████████| 465930/465930 [01:13<00:00, 6318.85it/s] Epoch: 15, Loss: 0.2795, Train: 0.9599, Val: 0.9490, test: 0.9470

Epoch: 16, Loss: 0.2821
Epoch: 17, Loss: 0.2712
Epoch: 18, Loss: 0.2640
Epoch: 19, Loss: 0.3049
Evaluating: 100%|██████████| 465930/465930 [01:14<00:00, 6273.17it/s] Epoch: 20, Loss: 0.2669, Train: 0.9673, Val: 0.9533, test: 0.9531

Epoch: 21, Loss: 0.2621
Epoch: 22, Loss: 0.2600
Epoch: 23, Loss: 0.2563
Epoch: 24, Loss: 0.2605
Evaluating: 100%|██████████| 465930/465930 [01:14<00:00, 6264.83it/s] Epoch: 25, Loss: 0.2617, Train: 0.9626, Val: 0.9491, test: 0.9485

Epoch: 26, Loss: 0.2532
Epoch: 27, Loss: 0.2575
Epoch: 28, Loss: 0.2540
Epoch: 29, Loss: 0.2508
Evaluating: 100%|██████████| 465930/465930 [01:14<00:00, 6255.09it/s] Epoch: 30, Loss: 0.2528, Train: 0.9661, Val: 0.9493, test: 0.9485

2、设置num_parts=1000

cluster_data = ClusterData(data, num_parts=1000, recursive=False,
                           save_dir=dataset.processed_dir)
train_loader = ClusterLoader(cluster_data, batch_size=20, shuffle=True,
                             num_workers=12)

subgraph_loader = NeighborSampler(data.edge_index, sizes=[-1], batch_size=1024,
                                  shuffle=False, num_workers=12)
Downloading https://data.dgl.ai/dataset/reddit.zip
Extracting data/Reddit/raw/reddit.zip
Processing...
Done!
Computing METIS partitioning...
Done!
/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 12 worker processes in total. Our suggested max number of worker in current system is 4, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
  cpuset_checked))
Epoch: 01, Loss: 1.3489
Epoch: 02, Loss: 0.5354
Epoch: 03, Loss: 0.4202
Epoch: 04, Loss: 0.3678
Evaluating: 100%|██████████| 465930/465930 [01:12<00:00, 6445.29it/s] Epoch: 05, Loss: 0.3326, Train: 0.9547, Val: 0.9535, test: 0.9511

Epoch: 06, Loss: 0.3162
Epoch: 07, Loss: 0.3051
Epoch: 08, Loss: 0.2853
Epoch: 09, Loss: 0.2762
Evaluating: 100%|██████████| 465930/465930 [01:12<00:00, 6421.35it/s] Epoch: 10, Loss: 0.2708, Train: 0.9665, Val: 0.9582, test: 0.9569

Epoch: 11, Loss: 0.2643
Epoch: 12, Loss: 0.2548
Epoch: 13, Loss: 0.2565
Epoch: 14, Loss: 0.3254
Evaluating: 100%|██████████| 465930/465930 [01:12<00:00, 6440.26it/s] Epoch: 15, Loss: 0.2794, Train: 0.9649, Val: 0.9540, test: 0.9530

Epoch: 16, Loss: 0.2477
Epoch: 17, Loss: 0.2453
Epoch: 18, Loss: 0.2399
Epoch: 19, Loss: 0.2358
Evaluating: 100%|██████████| 465930/465930 [01:12<00:00, 6406.07it/s] Epoch: 20, Loss: 0.2392, Train: 0.9627, Val: 0.9476, test: 0.9469

Epoch: 21, Loss: 0.2238
Epoch: 22, Loss: 0.2201
Epoch: 23, Loss: 0.2245
Epoch: 24, Loss: 0.2143
Evaluating: 100%|██████████| 465930/465930 [01:12<00:00, 6435.50it/s] Epoch: 25, Loss: 0.2197, Train: 0.9692, Val: 0.9520, test: 0.9515

Epoch: 26, Loss: 0.2148
Epoch: 27, Loss: 0.2089
Epoch: 28, Loss: 0.2074
Epoch: 29, Loss: 0.2115
Evaluating: 100%|██████████| 465930/465930 [01:11<00:00, 6477.92it/s] Epoch: 30, Loss: 0.2092, Train: 0.9737, Val: 0.9569, test: 0.9540

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值