evolutionary-policy-optimization 0.2.18__tar.gz → 0.2.19__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.
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/PKG-INFO +41 -1
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/README.md +40 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/evolutionary_policy_optimization/experimental.py +12 -5
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/pyproject.toml +1 -1
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/.gitignore +0 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/LICENSE +0 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/evolutionary_policy_optimization/__init__.py +0 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/evolutionary_policy_optimization/distributed.py +0 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/evolutionary_policy_optimization/env_wrappers.py +0 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/evolutionary_policy_optimization/epo.py +0 -0
- {evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/evolutionary_policy_optimization/mock_env.py +0 -0
{evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: evolutionary-policy-optimization
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.19
|
|
4
4
|
Summary: EPO - Pytorch
|
|
5
5
|
Project-URL: Homepage, https://pypi.org/project/evolutionary-policy-optimization/
|
|
6
6
|
Project-URL: Repository, https://github.com/lucidrains/evolutionary-policy-optimization
|
|
@@ -323,9 +323,24 @@ That's it
|
|
|
323
323
|
}
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
+
```bibtex
|
|
327
|
+
@article{Zhu2025Hybrid,
|
|
328
|
+
author = {Zhu, Zimo and Yu, Chuanqiang and Wang, Junti},
|
|
329
|
+
title = {A Hybrid Genetic Algorithm and Proximal Policy Optimization System for Efficient Multi-Agent Task Allocation},
|
|
330
|
+
journal = {Systems},
|
|
331
|
+
volume = {13},
|
|
332
|
+
year = {2025},
|
|
333
|
+
number = {6},
|
|
334
|
+
article-number = {453},
|
|
335
|
+
url = {https://www.mdpi.com/2079-8954/13/6/453},
|
|
336
|
+
issn = {2079-8954}
|
|
337
|
+
```
|
|
338
|
+
|
|
326
339
|
```bibtex
|
|
327
340
|
@misc{kedia2026simtoolrealobjectcentricpolicyzeroshot,
|
|
328
341
|
title = {SimToolReal: An Object-Centric Policy for Zero-Shot Dexterous Tool Manipulation},
|
|
342
|
+
@misc{kedia2026simtoolrealobjectcentricpolicyzeroshot,
|
|
343
|
+
title = {SimToolReal: An Object-Centric Policy for Zero-Shot Dexterous Tool Manipulation},
|
|
329
344
|
author = {Kushal Kedia and Tyler Ga Wei Lum and Jeannette Bohg and C. Karen Liu},
|
|
330
345
|
year = {2026},
|
|
331
346
|
eprint = {2602.16863},
|
|
@@ -343,6 +358,31 @@ That's it
|
|
|
343
358
|
year = {2018},
|
|
344
359
|
volume = {abs/1802.06070},
|
|
345
360
|
url = {https://arxiv.org/abs/1802.06070}
|
|
361
|
+
url = {https://arxiv.org/abs/2602.16863},
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
```bibtex
|
|
365
|
+
@article{Zhu2025Hybrid,
|
|
366
|
+
author = {Zhu, Zimo and Yu, Chuanqiang and Wang, Junti},
|
|
367
|
+
title = {A Hybrid Genetic Algorithm and Proximal Policy Optimization System for Efficient Multi-Agent Task Allocation},
|
|
368
|
+
journal = {Systems},
|
|
369
|
+
volume = {13},
|
|
370
|
+
year = {2025},
|
|
371
|
+
number = {6},
|
|
372
|
+
article-number = {453},
|
|
373
|
+
url = {https://www.mdpi.com/2079-8954/13/6/453},
|
|
374
|
+
issn = {2079-8954}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
```bibtex
|
|
378
|
+
@misc{kedia2026simtoolrealobjectcentricpolicyzeroshot,
|
|
379
|
+
title = {SimToolReal: An Object-Centric Policy for Zero-Shot Dexterous Tool Manipulation},
|
|
380
|
+
author = {Kushal Kedia and Tyler Ga Wei Lum and Jeannette Bohg and C. Karen Liu},
|
|
381
|
+
year = {2026},
|
|
382
|
+
eprint = {2602.16863},
|
|
383
|
+
archivePrefix = {arXiv},
|
|
384
|
+
primaryClass = {cs.RO},
|
|
385
|
+
url = {https://arxiv.org/abs/2602.16863},
|
|
346
386
|
}
|
|
347
387
|
```
|
|
348
388
|
|
{evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/README.md
RENAMED
|
@@ -265,9 +265,24 @@ That's it
|
|
|
265
265
|
}
|
|
266
266
|
```
|
|
267
267
|
|
|
268
|
+
```bibtex
|
|
269
|
+
@article{Zhu2025Hybrid,
|
|
270
|
+
author = {Zhu, Zimo and Yu, Chuanqiang and Wang, Junti},
|
|
271
|
+
title = {A Hybrid Genetic Algorithm and Proximal Policy Optimization System for Efficient Multi-Agent Task Allocation},
|
|
272
|
+
journal = {Systems},
|
|
273
|
+
volume = {13},
|
|
274
|
+
year = {2025},
|
|
275
|
+
number = {6},
|
|
276
|
+
article-number = {453},
|
|
277
|
+
url = {https://www.mdpi.com/2079-8954/13/6/453},
|
|
278
|
+
issn = {2079-8954}
|
|
279
|
+
```
|
|
280
|
+
|
|
268
281
|
```bibtex
|
|
269
282
|
@misc{kedia2026simtoolrealobjectcentricpolicyzeroshot,
|
|
270
283
|
title = {SimToolReal: An Object-Centric Policy for Zero-Shot Dexterous Tool Manipulation},
|
|
284
|
+
@misc{kedia2026simtoolrealobjectcentricpolicyzeroshot,
|
|
285
|
+
title = {SimToolReal: An Object-Centric Policy for Zero-Shot Dexterous Tool Manipulation},
|
|
271
286
|
author = {Kushal Kedia and Tyler Ga Wei Lum and Jeannette Bohg and C. Karen Liu},
|
|
272
287
|
year = {2026},
|
|
273
288
|
eprint = {2602.16863},
|
|
@@ -285,6 +300,31 @@ That's it
|
|
|
285
300
|
year = {2018},
|
|
286
301
|
volume = {abs/1802.06070},
|
|
287
302
|
url = {https://arxiv.org/abs/1802.06070}
|
|
303
|
+
url = {https://arxiv.org/abs/2602.16863},
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
```bibtex
|
|
307
|
+
@article{Zhu2025Hybrid,
|
|
308
|
+
author = {Zhu, Zimo and Yu, Chuanqiang and Wang, Junti},
|
|
309
|
+
title = {A Hybrid Genetic Algorithm and Proximal Policy Optimization System for Efficient Multi-Agent Task Allocation},
|
|
310
|
+
journal = {Systems},
|
|
311
|
+
volume = {13},
|
|
312
|
+
year = {2025},
|
|
313
|
+
number = {6},
|
|
314
|
+
article-number = {453},
|
|
315
|
+
url = {https://www.mdpi.com/2079-8954/13/6/453},
|
|
316
|
+
issn = {2079-8954}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
```bibtex
|
|
320
|
+
@misc{kedia2026simtoolrealobjectcentricpolicyzeroshot,
|
|
321
|
+
title = {SimToolReal: An Object-Centric Policy for Zero-Shot Dexterous Tool Manipulation},
|
|
322
|
+
author = {Kushal Kedia and Tyler Ga Wei Lum and Jeannette Bohg and C. Karen Liu},
|
|
323
|
+
year = {2026},
|
|
324
|
+
eprint = {2602.16863},
|
|
325
|
+
archivePrefix = {arXiv},
|
|
326
|
+
primaryClass = {cs.RO},
|
|
327
|
+
url = {https://arxiv.org/abs/2602.16863},
|
|
288
328
|
}
|
|
289
329
|
```
|
|
290
330
|
|
|
@@ -7,6 +7,7 @@ import torch.nn.functional as F
|
|
|
7
7
|
from torch.func import vmap, functional_call
|
|
8
8
|
from torch.nn import Module, ParameterList
|
|
9
9
|
|
|
10
|
+
import einx
|
|
10
11
|
from einops import rearrange, reduce, repeat
|
|
11
12
|
|
|
12
13
|
def exists(v):
|
|
@@ -31,11 +32,12 @@ def shrink_and_perturb_(
|
|
|
31
32
|
|
|
32
33
|
def crossover_weights(
|
|
33
34
|
w1, w2,
|
|
35
|
+
alpha = 0.5,
|
|
34
36
|
shrink_perturb = False,
|
|
35
37
|
shrink_factor = 0.4,
|
|
36
38
|
perturb_factor = 0.1
|
|
37
39
|
):
|
|
38
|
-
assert
|
|
40
|
+
assert w1.shape == w2.shape
|
|
39
41
|
|
|
40
42
|
no_batch = w1.ndim == 2
|
|
41
43
|
|
|
@@ -58,12 +60,17 @@ def crossover_weights(
|
|
|
58
60
|
u1, s1, v1 = torch.svd(w1)
|
|
59
61
|
u2, s2, v2 = torch.svd(w2)
|
|
60
62
|
|
|
63
|
+
sign = einx.dot('b j d, b j d -> b d', v1, v2).sign()
|
|
64
|
+
|
|
65
|
+
u2 = einx.multiply('b i d, b d -> b i d', u2, sign)
|
|
66
|
+
v2 = einx.multiply('b j d, b d -> b j d', v2, sign)
|
|
67
|
+
|
|
61
68
|
batch_randperm = torch.randn((batch, rank), device = w1.device).argsort(dim = -1)
|
|
62
|
-
mask = batch_randperm < (rank
|
|
69
|
+
mask = batch_randperm < int(rank * alpha)
|
|
63
70
|
|
|
64
|
-
u =
|
|
65
|
-
s =
|
|
66
|
-
v =
|
|
71
|
+
u = einx.where('b d, b i d, b i d -> b i d', mask, u1, u2)
|
|
72
|
+
s = einx.where('b d, b d, b d -> b d', mask, s1, s2)
|
|
73
|
+
v = einx.where('b d, b j d, b j d -> b j d', mask, v1, v2)
|
|
67
74
|
|
|
68
75
|
out = u @ torch.diag_embed(s) @ v.mT
|
|
69
76
|
|
{evolutionary_policy_optimization-0.2.18 → evolutionary_policy_optimization-0.2.19}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|