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,后续研究下,再推理试试。

带着问题了解项目

未完待续

相关推荐
程序员一一涤生4 小时前
数据、信息、知识、智慧:AI时代我们该如何思考?
ai·知识·dikw
土豆土豆,我是洋芋5 小时前
《大语言模型》学习笔记(二)
笔记·学习·语言模型·datawhale
四口鲸鱼爱吃盐6 小时前
CVPR2025 | TAPT:用于视觉语言模型鲁棒推理的测试时对抗提示调整
网络·人工智能·深度学习·机器学习·语言模型·自然语言处理·对抗样本
居然鼬个高手8 小时前
mac电脑如何将wps接入deepseek (傻瓜式教学)
ai·wps·deepseek
大模型任我行9 小时前
英伟达:LLM两阶段KV缓存压缩
人工智能·语言模型·自然语言处理·论文笔记
青松@FasterAI10 小时前
【Arxiv 大模型最新进展】普林斯顿大学提出 TreeBoN !大语言模型推理效能「提升秘籍」曝光
人工智能·语言模型·自然语言处理
xiaodaidai丶10 小时前
Ollama + Open WebUI 本地部署DeepSeek
大数据·ai
可乐加.糖11 小时前
AI大模型在物联网行业的应用场景深度解析
人工智能·物联网·语言模型·iot
Anima.AI14 小时前
AI代理到底怎么玩?
人工智能·python·深度学习·语言模型·机器人·软件构建