Linux 下 Vim 环境安装踩坑问题汇总及解决方法(重置版)

导航

安装教程导航

目录

  • 导航
  • 前言
  • [Vim 环境准备](#Vim 环境准备)
  • 出现的问题
    • [1. 出现 `TypeError: 'bimamba_type'`](#1. 出现 TypeError: 'bimamba_type')
    • [2. pip install 之后卡住不动](#2. pip install 之后卡住不动)
    • [3. 出现 `fatal error: xxx.h: No such file or directory`](#3. 出现 fatal error: xxx.h: No such file or directory)
  • 关于whl付费的说明

前言

由于本人第一篇博客Mamba 环境安装踩坑问题汇总及解决方法(初版) Linux和Windows的问题夹杂,vim 和 mamba 夹杂不易查询,重新整理在Linux下Vim所有安装过程中可能出现的问题。

Vim (Vision Mamba) 官方代码链接为:https://github.com/hustvl/Vim。注意,Vim (Vision Mamba)和 Vmamba (VMamba: Visual State Space Model)虽然都是基于mamba,但是它们不是同一篇!

如果遇到其他问题,都可以参考本系列博客。

Vim 环境准备

  1. 前期环境准备,同原来博客 "Mamba 环境安装踩坑问题汇总及解决方法" ,具体为:
bash 复制代码
conda create -n vim python=3.10.13
conda activate vim
conda install cudatoolkit==11.8 -c nvidia

# 魔法版
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
# 国内版-上交镜像
pip install torch==2.1.1+cu118 torchvision==0.16.1+cu118 torchaudio==2.1.1+cu118 -f https://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html
# 国内版-阿里镜像
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 -f https://mirrors.aliyun.com/pytorch-wheels/cu118

conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc
conda install packaging
  1. 下载 Vim 的官方代码,然后切换到 Vim :
bash 复制代码
# 魔法版
git clone https://github.com/hustvl/Vim.git

# 镜像版
git clone https://githubfast.com/hustvl/Vim.git
  1. 安装 causal-conv1d,可以直接安装 1.1.1 版本,不从 Vim 安装
bash 复制代码
pip install causal-conv1d==1.1.1

或者从 causal-conv1d 官方下载 whl 直接安装,在我的配置下:

bash 复制代码
pip install causal_conv1d-1.1.1+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
  1. Vim 的 mamba-ssm 的编译:
bash 复制代码
cd Vim/mamba-1p1p1

# 以下根据报错可省略
conda install nvidia/label/cuda-11.8.0::cuda-cudart-dev  # 根据CUDA版本
conda install nvidia/label/cuda-11.8.0::libcusparse-dev
conda install nvidia/label/cuda-11.8.0::libcublas-dev

MAMBA_FORCE_BUILD=TRUE pip install .
cd ../

或者利用编译好的 whl 直接进行安装:

bash 复制代码
pip install mamba_ssm-1.1.1-cp310-cp310-linux_x86_64.whl

本人编译好的 whl 下载地址为:

(Vim Linux)mamba-ssm-1.1.1-cp310-cp310-linux-x86-64.whl

  1. 其他环境的安装: pip install -r vim/vim_requirements.txt

出现的问题

1. 出现 TypeError: 'bimamba_type'

有小伙伴在跑 Vision Mamba 时遭遇以下报错(Linux):

bash 复制代码
TypeError: Mamba.__init__() got an unexpected keyword argument 'bimamba_type'

因为 Vision Mamba 修改了 Mamba 的源代码,从 Mamba 官方途径安装的包中是没有这个函数的,所以需要先卸载原版 Mamba ,再从 Vision Mamba 代码里的 Mamba 源码手动安装,而不是从 Mamba 官方途径安装。

不过实测也可以直接进行文件替换,用 Vision Mambaselective_scan_interface.py 替换 selective_scan_interface.py,替换 causal_conv1d_interface.pymamba_simple.py

2. pip install 之后卡住不动

在Linux下卡住不动是因为它在下载对应的 *.whl 文件,需要科学上网,可以等它下载失败输出正确的网址,然后手动下载再pip install 这个 whl 文件。可以直接下载whl安装

在我的配置下面:

causal_conv1d 下载链接为:https://github.com/Dao-AILab/causal-conv1d/releases/download/v1.1.1/causal_conv1d-1.1.1+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

3. 出现 fatal error: xxx.h: No such file or directory

此问题参考本人之前博客:VMamba 安装教程(无需更改base环境中的cuda版本)。安装相应的包即可。包括:

  • fatal error: cuda_runtime.h: No such file or directory
  • fatal error: cusparse.h: No such file or directory
  • fatal error: cublas_v2.h: No such file or directory

关于whl付费的说明

  1. 无论是Linux还是Win,在这些平台下面的Mamba,Vim 以及Vmamba 编译过程以及所有可能遇到的问题已经在本系列博客中全程开源并写明,不少同学按照本博客自己编译成功。
  2. 资金紧张但学有余力的同学请自己按照本教程自己动手编译,出现问题请查阅本系列所有博客,不鼓励从任何渠道购买!!!
  3. 为时间紧张的同学提供优惠通道:【(Vim Linux)mamba-ssm-1.1.1-cp310-cp310-linux-x86-64.whl】。或vx私信。
  4. 由于精力有限,只对【付费同学】全程售后,安装包本身没有价值,指导安装挤占了本人大量时间,所以付费其实是咨询费,其他同学随缘。
  5. 使用本人提供的whl请保证python、torch及cuda版本与博客里一致。否则会出现 linux-gnu.so undefined symbol 问题。有环境版本定制化需求请私信结尾vx。
  6. 网上有大量人抄袭本系列博客的教程,连本人当时随手建的环境都变成了这些教程的基础配置,还是请关注本系列博客的权威解答,除前述渠道外的其他渠道均需理性看待,谨防诈骗。
相关推荐
cookies_s_s16 分钟前
Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
linux·运维·服务器·数据结构·c++·算法·哈希算法
丁劲犇34 分钟前
碳基生物的悲歌-DeepSeek思考实现Linux动态库递归收集工具
linux·递归·deepseek·ldd
zhouwu_linux1 小时前
MT7628基于原厂的SDK包, 修改ra1网卡的MAC方法。
linux·运维·macos
2401_897930061 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka
诶尔法Alpha1 小时前
Linux上使用dify构建RAG
linux·运维·服务器
熬夜苦读学习2 小时前
Linux文件系统
linux·运维·服务器·开发语言·后端
沐千熏2 小时前
Liunx(CentOS-6-x86_64)系统安装MySql(5.6.50)
linux·mysql·centos
黑牛先生3 小时前
【Linux】匿名管道
linux·运维·服务器
流星白龙3 小时前
【Linux】35.封装 UdpSocket(2)
linux·运维·windows
是码农没错了4 小时前
银河麒麟系统安装mysql5.7【亲测可行】
linux·运维·kylin