x-transformers 2.2.4__tar.gz → 2.2.6__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 (61) hide show
  1. {x_transformers-2.2.4 → x_transformers-2.2.6}/PKG-INFO +1 -1
  2. {x_transformers-2.2.4 → x_transformers-2.2.6}/pyproject.toml +1 -1
  3. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/entropy_based_tokenizer.py +10 -7
  4. {x_transformers-2.2.4 → x_transformers-2.2.6}/.github/FUNDING.yml +0 -0
  5. {x_transformers-2.2.4 → x_transformers-2.2.6}/.github/workflows/python-publish.yml +0 -0
  6. {x_transformers-2.2.4 → x_transformers-2.2.6}/.github/workflows/python-test.yaml +0 -0
  7. {x_transformers-2.2.4 → x_transformers-2.2.6}/.gitignore +0 -0
  8. {x_transformers-2.2.4 → x_transformers-2.2.6}/LICENSE +0 -0
  9. {x_transformers-2.2.4 → x_transformers-2.2.6}/README.md +0 -0
  10. {x_transformers-2.2.4 → x_transformers-2.2.6}/data/README.md +0 -0
  11. {x_transformers-2.2.4 → x_transformers-2.2.6}/data/enwik8.gz +0 -0
  12. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/all-attention.png +0 -0
  13. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/attention-on-attention.png +0 -0
  14. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/cosine-sim-attention.png +0 -0
  15. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/deepnorm.png +0 -0
  16. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/dynamic-pos-bias-linear.png +0 -0
  17. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/dynamic-pos-bias-log.png +0 -0
  18. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/dynamic-pos-bias-sinusoidal.png +0 -0
  19. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/dynamic-pos-bias.png +0 -0
  20. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/enhanced-recurrence.png +0 -0
  21. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/fcm.png +0 -0
  22. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/ffglu.png +0 -0
  23. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/flash-attention.png +0 -0
  24. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/gate_values.png +0 -0
  25. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/gating.png +0 -0
  26. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/length-extrapolation-scale.png +0 -0
  27. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/macaron-1.png +0 -0
  28. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/macaron-2.png +0 -0
  29. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/memory-transformer.png +0 -0
  30. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/normformer.png +0 -0
  31. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/pia.png +0 -0
  32. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/qknorm-analysis.png +0 -0
  33. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/resi_dual.png +0 -0
  34. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/residual_attn.png +0 -0
  35. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/rezero.png +0 -0
  36. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/rotary.png +0 -0
  37. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/sandwich-2.png +0 -0
  38. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/sandwich.png +0 -0
  39. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/sandwich_norm.png +0 -0
  40. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/scalenorm.png +0 -0
  41. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/talking-heads.png +0 -0
  42. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/topk-attention.png +0 -0
  43. {x_transformers-2.2.4 → x_transformers-2.2.6}/images/xval.png +0 -0
  44. {x_transformers-2.2.4 → x_transformers-2.2.6}/tests/test_x_transformers.py +0 -0
  45. {x_transformers-2.2.4 → x_transformers-2.2.6}/train_belief_state.py +0 -0
  46. {x_transformers-2.2.4 → x_transformers-2.2.6}/train_copy.py +0 -0
  47. {x_transformers-2.2.4 → x_transformers-2.2.6}/train_enwik8.py +0 -0
  48. {x_transformers-2.2.4 → x_transformers-2.2.6}/train_length_extrapolate.py +0 -0
  49. {x_transformers-2.2.4 → x_transformers-2.2.6}/train_parity.py +0 -0
  50. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/__init__.py +0 -0
  51. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/attend.py +0 -0
  52. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/autoregressive_wrapper.py +0 -0
  53. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/belief_state_wrapper.py +0 -0
  54. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/continuous.py +0 -0
  55. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/dpo.py +0 -0
  56. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/multi_input.py +0 -0
  57. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/neo_mlp.py +0 -0
  58. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/nonautoregressive_wrapper.py +0 -0
  59. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/x_transformers.py +0 -0
  60. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/xl_autoregressive_wrapper.py +0 -0
  61. {x_transformers-2.2.4 → x_transformers-2.2.6}/x_transformers/xval.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: x-transformers
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Summary: X-Transformers
5
5
  Project-URL: Homepage, https://pypi.org/project/x-transformers/
6
6
  Project-URL: Repository, https://github.com/lucidrains/x-transformers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "x-transformers"
3
- version = "2.2.4"
3
+ version = "2.2.6"
4
4
  description = "X-Transformers"
5
5
  authors = [
6
6
  { name = "Phil Wang", email = "lucidrains@gmail.com" }
@@ -6,7 +6,11 @@ import torch.nn.functional as F
6
6
  from torch.nn import Module
7
7
  from torch.nn.utils.rnn import pad_sequence
8
8
 
9
- from x_transformers.x_transformers import Decoder, TransformerWrapper
9
+ from x_transformers.x_transformers import (
10
+ Decoder,
11
+ TransformerWrapper,
12
+ calc_entropy
13
+ )
10
14
 
11
15
  import einx
12
16
  from einops import repeat, rearrange, pack, unpack
@@ -27,12 +31,10 @@ def default(v, d):
27
31
  class EntropyBasedTokenizer(Module):
28
32
  def __init__(
29
33
  self,
30
- decoder: TransformerWrapper,
34
+ decoder: Module,
31
35
  entropy_threshold: float
32
36
  ):
33
37
  super().__init__()
34
- assert isinstance(decoder.attn_layers, Decoder)
35
-
36
38
  self.decoder = decoder
37
39
  self.entropy_threshold = entropy_threshold
38
40
 
@@ -41,7 +43,8 @@ class EntropyBasedTokenizer(Module):
41
43
  self,
42
44
  seq, # Float['b n'] | Float['n']
43
45
  lens = None, # Int['b']
44
- return_segmented_seq = False
46
+ return_segmented_seq = False,
47
+ decoder_forward_kwargs: dict = dict()
45
48
  ):
46
49
  no_batch_dim = seq.ndim == 1
47
50
  seq, maybe_batch_ps = pack((seq,), '* n')
@@ -55,9 +58,9 @@ class EntropyBasedTokenizer(Module):
55
58
 
56
59
  # forward through a small trained decoder and get the entropies of the logits
57
60
 
58
- _, intermediates = self.decoder(seq, return_logit_entropies = True)
61
+ logits = self.decoder(seq, **decoder_forward_kwargs)
59
62
 
60
- entropies = intermediates.logit_entropies
63
+ entropies = calc_entropy(logits)
61
64
 
62
65
  # get length mask for boundaries
63
66
 
File without changes
File without changes