Instructions to use bigshanedogg/Concerto-Base-Origin with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bigshanedogg/Concerto-Base-Origin with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="bigshanedogg/Concerto-Base-Origin", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("bigshanedogg/Concerto-Base-Origin", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download modeling_concerto.py from bigshanedogg/Concerto-Base-Origin: direct link, hf CLI and curl.
- Browser
- Download file 3.2 kB
-
https://huggingface.co/bigshanedogg/Concerto-Base-Origin/resolve/main/modeling_concerto.py
- Command line
-
hf download hf://bigshanedogg/Concerto-Base-Origin/modeling_concerto.py
-
curl -L -o modeling_concerto.py https://huggingface.co/bigshanedogg/Concerto-Base-Origin/resolve/main/modeling_concerto.py
3.2 kB
| """Concerto (Pointcept/Concerto @ 5b411171) as a transformers ``PreTrainedModel``. | |
| ``ConcertoModel.model`` is the package's ``PointTransformerV3`` (vendored verbatim in ``concerto_model.py``), built | |
| from the checkpoint's stored config the way ``concerto.load`` builds it; ``forward`` runs ``PointTransformerV3.forward`` | |
| and returns a ``ConcertoModelOutput``: ``last_hidden_state`` (the output Point's ``feat``) and ``point``, the whole | |
| output Point (an ``addict.Dict``: ``coord``, ``offset``, the pooling_parent / pooling_inverse chain, ...). | |
| Runtime packages beyond torch / transformers: ``spconv``, ``torch_scatter``, ``timm``, ``addict``, ``scipy`` | |
| (as the original); ``flash_attn`` when ``enable_flash`` is on. | |
| """ | |
| from dataclasses import dataclass | |
| from typing import Any | |
| import torch | |
| from transformers import PreTrainedModel | |
| from transformers.utils import ModelOutput | |
| from .concerto_model import PointTransformerV3 | |
| from .configuration_concerto import ConcertoConfig | |
| class ConcertoModelOutput(ModelOutput): | |
| """last_hidden_state (M, C): features of the encoder's output points (``point.feat``); point: the output Point, whose | |
| pooling_parent / pooling_inverse chain and ``inverse`` map features back to the input points.""" | |
| last_hidden_state: torch.Tensor | None = None | |
| point: Any = None | |
| class ConcertoPreTrainedModel(PreTrainedModel): | |
| config_class = ConcertoConfig | |
| config: ConcertoConfig | |
| base_model_prefix = "model" | |
| main_input_name = "feat" | |
| class ConcertoModel(ConcertoPreTrainedModel): | |
| def __init__(self, config: ConcertoConfig): | |
| super().__init__(config) | |
| # concerto.load: custom_config entries replace the stored ones | |
| ptv3_config = dict(config.ptv3_config) | |
| if config.enable_flash is not None: | |
| ptv3_config["enable_flash"] = config.enable_flash | |
| if config.enc_patch_size is not None: | |
| ptv3_config["enc_patch_size"] = list(config.enc_patch_size) | |
| self.model = PointTransformerV3(**ptv3_config) | |
| self.post_init() | |
| def forward( | |
| self, | |
| coord: torch.Tensor | None = None, | |
| grid_coord: torch.Tensor | None = None, | |
| feat: torch.Tensor | None = None, | |
| offset: torch.Tensor | None = None, | |
| batch: torch.Tensor | None = None, | |
| return_dict: bool | None = None, | |
| **kwargs, | |
| ) -> tuple | ConcertoModelOutput: | |
| """A collected point cloud (``ConcertoProcessor``): coord / grid_coord (N, 3), feat (N, C_in), and offset or batch; | |
| other keys the processor returns (color, inverse, ...) are kept in the Point as the original pipeline does. | |
| ``return_dict=False`` returns a tuple.""" | |
| return_dict = return_dict if return_dict is not None else self.config.return_dict | |
| named = {"coord": coord, "grid_coord": grid_coord, "feat": feat, "offset": offset, "batch": batch} | |
| point = self.model({**{k: v for k, v in named.items() if v is not None}, **kwargs}) | |
| output = ConcertoModelOutput(last_hidden_state=point.feat, point=point) | |
| return output if return_dict else output.to_tuple() | |
| __all__ = ["ConcertoModel", "ConcertoModelOutput", "ConcertoPreTrainedModel"] | |