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.
- openukge/__init__.py +0 -0
- openukge/data/__init__.py +8 -0
- openukge/data/dataset.py +78 -0
- openukge/data/datasets/__init__.py +0 -0
- openukge/data/datasets/cn15k.py +28 -0
- openukge/data/datasets/mini-demo.py +0 -0
- openukge/data/datasets/nl27k.py +24 -0
- openukge/data/datasets/ppi5k.py +16 -0
- openukge/data/load_data.py +794 -0
- openukge/data/ukg_data_module.py +136 -0
- openukge/data/ukg_sampler.py +632 -0
- openukge/data/word_vec_data.py +73 -0
- openukge/evaluation/ECE.py +36 -0
- openukge/evaluation/__init__.py +5 -0
- openukge/evaluation/confidence_prediction.py +28 -0
- openukge/evaluation/link_predict.py +286 -0
- openukge/evaluation/mean_ndcg.py +56 -0
- openukge/loss/__init__.py +9 -0
- openukge/loss/beurre_loss.py +89 -0
- openukge/loss/focuse_loss.py +15 -0
- openukge/loss/gmuc_loss.py +88 -0
- openukge/loss/gtranse_loss.py +19 -0
- openukge/loss/passleaf_loss.py +15 -0
- openukge/loss/ukge_loss.py +16 -0
- openukge/loss/ukge_psl_loss.py +17 -0
- openukge/loss/ukgse_loss.py +16 -0
- openukge/loss/upgat_loss.py +34 -0
- openukge/models/__init__.py +11 -0
- openukge/models/few_shot_model/__init__.py +1 -0
- openukge/models/few_shot_model/gmuc.py +319 -0
- openukge/models/ukg_model/__init__.py +8 -0
- openukge/models/ukg_model/beurre.py +382 -0
- openukge/models/ukg_model/focuse.py +167 -0
- openukge/models/ukg_model/gtranse.py +97 -0
- openukge/models/ukg_model/passleaf.py +182 -0
- openukge/models/ukg_model/ukge.py +94 -0
- openukge/models/ukg_model/ukge_psl.py +94 -0
- openukge/models/ukg_model/ukgse.py +109 -0
- openukge/models/ukg_model/upgat.py +245 -0
- openukge/models/word2vec/__init__.py +2 -0
- openukge/models/word2vec/cbow.py +35 -0
- openukge/models/word2vec/skipgram.py +36 -0
- openukge/training/__init__.py +11 -0
- openukge/training/beurre_trainer.py +224 -0
- openukge/training/focuse_trainer.py +202 -0
- openukge/training/gmuc_trainer.py +476 -0
- openukge/training/gtranse_trainer.py +207 -0
- openukge/training/passleaf_trainer.py +277 -0
- openukge/training/training_utils/__init__.py +2 -0
- openukge/training/training_utils/early_stop.py +93 -0
- openukge/training/training_utils/optim_builder.py +87 -0
- openukge/training/ukge_psl_trainer.py +250 -0
- openukge/training/ukge_trainer.py +246 -0
- openukge/training/ukgse_trainer.py +236 -0
- openukge/training/upgat_trainer.py +280 -0
- openukge/training/word_vec_trainer.py +83 -0
- openukge/utils/__init__.py +5 -0
- openukge/utils/device.py +41 -0
- openukge/utils/download.py +138 -0
- openukge/utils/seed.py +56 -0
- openukge-1.0.0.dist-info/METADATA +143 -0
- openukge-1.0.0.dist-info/RECORD +65 -0
- openukge-1.0.0.dist-info/WHEEL +5 -0
- openukge-1.0.0.dist-info/licenses/LICENSE +674 -0
- 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']
|
openukge/data/dataset.py
ADDED
|
@@ -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)
|