OpenUKGE 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. openukge/__init__.py +0 -0
  2. openukge/data/__init__.py +8 -0
  3. openukge/data/dataset.py +78 -0
  4. openukge/data/datasets/__init__.py +0 -0
  5. openukge/data/datasets/cn15k.py +28 -0
  6. openukge/data/datasets/mini-demo.py +0 -0
  7. openukge/data/datasets/nl27k.py +24 -0
  8. openukge/data/datasets/ppi5k.py +16 -0
  9. openukge/data/load_data.py +794 -0
  10. openukge/data/ukg_data_module.py +136 -0
  11. openukge/data/ukg_sampler.py +632 -0
  12. openukge/data/word_vec_data.py +73 -0
  13. openukge/evaluation/ECE.py +36 -0
  14. openukge/evaluation/__init__.py +5 -0
  15. openukge/evaluation/confidence_prediction.py +28 -0
  16. openukge/evaluation/link_predict.py +286 -0
  17. openukge/evaluation/mean_ndcg.py +56 -0
  18. openukge/loss/__init__.py +9 -0
  19. openukge/loss/beurre_loss.py +89 -0
  20. openukge/loss/focuse_loss.py +15 -0
  21. openukge/loss/gmuc_loss.py +88 -0
  22. openukge/loss/gtranse_loss.py +19 -0
  23. openukge/loss/passleaf_loss.py +15 -0
  24. openukge/loss/ukge_loss.py +16 -0
  25. openukge/loss/ukge_psl_loss.py +17 -0
  26. openukge/loss/ukgse_loss.py +16 -0
  27. openukge/loss/upgat_loss.py +34 -0
  28. openukge/models/__init__.py +11 -0
  29. openukge/models/few_shot_model/__init__.py +1 -0
  30. openukge/models/few_shot_model/gmuc.py +319 -0
  31. openukge/models/ukg_model/__init__.py +8 -0
  32. openukge/models/ukg_model/beurre.py +382 -0
  33. openukge/models/ukg_model/focuse.py +167 -0
  34. openukge/models/ukg_model/gtranse.py +97 -0
  35. openukge/models/ukg_model/passleaf.py +182 -0
  36. openukge/models/ukg_model/ukge.py +94 -0
  37. openukge/models/ukg_model/ukge_psl.py +94 -0
  38. openukge/models/ukg_model/ukgse.py +109 -0
  39. openukge/models/ukg_model/upgat.py +245 -0
  40. openukge/models/word2vec/__init__.py +2 -0
  41. openukge/models/word2vec/cbow.py +35 -0
  42. openukge/models/word2vec/skipgram.py +36 -0
  43. openukge/training/__init__.py +11 -0
  44. openukge/training/beurre_trainer.py +224 -0
  45. openukge/training/focuse_trainer.py +202 -0
  46. openukge/training/gmuc_trainer.py +476 -0
  47. openukge/training/gtranse_trainer.py +207 -0
  48. openukge/training/passleaf_trainer.py +277 -0
  49. openukge/training/training_utils/__init__.py +2 -0
  50. openukge/training/training_utils/early_stop.py +93 -0
  51. openukge/training/training_utils/optim_builder.py +87 -0
  52. openukge/training/ukge_psl_trainer.py +250 -0
  53. openukge/training/ukge_trainer.py +246 -0
  54. openukge/training/ukgse_trainer.py +236 -0
  55. openukge/training/upgat_trainer.py +280 -0
  56. openukge/training/word_vec_trainer.py +83 -0
  57. openukge/utils/__init__.py +5 -0
  58. openukge/utils/device.py +41 -0
  59. openukge/utils/download.py +138 -0
  60. openukge/utils/seed.py +56 -0
  61. openukge-1.0.0.dist-info/METADATA +143 -0
  62. openukge-1.0.0.dist-info/RECORD +65 -0
  63. openukge-1.0.0.dist-info/WHEEL +5 -0
  64. openukge-1.0.0.dist-info/licenses/LICENSE +674 -0
  65. openukge-1.0.0.dist-info/top_level.txt +1 -0
