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. 网上有大量人抄袭本系列博客的教程,连本人当时随手建的环境都变成了这些教程的基础配置,还是请关注本系列博客的权威解答,除前述渠道外的其他渠道均需理性看待,谨防诈骗。
相关推荐
别或许8 分钟前
在centos系统下,安装MYSQL
linux·mysql·centos
丁丁丁梦涛13 分钟前
CentOS修改MySQL数据目录后重启失败的问题及解决方案
linux·mysql·centos
黑马金牌编程18 分钟前
Jenkins的Linux与window部署方式
linux·运维·windows·jenkins·持续集成·cicd
web安全工具库23 分钟前
告别刀耕火种:用 Makefile 自动化 C 语言项目编译
linux·运维·c语言·开发语言·数据库·算法·自动化
DechinPhy30 分钟前
Ubuntu挂载新硬盘
linux·运维·服务器·ubuntu
lht63193561233 分钟前
Ubuntu Server 系统安装图形界面远程工具(RDP)
linux·运维·ubuntu
云计算练习生1 小时前
linux shell编程实战 02 变量与交互式输入
linux·运维·shell编程·shell 变量
Dovis(誓平步青云)1 小时前
《简易制作 Linux Shell:详细分析原理、设计与实践》
linux·运维·服务器
weixin_307779131 小时前
在Linux服务器上使用Jenkins和Poetry实现Python项目自动化
linux·开发语言·python·自动化·jenkins
爱宇阳2 小时前
Linux 教程:如何查看服务器当前目录中的文件
linux·运维·github