File size: 9,441 Bytes
354c06c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
2025-07-18 11:46:15,606 - INFO - Starting GNN training pipeline...
2025-07-18 11:46:15,607 - INFO - Using device: cpu
2025-07-18 11:46:15,645 - INFO - Using Apple Silicon MPS acceleration
2025-07-18 11:46:15,645 - INFO - Loading Cora dataset...
2025-07-18 11:46:25,022 - INFO - Dataset: Cora()
2025-07-18 11:46:25,022 - INFO - Number of graphs: 1
2025-07-18 11:46:25,026 - INFO - Number of features: 1433
2025-07-18 11:46:25,027 - INFO - Number of classes: 7
2025-07-18 11:46:25,027 - INFO - Number of nodes: 2708
2025-07-18 11:46:25,028 - INFO - Number of edges: 10556
2025-07-18 11:46:25,028 - INFO - Average node degree: 3.90
2025-07-18 11:46:25,028 - INFO - Training nodes: 140
2025-07-18 11:46:25,029 - INFO - Validation nodes: 500
2025-07-18 11:46:25,029 - INFO - Test nodes: 1000
2025-07-18 11:46:25,030 - INFO - Data split ratios - Train: 0.052, Val: 0.185, Test: 0.369
2025-07-18 11:46:25,131 - INFO - Creating graph visualization...
2025-07-18 11:49:24,214 - INFO - Starting GNN training pipeline...
2025-07-18 11:49:24,215 - INFO - Using device: cpu
2025-07-18 11:49:24,215 - INFO - Using Apple Silicon MPS acceleration
2025-07-18 11:49:24,215 - INFO - Loading Cora dataset...
2025-07-18 11:49:24,221 - INFO - Dataset: Cora()
2025-07-18 11:49:24,221 - INFO - Number of graphs: 1
2025-07-18 11:49:24,222 - INFO - Number of features: 1433
2025-07-18 11:49:24,223 - INFO - Number of classes: 7
2025-07-18 11:49:24,223 - INFO - Number of nodes: 2708
2025-07-18 11:49:24,224 - INFO - Number of edges: 10556
2025-07-18 11:49:24,224 - INFO - Average node degree: 3.90
2025-07-18 11:49:24,224 - INFO - Training nodes: 140
2025-07-18 11:49:24,225 - INFO - Validation nodes: 500
2025-07-18 11:49:24,225 - INFO - Test nodes: 1000
2025-07-18 11:49:24,225 - INFO - Data split ratios - Train: 0.052, Val: 0.185, Test: 0.369
2025-07-18 11:49:24,244 - INFO - Creating graph visualization...
2025-07-18 11:52:01,661 - INFO - Starting GNN training pipeline...
2025-07-18 11:52:01,661 - INFO - Using device: cpu
2025-07-18 11:52:01,662 - INFO - Using Apple Silicon MPS acceleration
2025-07-18 11:52:01,662 - INFO - Loading Cora dataset...
2025-07-18 11:52:01,669 - INFO - Dataset: Cora()
2025-07-18 11:52:01,670 - INFO - Number of graphs: 1
2025-07-18 11:52:01,672 - INFO - Number of features: 1433
2025-07-18 11:52:01,673 - INFO - Number of classes: 7
2025-07-18 11:52:01,673 - INFO - Number of nodes: 2708
2025-07-18 11:52:01,674 - INFO - Number of edges: 10556
2025-07-18 11:52:01,674 - INFO - Average node degree: 3.90
2025-07-18 11:52:01,674 - INFO - Training nodes: 140
2025-07-18 11:52:01,675 - INFO - Validation nodes: 500
2025-07-18 11:52:01,675 - INFO - Test nodes: 1000
2025-07-18 11:52:01,675 - INFO - Data split ratios - Train: 0.052, Val: 0.185, Test: 0.369
2025-07-18 11:52:01,692 - INFO - Creating graph visualization...
2025-07-18 11:54:14,017 - INFO - Starting GNN training pipeline...
2025-07-18 11:54:14,017 - INFO - Using device: cpu
2025-07-18 11:54:14,018 - INFO - Using Apple Silicon MPS acceleration
2025-07-18 11:54:14,018 - INFO - Loading Cora dataset...
2025-07-18 11:54:14,023 - INFO - Dataset: Cora()
2025-07-18 11:54:14,024 - INFO - Number of graphs: 1
2025-07-18 11:54:14,025 - INFO - Number of features: 1433
2025-07-18 11:54:14,026 - INFO - Number of classes: 7
2025-07-18 11:54:14,026 - INFO - Number of nodes: 2708
2025-07-18 11:54:14,026 - INFO - Number of edges: 10556
2025-07-18 11:54:14,026 - INFO - Average node degree: 3.90
2025-07-18 11:54:14,027 - INFO - Training nodes: 140
2025-07-18 11:54:14,027 - INFO - Validation nodes: 500
2025-07-18 11:54:14,027 - INFO - Test nodes: 1000
2025-07-18 11:54:14,028 - INFO - Data split ratios - Train: 0.052, Val: 0.185, Test: 0.369
2025-07-18 11:54:14,048 - INFO - Creating graph visualization...
2025-07-18 11:54:20,240 - INFO - Graph visualization saved to graph_visualization.png
2025-07-18 11:54:20,240 - INFO - Training configuration: {'hidden_dim': 32, 'num_layers': 2, 'dropout': 0.5, 'learning_rate': 0.001, 'weight_decay': 0.0005, 'epochs': 200, 'patience': 20, 'attention_heads': 8}
2025-07-18 11:54:20,241 - INFO - 
==================================================
2025-07-18 11:54:20,241 - INFO - Training GCN
2025-07-18 11:54:20,241 - INFO - ==================================================
2025-07-18 11:54:20,242 - INFO - Training GCN model...
2025-07-18 11:54:20,441 - INFO - GCN Model initialized with 1433 input features, 32 hidden dim, 7 classes
2025-07-18 11:54:20,442 - INFO - Model parameters: 46,119
2025-07-18 11:54:21,583 - INFO - Epoch 20/200 - Train Loss: 1.9194, Train Acc: 0.7857, Val Loss: 1.9314, Val Acc: 0.6880
2025-07-18 11:54:21,830 - INFO - Epoch 40/200 - Train Loss: 1.8824, Train Acc: 0.8714, Val Loss: 1.9118, Val Acc: 0.7580
2025-07-18 11:54:22,072 - INFO - Epoch 60/200 - Train Loss: 1.8367, Train Acc: 0.9214, Val Loss: 1.8873, Val Acc: 0.7680
2025-07-18 11:54:22,313 - INFO - Epoch 80/200 - Train Loss: 1.7875, Train Acc: 0.8857, Val Loss: 1.8592, Val Acc: 0.7740
2025-07-18 11:54:22,431 - INFO - Early stopping at epoch 90
2025-07-18 11:54:22,443 - INFO - GCN Final Test Accuracy: 0.7930
2025-07-18 11:54:22,445 - INFO - GCN training completed and saved
2025-07-18 11:54:22,445 - INFO - 
==================================================
2025-07-18 11:54:22,445 - INFO - Training GraphSAGE
2025-07-18 11:54:22,445 - INFO - ==================================================
2025-07-18 11:54:22,446 - INFO - Training GraphSAGE model...
2025-07-18 11:54:22,459 - INFO - GraphSAGE Model initialized with 1433 input features, 32 hidden dim, 7 classes
2025-07-18 11:54:22,461 - INFO - Model parameters: 92,199
2025-07-18 11:54:22,972 - INFO - Epoch 20/200 - Train Loss: 1.9226, Train Acc: 0.2929, Val Loss: 1.9494, Val Acc: 0.2020
2025-07-18 11:54:23,306 - INFO - Epoch 40/200 - Train Loss: 1.8653, Train Acc: 0.4214, Val Loss: 1.9226, Val Acc: 0.2440
2025-07-18 11:54:23,640 - INFO - Epoch 60/200 - Train Loss: 1.7637, Train Acc: 0.8000, Val Loss: 1.8790, Val Acc: 0.4360
2025-07-18 11:54:23,976 - INFO - Epoch 80/200 - Train Loss: 1.6420, Train Acc: 0.8857, Val Loss: 1.8200, Val Acc: 0.6080
2025-07-18 11:54:24,300 - INFO - Epoch 100/200 - Train Loss: 1.4988, Train Acc: 0.9500, Val Loss: 1.7470, Val Acc: 0.6640
2025-07-18 11:54:24,630 - INFO - Epoch 120/200 - Train Loss: 1.3248, Train Acc: 0.9571, Val Loss: 1.6629, Val Acc: 0.7080
2025-07-18 11:54:24,989 - INFO - Epoch 140/200 - Train Loss: 1.1383, Train Acc: 0.9714, Val Loss: 1.5735, Val Acc: 0.7480
2025-07-18 11:54:25,308 - INFO - Epoch 160/200 - Train Loss: 1.0036, Train Acc: 0.9786, Val Loss: 1.4778, Val Acc: 0.7640
2025-07-18 11:54:25,632 - INFO - Epoch 180/200 - Train Loss: 0.8511, Train Acc: 0.9714, Val Loss: 1.3865, Val Acc: 0.7800
2025-07-18 11:54:25,739 - INFO - Early stopping at epoch 187
2025-07-18 11:54:25,749 - INFO - GraphSAGE Final Test Accuracy: 0.7680
2025-07-18 11:54:25,751 - INFO - GraphSAGE training completed and saved
2025-07-18 11:54:25,752 - INFO - 
==================================================
2025-07-18 11:54:25,752 - INFO - Training GAT
2025-07-18 11:54:25,753 - INFO - ==================================================
2025-07-18 11:54:25,753 - INFO - Training GAT model...
2025-07-18 11:54:25,776 - INFO - GAT Model initialized with 1433 input features, 32 hidden dim, 7 classes, 8 attention heads
2025-07-18 11:54:25,778 - INFO - Model parameters: 369,429
2025-07-18 11:54:28,023 - INFO - Epoch 20/200 - Train Loss: 1.8903, Train Acc: 0.7857, Val Loss: 1.9061, Val Acc: 0.7900
2025-07-18 11:54:28,464 - INFO - Epoch 40/200 - Train Loss: 1.7788, Train Acc: 0.9143, Val Loss: 1.8423, Val Acc: 0.7960
2025-07-18 11:54:28,605 - INFO - Early stopping at epoch 46
2025-07-18 11:54:28,618 - INFO - GAT Final Test Accuracy: 0.8190
2025-07-18 11:54:28,622 - INFO - GAT training completed and saved
2025-07-18 11:54:28,622 - INFO - Creating training curves...
2025-07-18 11:54:29,106 - INFO - Training curves saved to training_curves.png
2025-07-18 11:54:29,106 - INFO - Creating embeddings visualization...
2025-07-18 11:54:36,376 - INFO - Embeddings visualization saved to embeddings_tsne.png
2025-07-18 11:54:36,377 - INFO - Saving results summary...
2025-07-18 11:54:36,377 - INFO - Results summary saved to results_summary.json
2025-07-18 11:54:36,378 - INFO - 
============================================================
2025-07-18 11:54:36,378 - INFO - FINAL RESULTS COMPARISON
2025-07-18 11:54:36,378 - INFO - ============================================================
2025-07-18 11:54:36,378 - INFO - GCN          - Test Accuracy: 0.7930
2025-07-18 11:54:36,378 - INFO - GraphSAGE    - Test Accuracy: 0.7680
2025-07-18 11:54:36,379 - INFO - GAT          - Test Accuracy: 0.8190
2025-07-18 11:54:36,379 - INFO - 
Best performing model: GAT with accuracy: 0.8190
2025-07-18 11:54:36,379 - INFO - 
All training artifacts saved:
2025-07-18 11:54:36,379 - INFO - - Model checkpoints: best_*_model.pth
2025-07-18 11:54:36,379 - INFO - - Full models: *_full_model.pkl
2025-07-18 11:54:36,380 - INFO - - Training curves: training_curves.png
2025-07-18 11:54:36,380 - INFO - - Embeddings visualization: embeddings_tsne.png
2025-07-18 11:54:36,380 - INFO - - Graph visualization: graph_visualization.png
2025-07-18 11:54:36,380 - INFO - - Results summary: results_summary.json
2025-07-18 11:54:36,380 - INFO - - Training logs: gnn_training.log
2025-07-18 11:54:36,381 - INFO - 
GNN training pipeline completed successfully!