wolof-translate 0.0.3__tar.gz → 0.0.5__tar.gz

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 (140) hide show
  1. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/PKG-INFO +1 -1
  2. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/setup.py +1 -1
  3. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/bucket_iterator.py +40 -9
  4. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/sent_corrections.py +10 -0
  5. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate.egg-info/PKG-INFO +1 -1
  6. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/setup.cfg +0 -0
  7. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/__init__.py +0 -0
  8. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/__pycache__/__init__.cpython-310.pyc +0 -0
  9. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/__pycache__/__init__.cpython-311.pyc +0 -0
  10. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/__pycache__/dataset_v1.cpython-310.pyc +0 -0
  11. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/__pycache__/sent_transformers.cpython-310.pyc +0 -0
  12. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__init__.py +0 -0
  13. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/__init__.cpython-310.pyc +0 -0
  14. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/__init__.cpython-311.pyc +0 -0
  15. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/dataset_v1.cpython-310.pyc +0 -0
  16. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/dataset_v2.cpython-310.pyc +0 -0
  17. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/dataset_v3.cpython-310.pyc +0 -0
  18. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/dataset_v3.cpython-311.pyc +0 -0
  19. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/dataset_v4.cpython-310.pyc +0 -0
  20. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/__pycache__/dataset_v4.cpython-311.pyc +0 -0
  21. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/dataset_v1.py +0 -0
  22. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/dataset_v2.py +0 -0
  23. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/dataset_v3.py +0 -0
  24. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/dataset_v3_2.py +0 -0
  25. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/dataset_v4.py +0 -0
  26. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/data/dataset_v5.py +0 -0
  27. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/__init__.py +0 -0
  28. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/__pycache__/__init__.cpython-310.pyc +0 -0
  29. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/__pycache__/__init__.cpython-311.pyc +0 -0
  30. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/french/tfidfaug_w2idf.txt +0 -0
  31. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/french/tfidfaug_w2tfidf.txt +0 -0
  32. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__init__.py +0 -0
  33. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/__init__.cpython-310.pyc +0 -0
  34. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/__init__.cpython-311.pyc +0 -0
  35. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/main.cpython-310.pyc +0 -0
  36. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/main.cpython-311.pyc +0 -0
  37. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/optimization.cpython-310.pyc +0 -0
  38. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/optimization.cpython-311.pyc +0 -0
  39. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/position.cpython-310.pyc +0 -0
  40. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/position.cpython-311.pyc +0 -0
  41. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/size.cpython-310.pyc +0 -0
  42. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/__pycache__/size.cpython-311.pyc +0 -0
  43. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/main.py +0 -0
  44. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/main_2.py +0 -0
  45. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/optimization.py +0 -0
  46. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/position.py +0 -0
  47. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/transformers/size.py +0 -0
  48. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/wolof/tfidfaug_w2idf.txt +0 -0
  49. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/models/wolof/tfidfaug_w2tfidf.txt +0 -0
  50. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/pipe/__init__.py +0 -0
  51. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/pipe/__pycache__/__init__.cpython-310.pyc +0 -0
  52. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/pipe/__pycache__/nlp_pipeline.cpython-310.pyc +0 -0
  53. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/pipe/nlp_pipeline.py +0 -0
  54. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/__init__.py +0 -0
  55. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/__pycache__/__init__.cpython-310.pyc +0 -0
  56. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/adverse_tokenizer.json +0 -0
  57. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/bart_tokenizers/tokenizer_v3.json +0 -0
  58. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/bart_tokenizers/tokenizer_v3_2.json +0 -0
  59. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/bart_tokenizers/tokenizer_v5.json +0 -0
  60. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v3.model +0 -0
  61. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v3.vocab +0 -0
  62. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v4.model +0 -0
  63. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v4.vocab +0 -0
  64. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v5.model +0 -0
  65. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v5.vocab +0 -0
  66. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v6.model +0 -0
  67. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v6.vocab +0 -0
  68. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v7.model +0 -0
  69. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v7.vocab +0 -0
  70. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v8.model +0 -0
  71. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v8.vocab +0 -0
  72. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v9.model +0 -0
  73. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers/tokenizer_v9.vocab +0 -0
  74. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/t5_tokenizers.zip +0 -0
  75. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/tokenizer_v1.json +0 -0
  76. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/tokenizer_v3_2.json +0 -0
  77. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/trax/sentencepiece_tokenizer_v4.subwords +0 -0
  78. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/trax/sentencepiece_tokenizer_v5.subwords +0 -0
  79. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/trax/sentencepiece_tokenizer_v6.subwords +0 -0
  80. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/tokenizers/trax/sentencepiece_tokenizer_v7.subwords +0 -0
  81. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__init__.py +0 -0
  82. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/__init__.cpython-310.pyc +0 -0
  83. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/__init__.cpython-311.pyc +0 -0
  84. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/transformer_trainer.cpython-310.pyc +0 -0
  85. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/transformer_trainer.cpython-311.pyc +0 -0
  86. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/transformer_trainer_custom.cpython-310.pyc +0 -0
  87. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/transformer_trainer_ml.cpython-310.pyc +0 -0
  88. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/__pycache__/transformer_trainer_ml_.cpython-310.pyc +0 -0
  89. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/transformer_trainer.py +0 -0
  90. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/transformer_trainer_custom.py +0 -0
  91. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/transformer_trainer_ml.py +0 -0
  92. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/trainers/transformer_trainer_ml_.py +0 -0
  93. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__init__.py +0 -0
  94. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  95. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  96. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/bucket_iterator.cpython-310.pyc +0 -0
  97. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/database_manager.cpython-310.pyc +0 -0
  98. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/display_predictions.cpython-310.pyc +0 -0
  99. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/download_model.cpython-310.pyc +0 -0
  100. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/evaluate_custom.cpython-310.pyc +0 -0
  101. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/evaluation.cpython-310.pyc +0 -0
  102. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/evaluation.cpython-311.pyc +0 -0
  103. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/extract_new_sentences.cpython-310.pyc +0 -0
  104. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/recuperate_datasets.cpython-310.pyc +0 -0
  105. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/sent_corrections.cpython-310.pyc +0 -0
  106. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/sent_corrections.cpython-311.pyc +0 -0
  107. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/sent_transformers.cpython-310.pyc +0 -0
  108. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/sent_transformers.cpython-311.pyc +0 -0
  109. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/sent_unification.cpython-310.pyc +0 -0
  110. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/split_with_valid.cpython-310.pyc +0 -0
  111. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/split_with_valid.cpython-311.pyc +0 -0
  112. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/tokenize_text.cpython-310.pyc +0 -0
  113. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/__pycache__/training.cpython-310.pyc +0 -0
  114. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/database_manager.py +0 -0
  115. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/display_predictions.py +0 -0
  116. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/download_model.py +0 -0
  117. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/evaluate_custom.py +0 -0
  118. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/evaluation.py +0 -0
  119. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/extract_new_sentences.py +0 -0
  120. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/extract_poems.py +0 -0
  121. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/extract_sentences.py +0 -0
  122. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/improvements/__init__.py +0 -0
  123. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/improvements/__pycache__/__init__.cpython-310.pyc +0 -0
  124. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/improvements/__pycache__/__init__.cpython-311.pyc +0 -0
  125. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/improvements/__pycache__/end_marks.cpython-310.pyc +0 -0
  126. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/improvements/__pycache__/end_marks.cpython-311.pyc +0 -0
  127. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/improvements/end_marks.py +0 -0
  128. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/recuperate_datasets.py +0 -0
  129. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/recuperate_datasets_trunc.py +0 -0
  130. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/send_model.py +0 -0
  131. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/sent_transformers.py +0 -0
  132. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/sent_unification.py +0 -0
  133. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/split_with_valid.py +0 -0
  134. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/tokenize_text.py +0 -0
  135. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/training.py +0 -0
  136. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate/utils/trunc_hg_training.py +0 -0
  137. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate.egg-info/SOURCES.txt +0 -0
  138. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate.egg-info/dependency_links.txt +0 -0
  139. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate.egg-info/requires.txt +0 -0
  140. {wolof_translate-0.0.3 → wolof_translate-0.0.5}/wolof_translate.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wolof_translate
