Update pre-commit-config.yaml + pyproject.toml + ceil rerun & transformer dependencies version (#1520)

* chore: update .gitignore

* chore: update pre-commit

* chore(deps): update pyproject

* fix(ci): multiple fixes

* chore: pre-commit apply

* chore: address review comments

* Update pyproject.toml

Co-authored-by: Ben Zhang <5977478+ben-z@users.noreply.github.com>
Signed-off-by: Steven Palma <imstevenpmwork@ieee.org>

* chore(deps): add todo

---------

Signed-off-by: Steven Palma <imstevenpmwork@ieee.org>
Co-authored-by: Ben Zhang <5977478+ben-z@users.noreply.github.com>
This commit is contained in:
Steven Palma
2025-07-17 14:30:20 +02:00
committed by GitHub
parent 0938a1d816
commit 378e1f0338
78 changed files with 1450 additions and 636 deletions
+2 -2
View File
@@ -21,8 +21,8 @@ The majority of changes here involve removing unused code, unifying naming, and
import math
from collections import deque
from collections.abc import Callable
from itertools import chain
from typing import Callable
import einops
import numpy as np
@@ -216,7 +216,7 @@ class ACTTemporalEnsembler:
continue
avg *= exp_weights[:i].sum()
avg += item * exp_weights[i]
avg /= exp_weights[:i+1].sum()
avg /= exp_weights[: i + 1].sum()
print("online", avg)
```
"""
@@ -22,7 +22,7 @@ TODO(alexander-soare):
import math
from collections import deque
from typing import Callable
from collections.abc import Callable
import einops
import numpy as np
@@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import List, Optional, Union
import torch
import torch.version
@@ -228,12 +227,12 @@ class PaliGemmaWithExpertModel(PreTrainedModel):
# TODO: break down this huge forward into modules or functions
def forward(
self,
attention_mask: Optional[torch.Tensor] = None,
position_ids: Optional[torch.LongTensor] = None,
past_key_values: Optional[Union[List[torch.FloatTensor], Cache]] = None,
inputs_embeds: List[torch.FloatTensor] = None,
use_cache: Optional[bool] = None,
fill_kv_cache: Optional[bool] = None,
attention_mask: torch.Tensor | None = None,
position_ids: torch.LongTensor | None = None,
past_key_values: list[torch.FloatTensor] | Cache | None = None,
inputs_embeds: list[torch.FloatTensor] = None,
use_cache: bool | None = None,
fill_kv_cache: bool | None = None,
):
models = [self.paligemma.language_model, self.gemma_expert.model]
+5 -5
View File
@@ -12,20 +12,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import abc
import builtins
import logging
import os
from importlib.resources import files
from pathlib import Path
from tempfile import TemporaryDirectory
from typing import List, Type, TypeVar
from typing import TypeVar
import packaging
import safetensors
from huggingface_hub import HfApi, ModelCard, ModelCardData, hf_hub_download
from huggingface_hub.constants import SAFETENSORS_SINGLE_FILE
from huggingface_hub.errors import HfHubHTTPError
from safetensors.torch import load_model as load_model_as_safetensor
from safetensors.torch import save_model as save_model_as_safetensor
from safetensors.torch import load_model as load_model_as_safetensor, save_model as save_model_as_safetensor
from torch import Tensor, nn
from lerobot.configs.policies import PreTrainedConfig
@@ -67,7 +67,7 @@ class PreTrainedPolicy(nn.Module, HubMixin, abc.ABC):
@classmethod
def from_pretrained(
cls: Type[T],
cls: builtins.type[T],
pretrained_name_or_path: str | Path,
*,
config: PreTrainedConfig | None = None,
@@ -223,7 +223,7 @@ class PreTrainedPolicy(nn.Module, HubMixin, abc.ABC):
logging.info(f"Model pushed to {commit_info.repo_url.url}")
def generate_model_card(
self, dataset_repo_id: str, model_type: str, license: str | None, tags: List[str] | None
self, dataset_repo_id: str, model_type: str, license: str | None, tags: list[str] | None
) -> ModelCard:
base_model = "lerobot/smolvla_base" if model_type == "smolvla" else None # Set a base model
+2 -1
View File
@@ -16,8 +16,9 @@
# limitations under the License.
import math
from collections.abc import Callable
from dataclasses import asdict
from typing import Callable, Literal
from typing import Literal
import einops
import numpy as np
@@ -13,7 +13,6 @@
# limitations under the License.
import copy
from typing import List, Optional
import torch
from torch import nn
@@ -403,12 +402,12 @@ class SmolVLMWithExpertModel(nn.Module):
def forward(
self,
attention_mask: Optional[torch.Tensor] = None,
position_ids: Optional[torch.LongTensor] = None,
past_key_values: Optional[List[torch.FloatTensor]] = None,
inputs_embeds: List[torch.FloatTensor] = None,
use_cache: Optional[bool] = None,
fill_kv_cache: Optional[bool] = None,
attention_mask: torch.Tensor | None = None,
position_ids: torch.LongTensor | None = None,
past_key_values: list[torch.FloatTensor] | None = None,
inputs_embeds: list[torch.FloatTensor] = None,
use_cache: bool | None = None,
fill_kv_cache: bool | None = None,
):
models = [self.get_vlm_model().text_model, self.lm_expert]
model_layers = self.get_model_layers(models)
+1 -1
View File
@@ -24,9 +24,9 @@ The comments in this code may sometimes refer to these references:
# ruff: noqa: N806
from collections import deque
from collections.abc import Callable
from copy import deepcopy
from functools import partial
from typing import Callable
import einops
import numpy as np
+2 -2
View File
@@ -18,7 +18,7 @@
import warnings
from collections import deque
from typing import Callable, List
from collections.abc import Callable
import einops
import numpy as np
@@ -901,7 +901,7 @@ class MLP(torch.nn.Sequential):
def __init__(
self,
in_channels: int,
hidden_channels: List[int],
hidden_channels: list[int],
):
layers = []
in_dim = in_channels
+3 -3
View File
@@ -17,10 +17,10 @@
# limitations under the License.
import math
from collections.abc import Callable
from functools import partial
from math import ceil
from random import randrange
from typing import Callable
import torch
import torch.distributed as distributed
@@ -198,7 +198,7 @@ class GPT(nn.Module):
# report number of parameters
n_params = sum(p.numel() for p in self.parameters())
print("number of parameters: {:.2f}M".format(n_params / 1e6))
print(f"number of parameters: {n_params / 1e6:.2f}M")
def forward(self, input, targets=None):
device = input.device
@@ -255,7 +255,7 @@ class GPT(nn.Module):
blacklist_weight_modules = (torch.nn.LayerNorm, torch.nn.Embedding)
for mn, m in self.named_modules():
for pn, _p in m.named_parameters():
fpn = "{}.{}".format(mn, pn) if mn else pn # full param name
fpn = f"{mn}.{pn}" if mn else pn # full param name
if pn.endswith("bias"):
# all biases will not be decayed
no_decay.add(fpn)