sinlib 0.3.1__tar.gz → 0.3.2__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 (78) hide show
  1. {sinlib-0.3.1 → sinlib-0.3.2}/PKG-INFO +1 -1
  2. {sinlib-0.3.1 → sinlib-0.3.2}/pyproject.toml +1 -1
  3. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/__init__.py +1 -1
  4. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/encoder.py +19 -0
  5. {sinlib-0.3.1 → sinlib-0.3.2}/.github/workflows/python-publish.yml +0 -0
  6. {sinlib-0.3.1 → sinlib-0.3.2}/.github/workflows/test.yml +0 -0
  7. {sinlib-0.3.1 → sinlib-0.3.2}/.gitignore +0 -0
  8. {sinlib-0.3.1 → sinlib-0.3.2}/.readthedocs.yaml +0 -0
  9. {sinlib-0.3.1 → sinlib-0.3.2}/LICENSE +0 -0
  10. {sinlib-0.3.1 → sinlib-0.3.2}/README.md +0 -0
  11. {sinlib-0.3.1 → sinlib-0.3.2}/requirements-dev.txt +0 -0
  12. {sinlib-0.3.1 → sinlib-0.3.2}/requirements.txt +0 -0
  13. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/__init__.py +0 -0
  14. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/alignment.py +0 -0
  15. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/backend.py +0 -0
  16. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/char_encoder.py +0 -0
  17. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/char_tokenization.py +0 -0
  18. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/config.py +0 -0
  19. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/embeddings.py +0 -0
  20. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/hi_module.py +0 -0
  21. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/modeling.py +0 -0
  22. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/charbert/seq2seq_decoder.py +0 -0
  23. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/encoding.py +0 -0
  24. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/romanize.py +0 -0
  25. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/spellcheck.py +0 -0
  26. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/subword.py +0 -0
  27. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/tokenizer.py +0 -0
  28. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/transliterate.py +0 -0
  29. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/__init__.py +0 -0
  30. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/chars.py +0 -0
  31. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/dataset_utils.py +0 -0
  32. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/model_utils.py +0 -0
  33. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/models/__init__.py +0 -0
  34. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/models/akshara_ngram.json +0 -0
  35. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/models/akshara_vocab.json +0 -0
  36. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/models/bigru_detector.pt +0 -0
  37. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/models/transliterator-checkpoint.pth +0 -0
  38. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/models/transliterator_model.py +0 -0
  39. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/preprocessing.py +0 -0
  40. {sinlib-0.3.1 → sinlib-0.3.2}/src/sinlib/utils/visualize.py +0 -0
  41. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_charbert_backend.py +0 -0
  42. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_combined_detector.py +0 -0
  43. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_phase3_enhancements.py +0 -0
  44. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_romanizer.py +0 -0
  45. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_spellcheck.py +0 -0
  46. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_tokenizer.py +0 -0
  47. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_tokenizer_batch.py +0 -0
  48. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_tokenizer_bos.py +0 -0
  49. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_tokenizer_special_tokens.py +0 -0
  50. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_transliterator.py +0 -0
  51. {sinlib-0.3.1 → sinlib-0.3.2}/tests/test_visualize.py +0 -0
  52. {sinlib-0.3.1 → sinlib-0.3.2}/website/.gitignore +0 -0
  53. {sinlib-0.3.1 → sinlib-0.3.2}/website/.vscode/extensions.json +0 -0
  54. {sinlib-0.3.1 → sinlib-0.3.2}/website/.vscode/launch.json +0 -0
  55. {sinlib-0.3.1 → sinlib-0.3.2}/website/README.md +0 -0
  56. {sinlib-0.3.1 → sinlib-0.3.2}/website/astro.config.mjs +0 -0
  57. {sinlib-0.3.1 → sinlib-0.3.2}/website/package-lock.json +0 -0
  58. {sinlib-0.3.1 → sinlib-0.3.2}/website/package.json +0 -0
  59. {sinlib-0.3.1 → sinlib-0.3.2}/website/public/favicon.svg +0 -0
  60. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/assets/houston.webp +0 -0
  61. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/assets/logo-dark.png +0 -0
  62. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/assets/logo-light.png +0 -0
  63. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/api/encoding.mdx +0 -0
  64. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/api/preprocessing.mdx +0 -0
  65. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/api/romanizer.mdx +0 -0
  66. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/api/spellcheck.mdx +0 -0
  67. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/api/tokenizer.mdx +0 -0
  68. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/api/visualization.mdx +0 -0
  69. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/examples/tokenization.md +0 -0
  70. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/examples/typo-correction.md +0 -0
  71. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/examples/visualization.md +0 -0
  72. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/guides/spellcheck.mdx +0 -0
  73. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/guides/tokenization.mdx +0 -0
  74. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content/docs/index.mdx +0 -0
  75. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/content.config.ts +0 -0
  76. {sinlib-0.3.1 → sinlib-0.3.2}/website/src/styles/custom.css +0 -0
  77. {sinlib-0.3.1 → sinlib-0.3.2}/website/tsconfig.json +0 -0
  78. {sinlib-0.3.1 → sinlib-0.3.2}/welcome.png +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: sinlib
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Sinhala NLP Toolkit
5
5
  Project-URL: Code, https://github.com/Ransaka/sinlib
6
6
  Project-URL: Docs, https://sinlib.readthedocs.io
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sinlib"
3
- version = "0.3.1"
3
+ version = "0.3.2"
4
4
  description = "Sinhala NLP Toolkit"
5
5
  authors = [
6
6
  { name = "Ransaka", email = "ransaka.ravihara@gmail.com" }
@@ -62,4 +62,4 @@ __all__: List[str] = [
62
62
  "setup_matplotlib",
63
63
  ]
64
64
 
65
- __version__ = "0.3.1"
65
+ __version__ = "0.3.2"
@@ -120,6 +120,25 @@ class SinhalaCharBERTEncoder(nn.Module):
120
120
  all_char_hidden_states: List[torch.Tensor] = []
121
121
  all_attentions: List[torch.Tensor] = []
122
122
 
123
+ # Normalize the attention mask to the 4-D extended additive format
124
+ # (batch, 1, 1, seq_len) expected by transformers' attention
125
+ # implementations. Newer versions of transformers (>= 4.56) index the
126
+ # mask as attention_mask[:, :, :, :key_len] and crash with
127
+ # "too many indices for tensor of dimension 2" if a 2-D padding mask
128
+ # is passed straight through.
129
+ if attention_mask is not None and attention_mask.dim() != 4:
130
+ if attention_mask.dim() == 2:
131
+ mask = attention_mask[:, None, None, :]
132
+ elif attention_mask.dim() == 3:
133
+ mask = attention_mask[:, None, :, :]
134
+ else:
135
+ raise ValueError(
136
+ f"Unsupported attention_mask dims: {attention_mask.dim()}"
137
+ )
138
+ # Convert 1/0 padding mask to an additive mask (0 keep, -inf drop)
139
+ dtype = token_hidden_states.dtype
140
+ attention_mask = (1.0 - mask.to(dtype)) * torch.finfo(dtype).min
141
+
123
142
  curr_token = token_hidden_states
124
143
  curr_char = char_hidden_states
125
144
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes