SpatialLM尝鲜版

仓库链接:github.com/manycore-research/SpatialLM

部署推理

总体思路是按照readme一步一步整。此处仅仅记录几个注意事项:

Installation

(1)官方cuda版本挺高的,我这边nvidia-smi最高版本是12.2,所以没有利用12.4,而是改用了12.2,所幸依赖库的版本不需要修改,没有版本问题。

(2)conda install -y nvidia/label/cuda-12.4.0::cuda-toolkit conda-forge::sparsehash部分nvcc -V发现cuda-toolkit已经装好了,所以此处只安装了conda-forge::sparsehash。

(3) Install dependencies with poetry部分,由于poetry没用过,所以改用pip install -r requirements.txt进行安装的,只将pyproject.toml中dependencies部分写到requirements.txt中即可。

举例:

bash 复制代码
修改前:
toml = "^0.10.2"
tokenizers = ">=0.19.0,<0.20.4"
修改后:
toml==0.10.2
tokenizers>=0.19.0,<0.20.4

(4)此处需要注意transformers的版本,一开始安装的是允许的最低版本,推理的时候出现如下报错:

bash 复制代码
python inference.py --point_cloud pcd/scene0000_00.ply --output pcd/scene0000_00.txt --model_path manycore-research/SpatialLM-Llama-1B
Traceback (most recent call last):
  File "/home/jovyan/scf/code/SpatialLM/inference.py", line 168, in <module>
    tokenizer = AutoTokenizer.from_pretrained(args.model_path)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.conda/envs/spatiallm/lib/python3.11/site-packages/transformers/models/auto/tokenization_auto.py", line 880, in from_pretrained
    return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.conda/envs/spatiallm/lib/python3.11/site-packages/transformers/tokenization_utils_base.py", line 2110, in from_pretrained
    return cls._from_pretrained(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.conda/envs/spatiallm/lib/python3.11/site-packages/transformers/tokenization_utils_base.py", line 2336, in _from_pretrained
    tokenizer = cls(*init_inputs, **init_kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.conda/envs/spatiallm/lib/python3.11/site-packages/transformers/tokenization_utils_fast.py", line 114, in __init__
    fast_tokenizer = TokenizerFast.from_file(fast_tokenizer_file)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Exception: data did not match any variant of untagged enum ModelWrapper at line 1251003 column 3

升级transformers到4.46.1就可以解决,深层原因待研究。

复现&&自测

命令说明

bash 复制代码
下载模型:
huggingface-cli download --resume-download --local-dir-use-symlinks False manycore-research/SpatialLM-Llama-1B --local-dir D:\Code\KnowLM\knowlm-13b-ie
(注意:运行该命令之前,建立一个模型的文件夹,在这个文件夹下执行上述下载命令,防止文件散落各处。)
推理:
python inference.py --point_cloud pcd/gejian.ply --output pcd/gejian.txt --model_path ./SpatialLM-Llama-1B
可视化:
python visualize.py --point_cloud pcd/gejian.ply --layout pcd/gejian.txt --save pcd/gejian.rrd
rerun gejian.rrd

复现scene0000_00.ply

整体效果还比较符合预期,如下图所示:

对于门的识别存在一些误检,如下图所示:

后续看看论文里面的推理结果,看是否一致。

自采数据测试

厕所隔间数据检测结果如下:

可以看出,整体的位置存在较大偏差,应该是数据预处理与原文有些gap,后续研究下,再推理试试。

带着问题了解项目

未完待续

相关推荐
微山湖上静悄悄23 分钟前
用 AI 编程助手从零生成 3D 智慧校园数据大屏 —— Claude Code 实战全记录
ai
深念Y1 小时前
多 Agent 对证循环协作架构:Hermes + Claude Code + Codex 三角色工作流实战
ai·工作流·codex·vibecoding·claudecode·skills·hermes
头盔小妹1 小时前
在本地调用大语言模型
人工智能·语言模型·自然语言处理
格桑阿sir1 小时前
09-大模型智能体开发工程师:结构化输出与JSON Schema
ai·大模型·llm·agent·json schema·智能体·结构化
GISer_Jing2 小时前
Claude Code插件系统全解析
前端·人工智能·ai·架构
O丶ne丨柒夜2 小时前
Hermes Agent & WebUI一键部署,OpenClaw迁移教程
ai
学术头条2 小时前
手机上跑MoE?Meta提出MobileMoE,iPhone 16 Pro提速3.8倍
人工智能·科技·机器学习·ai·智能手机·agi
aihuangwu2 小时前
AI导出鸭|ChatGPT与Gemini生成Word文档技术实操
人工智能·ai·chatgpt·word·deepseek·ai导出鸭
JaydenAI3 小时前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
SZLSDH3 小时前
从“可视化呈现”到“业务可编排”:数字孪生应用开发的逻辑演进
ai·数字孪生·数据可视化·智能体