Merge branch 'user/mshukor/smolvla_fix' into my-fix-based-on-pr-1175
This commit is contained in:
@@ -98,9 +98,9 @@ class SmolVLAConfig(PreTrainedConfig):
|
|||||||
self_attn_every_n_layers: int = 2 # Interleave SA layers each self_attn_every_n_layers
|
self_attn_every_n_layers: int = 2 # Interleave SA layers each self_attn_every_n_layers
|
||||||
expert_width_multiplier: float = 0.75 # The action expert hidden size (wrt to the VLM)
|
expert_width_multiplier: float = 0.75 # The action expert hidden size (wrt to the VLM)
|
||||||
|
|
||||||
min_period: float = 4e-3 # sensitivity range for the timestep used in sine-cosine positional encoding
|
min_period: float = 4e-3 # sensitivity range for the timestep used in sine-cosine positional encoding
|
||||||
max_period: float = 4.0
|
max_period: float = 4.0
|
||||||
|
|
||||||
def __post_init__(self):
|
def __post_init__(self):
|
||||||
super().__post_init__()
|
super().__post_init__()
|
||||||
|
|
||||||
|
|||||||
@@ -656,8 +656,8 @@ class VLAFlowMatching(nn.Module):
|
|||||||
dtype = action_emb.dtype
|
dtype = action_emb.dtype
|
||||||
# Embed timestep using sine-cosine positional encoding with sensitivity in the range [0, 1]
|
# Embed timestep using sine-cosine positional encoding with sensitivity in the range [0, 1]
|
||||||
time_emb = create_sinusoidal_pos_embedding(
|
time_emb = create_sinusoidal_pos_embedding(
|
||||||
timestep, self.vlm_with_expert.expert_hidden_size, self.config.min_period, self.config.max_period, device=device
|
timestep, self.vlm_with_expert.expert_hidden_size, self.config.min_period, self.config.max_period, device=device)
|
||||||
)
|
|
||||||
time_emb = time_emb.type(dtype=dtype)
|
time_emb = time_emb.type(dtype=dtype)
|
||||||
|
|
||||||
time_emb = time_emb[:, None, :].expand_as(action_emb)
|
time_emb = time_emb[:, None, :].expand_as(action_emb)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import pytest
|
|||||||
import lerobot
|
import lerobot
|
||||||
from lerobot.common.policies.act.modeling_act import ACTPolicy
|
from lerobot.common.policies.act.modeling_act import ACTPolicy
|
||||||
from lerobot.common.policies.diffusion.modeling_diffusion import DiffusionPolicy
|
from lerobot.common.policies.diffusion.modeling_diffusion import DiffusionPolicy
|
||||||
|
from lerobot.common.policies.smolvla.modeling_smolvla import SmolVLAPolicy
|
||||||
from lerobot.common.policies.tdmpc.modeling_tdmpc import TDMPCPolicy
|
from lerobot.common.policies.tdmpc.modeling_tdmpc import TDMPCPolicy
|
||||||
from lerobot.common.policies.vqbet.modeling_vqbet import VQBeTPolicy
|
from lerobot.common.policies.vqbet.modeling_vqbet import VQBeTPolicy
|
||||||
from tests.utils import require_env
|
from tests.utils import require_env
|
||||||
@@ -45,12 +46,7 @@ def test_available_policies():
|
|||||||
This test verifies that the class attribute `name` for all policies is
|
This test verifies that the class attribute `name` for all policies is
|
||||||
consistent with those listed in `lerobot/__init__.py`.
|
consistent with those listed in `lerobot/__init__.py`.
|
||||||
"""
|
"""
|
||||||
policy_classes = [
|
policy_classes = [ACTPolicy, DiffusionPolicy, TDMPCPolicy, VQBeTPolicy, SmolVLAPolicy]
|
||||||
ACTPolicy,
|
|
||||||
DiffusionPolicy,
|
|
||||||
TDMPCPolicy,
|
|
||||||
VQBeTPolicy,
|
|
||||||
]
|
|
||||||
policies = [pol_cls.name for pol_cls in policy_classes]
|
policies = [pol_cls.name for pol_cls in policy_classes]
|
||||||
assert set(policies) == set(lerobot.available_policies), policies
|
assert set(policies) == set(lerobot.available_policies), policies
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user