3
- Version: 0.0.3
3
+ Version: 0.0.5
4
4
  Summary: Contain function and classes to process corpora for making translation between wolof text and other languages.
5
5
  Author: Oumar Kane
6
6
  Author-email: oumar.kane@univ-thies.sn
@@ -2,7 +2,7 @@ from setuptools import setup
2
2
 
3
3
  setup(
4
4
  name="wolof_translate",
5
- version="0.0.3",
5
+ version="0.0.5",
6
6
  author="Oumar Kane",
7
7
  author_email="oumar.kane@univ-thies.sn",
8
8
  description="Contain function and classes to process corpora for making translation between wolof text and other languages.",
@@ -5,29 +5,43 @@ from math import ceil
5
5
  from tqdm import tqdm
6
6
  import time
7
7
 
8
+
8
9
  class SequenceLengthBatchSampler(Sampler[List[int]]):
9
10
  def __init__(
10
11
  self,
11
12
  dataset,
12
13
  boundaries: List[int],
13
14
  batch_sizes: List[int],
14
- input_key: Optional[int] = None,
15
- label_key: Optional[int] = None,
15
+ input_key: Optional[Union[int, str]] = None,
16
+ label_key: Optional[Union[int, str]] = None,
16
17
  drop_unique: bool = True,
17
18
  ):
19
+ """
20
+ Sampler that batches sequences of similar lengths together to minimize padding.
21
+
22
+ Args:
23
+ dataset: Dataset to sample from.
24
+ boundaries: List of length boundaries to bucket sequences.
25
+ batch_sizes: List of batch sizes per bucket (length must be len(boundaries)+1).
26
+ input_key: Key or index to access input sequence in dataset item.
27
+ label_key: Key or index to access label sequence in dataset item.
28
+ drop_unique: Whether to drop batches with a single leftover element.
29
+ """
18
30
  self.dataset = dataset
19
31
  self.boundaries = boundaries
20
32
  self.batch_sizes = batch_sizes
21
33
  self.drop_unique = drop_unique
22
34
 
35
+ assert len(batch_sizes) == len(boundaries) + 1, (
36
+ f"batch_sizes length ({len(batch_sizes)}) must be one more than boundaries length ({len(boundaries)})"
37
+ )
38
+
23
39
  start_time = time.time()
24
40
  tqdm.write("Computing sequence lengths...")
25
41
 
26
- # Compute lengths with tqdm progress bar
27
42
  self.lengths = np.array([
28
- max(len(data[0]), len(data[2])) if input_key is None or label_key is None
29
- else max(len(data[input_key]), len(data[label_key]))
30
- for data in tqdm(dataset, desc="Lengths", unit="seq")
43
+ self._get_length(data, input_key, label_key)
44
+ for data in tqdm(self.dataset, desc="Lengths", unit="seq")
31
45
  ])
32
46
 
33
47
  tqdm.write(f"Sequence lengths computed in {time.time() - start_time:.2f} seconds.")
@@ -35,7 +49,7 @@ class SequenceLengthBatchSampler(Sampler[List[int]]):
35
49
  start_time = time.time()
36
50
  tqdm.write("Assigning buckets...")
37
51
 
38
- # Assign bucket ids using digitize (vectorized)
52
+ # Assign bucket ids (0-based)
39
53
  self.bucket_ids = np.digitize(self.lengths, bins=self.boundaries, right=True)
40
54
 
41
55
  # Create buckets of indices
@@ -46,7 +60,6 @@ class SequenceLengthBatchSampler(Sampler[List[int]]):
46
60
  start_time = time.time()
47
61
  tqdm.write("Preparing batches...")
48
62
 
49
- # Prepare batches from buckets
50
63
  self.batches = []
51
64
  for bucket, batch_size in zip(self.buckets, self.batch_sizes):
52
65
  bucket = bucket.copy()
@@ -66,8 +79,26 @@ class SequenceLengthBatchSampler(Sampler[List[int]]):
66
79
  self.length = len(self.batches)
67
80
  tqdm.write(f"Batches prepared in {time.time() - start_time:.2f} seconds.")
68
81
 
82
+ def _get_length(self, data, input_key, label_key) -> int:
83
+ """
84
+ Helper to get the max length of input and label sequences in a dataset item.
85
+
86
+ Supports dict-like or tuple/list-like dataset items.
87
+ """
88
+ try:
89
+ if input_key is None or label_key is None:
90
+ # Assume tuple/list with input at 0, label at 2
91
+ input_seq = data[0]
92
+ label_seq = data[2]
93
+ else:
94
+ input_seq = data[input_key]
95
+ label_seq = data[label_key]
96
+ return max(len(input_seq), len(label_seq))
97
+ except Exception as e:
98
+ raise ValueError(f"Error accessing lengths with input_key={input_key}, label_key={label_key}: {e}")
99
+
69
100
  def __iter__(self) -> Iterator[List[int]]:
70
- # Shuffle all batches globally to add randomness between buckets
101
+ # Shuffle batches globally for randomness
71
102
  np.random.shuffle(self.batches)
72
103
  for batch in self.batches:
73
104
  yield batch
@@ -13,6 +13,8 @@ def add_guillemet_space(sentences: Union[list, str]):
13
13
 
14
14
  if type(sentences) is str:
15
15
  sentences = [sentences]
16
+ elif type(sentences) is float:
17
+ sentences = [str(sentences)]
16
18
 
17
19
  for s in range(len(sentences)):
18
20
 
@@ -51,6 +53,8 @@ def delete_guillemet_space(sentences: Union[list, str]):
51
53
 
52
54
  if type(sentences) is str:
53
55
  sentences = [sentences]
56
+ elif type(sentences) is float:
57
+ sentences = [str(sentences)]
54
58
 
55
59
  for s in range(len(sentences)):
56
60
 
@@ -91,6 +95,8 @@ def add_mark_space(
91
95
 
92
96
  if type(sentences) is str:
93
97
  sentences = [sentences]
98
+ elif type(sentences) is float:
99
+ sentences = [str(sentences)]
94
100
 
95
101
  for s in range(len(sentences)):
96
102
 
@@ -123,6 +129,8 @@ def remove_mark_space(sentences: Union[list, str], marks: list = ["'", "-"]):
123
129
 
124
130
  if type(sentences) is str:
125
131
  sentences = [sentences]
132
+ elif type(sentences) is float:
133
+ sentences = [str(sentences)]
126
134
 
127
135
  for s in range(len(sentences)):
128
136
 
@@ -161,6 +169,8 @@ def delete_much_space(sentences: Union[list, str]):
161
169
 
162
170
  if type(sentences) is str:
163
171
  sentences = [sentences]
172
+ elif type(sentences) is float:
173
+ sentences = [str(sentences)]
164
174
 
165
175
  for i in range(len(sentences)):
166
176
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wolof-translate
3
- Version: 0.0.3
3
+ Version: 0.0.5
4
4
  Summary: Contain function and classes to process corpora for making translation between wolof text and other languages.
5
5
  Author: Oumar Kane
6
6
  Author-email: oumar.kane@univ-thies.sn