openukge/__init__.py ADDED
File without changes
@@ -0,0 +1,8 @@
1
+ from .datasets import cn15k, nl27k, ppi5k
2
+ from .dataset import LoadUKGEDataset
3
+ from .load_data import UKGData
4
+ from .ukg_sampler import UKGSampler
5
+ from .ukg_data_module import UKGDataModule
6
+ from .word_vec_data import Word2VecUncertainDataset, collate_skipgram, collate_cbow
7
+
8
+ __ALL__ = ['cn15k', 'nl27k', 'ppi5k', 'LoadUKGEDataset', 'UKGData', 'UKGESampler', 'UKGDataModule', 'Word2VecData']
@@ -0,0 +1,78 @@
1
+ from .load_data import UKGData, FewShotData
2
+ from .ukg_sampler import UKGSampler, FewShotSampler
3
+ from .ukg_data_module import UKGDataModule, FewShotModule
4
+ from ..utils import download_dataset
5
+
6
+
7
+ class LoadUKGEDataset:
8
+ def __init__(self, root=None,
9
+ dataset_name=None,
10
+ num_neg_samples=None,
11
+ batch_size=None,
12
+ high_threshold=None,
13
+ num_partitions=None,
14
+ use_pseudo=False,
15
+ config=None):
16
+ if config:
17
+ self.config = config
18
+ self.root = config.root
19
+ self.root = root
20
+ self.dataset_name = dataset_name
21
+ self.num_neg = num_neg_samples
22
+ self.batch_size = batch_size
23
+ self.high_threshold = high_threshold
24
+ self.num_partitions = num_partitions
25
+ self.use_pseudo = use_pseudo
26
+
27
+ def get_dataloader(self):
28
+ data_path = download_dataset(dataset_name=self.dataset_name, download_path=self.root)
29
+ dataset = UKGData(dataset_dir=data_path, use_index_file=True, use_pseudo=self.use_pseudo)
30
+ final_data = dataset()
31
+ sampler = UKGSampler(final_data, self.num_neg, self.high_threshold, self.num_partitions)
32
+ dataloader = UKGDataModule(sampler=sampler,
33
+ batch_size=self.batch_size,
34
+ num_workers=0,
35
+ use_pseudo=self.use_pseudo)
36
+
37
+ return dataloader
38
+
39
+
40
+
41
+ class LoadFewShotDataset:
42
+ def __init__(self, root=None,
43
+ dataset_name=None,
44
+ num_neg_samples=None,
45
+ batch_size=None,
46
+ max_neighbor = None,
47
+ has_ont = False,
48
+ few=None,
49
+ type_constrain=None,
50
+ rel_uc=None,
51
+ config=None):
52
+ if config:
53
+ self.config = config
54
+ self.root = config.root
55
+ self.root = root
56
+ self.dataset_name = dataset_name
57
+ self.num_neg = num_neg_samples
58
+ self.batch_size = batch_size
59
+ self.few = few
60
+ self.type_constrain = type_constrain
61
+ self.rel_uc = rel_uc
62
+ self.max_nbr = max_neighbor
63
+ self.has_ont = has_ont
64
+ # self.base_data = self.dataset_name.replace("-few-shot", "")
65
+
66
+ def get_dataloader(self):
67
+ data_path = download_dataset(dataset_name=self.dataset_name, download_path=self.root)
68
+ few_shot_dataset = FewShotData(data_path, self.dataset_name, self.max_nbr, self.has_ont)
69
+ final_data = few_shot_dataset.get_data()
70
+ sampler = FewShotSampler(final_data, self.num_neg, self.batch_size, few=self.few,
71
+ type_constrain=self.type_constrain, has_ont=self.has_ont, rel_uc=self.rel_uc)
72
+ dataloader = FewShotModule(sampler=sampler, num_workers=0)
73
+
74
+ return dataloader
75
+
76
+
77
+ if __name__ == '__main__':
78
+ dataset = LoadFewShotDataset()
File without changes
@@ -0,0 +1,28 @@
1
+ from ..dataset import LoadUKGEDataset, LoadFewShotDataset
2
+
3
+
4
+
5
+ def load_data(root, num_neg, batch_size, high_threshold=0.80, num_partitions=5, use_pseudo=False):
6
+ dataset = LoadUKGEDataset(root=root,
7
+ dataset_name='cn15k',
8
+ num_neg_samples=num_neg,
9
+ batch_size=batch_size,
10
+ high_threshold=high_threshold,
11
+ num_partitions=num_partitions,
12
+ use_pseudo=use_pseudo)
13
+ dataloader = dataset.get_dataloader()
14
+ return dataloader
15
+
16
+ def load_few_shot_data(root, num_neg, batch_size, max_neighbor, few, type_constrain, has_ont=False, rel_uc=None):
17
+ dataset = LoadFewShotDataset(root=root, dataset_name='cn15k-few-shot',
18
+ num_neg_samples=num_neg, batch_size=batch_size,
19
+ max_neighbor = max_neighbor, has_ont = has_ont, few=few,
20
+ type_constrain=type_constrain, rel_uc=rel_uc)
21
+ dataloader = dataset.get_dataloader()
22
+ return dataloader
23
+
24
+
25
+
26
+
27
+ if __name__ == '__main__':
28
+ load_data(root='data', num_neg=2, batch_size=1024)
File without changes
@@ -0,0 +1,24 @@
1
+ from ..dataset import LoadUKGEDataset, LoadFewShotDataset
2
+
3
+
4
+ def load_data(root, num_neg, batch_size, high_threshold=0.80, num_partitions=5):
5
+ dataset = LoadUKGEDataset(root=root,
6
+ dataset_name='nl27k',
7
+ num_neg_samples=num_neg,
8
+ batch_size=batch_size,
9
+ high_threshold=high_threshold,
10
+ num_partitions=num_partitions)
11
+ dataloader = dataset.get_dataloader()
12
+ return dataloader
13
+
14
+ def load_few_shot_data(root, num_neg, batch_size, max_neighbor, few, type_constrain, has_ont=False, rel_uc=None):
15
+ dataset = LoadFewShotDataset(root=root, dataset_name='nl27k-few-shot',
16
+ num_neg_samples=num_neg, batch_size=batch_size,
17
+ max_neighbor = max_neighbor, has_ont = has_ont, few=few,
18
+ type_constrain=type_constrain, rel_uc=rel_uc)
19
+ dataloader = dataset.get_dataloader()
20
+ return dataloader
21
+
22
+
23
+ if __name__ == '__main__':
24
+ load_data(root='data', num_neg=2, batch_size=1024)
@@ -0,0 +1,16 @@
1
+ from ..dataset import LoadUKGEDataset
2
+
3
+
4
+ def load_data(root, num_neg, batch_size, high_threshold=0.70, num_partitions=5):
5
+ dataset = LoadUKGEDataset(root=root,
6
+ dataset_name='ppi5k',
7
+ num_neg_samples=num_neg,
8
+ batch_size=batch_size,
9
+ high_threshold=high_threshold,
10
+ num_partitions=num_partitions)
11
+ dataloader = dataset.get_dataloader()
12
+ return dataloader
13
+
14
+
15
+ if __name__ == '__main__':
16
+ load_data(root='data', num_neg=2, batch_size=1024)