dreamer4 0.0.94__tar.gz → 0.0.95__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.
Potentially problematic release.
This version of dreamer4 might be problematic. Click here for more details.
- {dreamer4-0.0.94 → dreamer4-0.0.95}/PKG-INFO +1 -1
- {dreamer4-0.0.94 → dreamer4-0.0.95}/dreamer4/dreamer4.py +24 -12
- {dreamer4-0.0.94 → dreamer4-0.0.95}/pyproject.toml +1 -1
- {dreamer4-0.0.94 → dreamer4-0.0.95}/tests/test_dreamer.py +2 -2
- {dreamer4-0.0.94 → dreamer4-0.0.95}/.github/workflows/python-publish.yml +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/.github/workflows/test.yml +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/.gitignore +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/LICENSE +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/README.md +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/dreamer4/__init__.py +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/dreamer4/mocks.py +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/dreamer4/trainers.py +0 -0
- {dreamer4-0.0.94 → dreamer4-0.0.95}/dreamer4-fig2.png +0 -0
|
@@ -72,20 +72,22 @@ TokenizerLosses = namedtuple('TokenizerLosses', ('recon', 'lpips'))
|
|
|
72
72
|
|
|
73
73
|
WorldModelLosses = namedtuple('WorldModelLosses', ('flow', 'rewards', 'discrete_actions', 'continuous_actions'))
|
|
74
74
|
|
|
75
|
+
MaybeTensor = Tensor | None
|
|
76
|
+
|
|
75
77
|
@dataclass
|
|
76
78
|
class Experience:
|
|
77
79
|
latents: Tensor
|
|
78
|
-
video:
|
|
79
|
-
proprio:
|
|
80
|
-
agent_embed:
|
|
80
|
+
video: MaybeTensor = None
|
|
81
|
+
proprio: MaybeTensor = None
|
|
82
|
+
agent_embed: MaybeTensor = None
|
|
81
83
|
rewards: Tensor | None = None
|
|
82
|
-
actions: tuple[
|
|
83
|
-
log_probs: tuple[
|
|
84
|
-
old_action_unembeds: tuple[
|
|
85
|
-
values:
|
|
84
|
+
actions: tuple[MaybeTensor, MaybeTensor] | None = None
|
|
85
|
+
log_probs: tuple[MaybeTensor, MaybeTensor] | None = None
|
|
86
|
+
old_action_unembeds: tuple[MaybeTensor, MaybeTensor] | None = None
|
|
87
|
+
values: MaybeTensor = None
|
|
86
88
|
step_size: int | None = None
|
|
87
|
-
lens:
|
|
88
|
-
is_truncated:
|
|
89
|
+
lens: MaybeTensor = None
|
|
90
|
+
is_truncated: MaybeTensor = None
|
|
89
91
|
agent_index: int = 0
|
|
90
92
|
is_from_world_model: bool = True
|
|
91
93
|
|
|
@@ -850,9 +852,10 @@ class ActionEmbedder(Module):
|
|
|
850
852
|
|
|
851
853
|
def kl_div(
|
|
852
854
|
self,
|
|
853
|
-
src: tuple[
|
|
854
|
-
tgt: tuple[
|
|
855
|
-
|
|
855
|
+
src: tuple[MaybeTensor, MaybeTensor],
|
|
856
|
+
tgt: tuple[MaybeTensor, MaybeTensor],
|
|
857
|
+
reduce_across_num_actions = True
|
|
858
|
+
) -> tuple[MaybeTensor, MaybeTensor]:
|
|
856
859
|
|
|
857
860
|
src_discrete, src_continuous = src
|
|
858
861
|
tgt_discrete, tgt_continuous = tgt
|
|
@@ -894,6 +897,15 @@ class ActionEmbedder(Module):
|
|
|
894
897
|
|
|
895
898
|
continuous_kl_div = kl.kl_divergence(src_normal, tgt_normal)
|
|
896
899
|
|
|
900
|
+
# maybe reduce
|
|
901
|
+
|
|
902
|
+
if reduce_across_num_actions:
|
|
903
|
+
if exists(discrete_kl_div):
|
|
904
|
+
discrete_kl_div = discrete_kl_div.sum(dim = -1)
|
|
905
|
+
|
|
906
|
+
if exists(continuous_kl_div):
|
|
907
|
+
continuous_kl_div = continuous_kl_div.sum(dim = -1)
|
|
908
|
+
|
|
897
909
|
return discrete_kl_div, continuous_kl_div
|
|
898
910
|
|
|
899
911
|
def forward(
|
|
@@ -352,8 +352,8 @@ def test_action_embedder():
|
|
|
352
352
|
|
|
353
353
|
discrete_kl_div, continuous_kl_div = embedder.kl_div((discrete_logits, continuous_mean_log_var), (discrete_logits_tgt, continuous_mean_log_var_tgt))
|
|
354
354
|
|
|
355
|
-
assert discrete_kl_div.shape == (2, 3
|
|
356
|
-
assert continuous_kl_div.shape == (2, 3
|
|
355
|
+
assert discrete_kl_div.shape == (2, 3)
|
|
356
|
+
assert continuous_kl_div.shape == (2, 3)
|
|
357
357
|
|
|
358
358
|
# return discrete split by number of actions
|
|
359
359
|
|
|
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
|