界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

pointllm

pointllm

【数据与研究】Guide PointLLM point-cloud language-model installation, data preparation, CUDA inference, two-stage training, demos, and benchmark evaluation.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: pointllm description: "Guide PointLLM point-cloud language-model installation, data preparation, CUDA inference, two-stage training, demos, and benchmark evaluation." disable-model-invocation: true metadata: disco-role: operating license: CC BY-NC-SA 4.0

PointLLM

Use this repo skill when a task involves PointLLM, colored point-cloud language models, PointBERT point tokens, Objaverse 8192-point inputs, ModelNet40 zero-shot classification, PointLLM chat, the Gradio demo, two-stage training, or the repository's benchmark evaluators.

This is an operating router, not a copy of the implementation. Read the smallest route that owns the task and keep the original result files and credentials auditable.

Choose a route

  • Data and schemas — read data-preparation for Objaverse NPY files, instruction JSON, ModelNet .dat data, normalization, sampling, dataset classes, and the bundled local validator.
  • Chat, batch generation, or demo — read inference-serving for model/tokenizer registration, point-token prompts, CUDA/dtype budgets, file or object-ID inputs, batch-generation flags, output JSON, and Gradio operations.
  • Training — read training for Stage 1 projector alignment, Stage 2 instruction tuning, dataclass flags, checkpoint handoff, FSDP/FlashAttention constraints, and preflight validation. It never launches distributed training automatically.
  • Scoring and metrics — read evaluation for benchmark selection, result validation, OpenAI judging, resume files, cost accounting, traditional caption metrics, and invalid-response handling.

For a task spanning routes, start here, then follow the explicit sibling links. Data preparation normally precedes inference or training; inference precedes benchmark scoring.

Installation and compatibility gate

PointLLM is distribution pointllm version 0.1.2, imported as pointllm. The repository metadata requires Python >=3.8, but the documented and inspected baseline is Python 3.10 with torch 2.0.1 + CUDA 11.7, Transformers 4.28.0.dev0 from commit cae78c46, and tokenizers 0.12.1. Use an isolated environment; do not install this legacy stack into an unrelated application environment.

From a PointLLM checkout, install the package and its declared dependencies:

pip install -e .

For the documented GPU baseline, install a torch/torchvision pair compatible with the host driver before the editable package. Training's train_mem path also requires a FlashAttention build compatible with that torch/Python/CUDA combination; this is a compiled optional acceleration with no safe generic wheel assumption. Deepspeed/FSDP are used by the Stage 2 profile. Keep numpy<2 with the older torch/Open3D stack, and use the legacy OpenAI client (openai==0.28.1) for the source evaluator API. Do not use a modern OpenAI client without adapting the evaluator.

Verify the environment before loading weights or data:

python -c "import torch, pointllm; print(torch.__version__, torch.cuda.is_available())"
python -m pip check
python scripts/check_env.py

Run that command from this generated skill directory; the bundled check is read-only and reports package/backend facts. It does not load a checkpoint, download data, contact OpenAI, or start a server. Read references/troubleshooting.md when imports, legacy dependency pins, CUDA, or optional services fail.

Runtime invariants

  • Inference launchers call .cuda() and require a compatible CUDA runtime; this skill does not claim CPU inference.
  • The normal colored input is a finite (N, 6) array: XYZ followed by RGB in [0, 1], usually N=8192. XYZ is centered and scaled to unit maximum radius.
  • Point tokens are checkpoint-configured; use the model's point_token_len and configured start/end tokens rather than hard-coding a prompt layout.
  • The model context is 2048 total tokens. Point tokens consume context before the user's question and generated answer.
  • Full checkpoints, Objaverse files, ModelNet files, and GPT judging are external resources. Validate paths and schemas before spending GPU, network, or API budget.

Provenance and refresh

Read references/repo-provenance.md before assuming this route matches a changed checkout. The structured routing record is in references/repo-routing-metadata.json. The shared installed-package launcher is scripts/run_installed_cli.py; use it from this generated skill directory for the historical chat/evaluation files. If the source commit, package metadata, or public entry points differ, use a refresh workflow instead of silently relying on this snapshot.

Scope limits

This skill does not embed model weights, datasets, API keys, external services, large benchmark outputs, or private environment paths. It does not promise that an expensive training run, full benchmark, FlashAttention compilation, Objaverse download, Gradio exposure, or OpenAI evaluation has succeeded merely because the package imports.

我的收藏