x-transformers 1.37.3__tar.gz → 1.37.4__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 (21) hide show
  1. {x_transformers-1.37.3/x_transformers.egg-info → x_transformers-1.37.4}/PKG-INFO +1 -1
  2. {x_transformers-1.37.3 → x_transformers-1.37.4}/setup.py +1 -1
  3. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/nonautoregressive_wrapper.py +3 -1
  4. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/xl_autoregressive_wrapper.py +6 -4
  5. {x_transformers-1.37.3 → x_transformers-1.37.4/x_transformers.egg-info}/PKG-INFO +1 -1
  6. {x_transformers-1.37.3 → x_transformers-1.37.4}/LICENSE +0 -0
  7. {x_transformers-1.37.3 → x_transformers-1.37.4}/README.md +0 -0
  8. {x_transformers-1.37.3 → x_transformers-1.37.4}/setup.cfg +0 -0
  9. {x_transformers-1.37.3 → x_transformers-1.37.4}/tests/test_x_transformers.py +0 -0
  10. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/__init__.py +0 -0
  11. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/attend.py +0 -0
  12. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/autoregressive_wrapper.py +0 -0
  13. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/continuous.py +0 -0
  14. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/dpo.py +0 -0
  15. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/multi_input.py +0 -0
  16. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/x_transformers.py +0 -0
  17. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers/xval.py +0 -0
  18. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers.egg-info/SOURCES.txt +0 -0
  19. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers.egg-info/dependency_links.txt +0 -0
  20. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers.egg-info/requires.txt +0 -0
  21. {x_transformers-1.37.3 → x_transformers-1.37.4}/x_transformers.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: x-transformers
3
- Version: 1.37.3
3
+ Version: 1.37.4
4
4
  Summary: X-Transformers - Pytorch
5
5
  Home-page: https://github.com/lucidrains/x-transformers
6
6
  Author: Phil Wang
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
3
3
  setup(
4
4
  name = 'x-transformers',
5
5
  packages = find_packages(exclude=['examples']),
6
- version = '1.37.3',
6
+ version = '1.37.4',
7
7
  license='MIT',
8
8
  description = 'X-Transformers - Pytorch',
9
9
  author = 'Phil Wang',
@@ -309,9 +309,11 @@ class NonAutoregressiveWrapper(nn.Module):
309
309
  with context():
310
310
  logits = self.net(masked, **kwargs)
311
311
 
312
+ loss_fn = F.cross_entropy if not self.net.is_log_prob else F.nll_loss
313
+
312
314
  # cross entropy loss
313
315
 
314
- loss = F.cross_entropy(
316
+ loss = loss_fn(
315
317
  logits[mask],
316
318
  orig_seq[mask]
317
319
  )
@@ -40,7 +40,7 @@ class XLAutoregressiveWrapper(nn.Module):
40
40
  eos_token = None,
41
41
  temperature = 1.,
42
42
  filter_logits_fn = top_k,
43
- filter_thres = 0.9,
43
+ filter_kwargs: dict = dict(),
44
44
  mems = None,
45
45
  **kwargs
46
46
  ):
@@ -88,7 +88,7 @@ class XLAutoregressiveWrapper(nn.Module):
88
88
  mems = cache.mems
89
89
 
90
90
  logits = logits[:, -1]
91
- filtered_logits = filter_logits_fn(logits, thres = filter_thres)
91
+ filtered_logits = filter_logits_fn(logits, **filter_kwargs)
92
92
  probs = F.softmax(filtered_logits / temperature, dim=-1)
93
93
 
94
94
  sample = torch.multinomial(probs, 1)
@@ -131,7 +131,9 @@ class XLAutoregressiveWrapper(nn.Module):
131
131
 
132
132
  split_x = x.split(max_seq_len, dim = -1)
133
133
  split_labels = labels.split(max_seq_len, dim = -1)
134
- loss_weights = tuple(map(lambda t: t.shape[-1] / seq_len, split_x))
134
+ loss_weights = tuple((t.shape[-1] / seq_len) for t in split_x)
135
+
136
+ loss_fn = F.cross_entropy if not self.net.is_log_prob else F.nll_loss
135
137
 
136
138
  # go through each chunk and derive weighted losses
137
139
 
@@ -146,7 +148,7 @@ class XLAutoregressiveWrapper(nn.Module):
146
148
  **kwargs
147
149
  )
148
150
 
149
- loss = F.cross_entropy(
151
+ loss = loss_fn(
150
152
  rearrange(logits, 'b n c -> b c n'),
151
153
  chunk_labels,
152
154
  ignore_index = ignore_index
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: x-transformers
3
- Version: 1.37.3
3
+ Version: 1.37.4
4
4
  Summary: X-Transformers - Pytorch
5
5
  Home-page: https://github.com/lucidrains/x-transformers
6
6
  Author: Phil Wang
File without changes