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. 网上有大量人抄袭本系列博客的教程,连本人当时随手建的环境都变成了这些教程的基础配置,还是请关注本系列博客的权威解答,除前述渠道外的其他渠道均需理性看待,谨防诈骗。
相关推荐
哈哈幸运3 小时前
MySQL运维三部曲初级篇:从零开始打造稳定高效的数据库环境
linux·运维·数据库·mysql·性能优化
soulermax4 小时前
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
java·linux·服务器
黑心老人4 小时前
Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿
linux·运维·服务器·macos
Zenexus4 小时前
Linux学习笔记协议篇(六):SPI FLASH设备驱动
linux·笔记·arm
口嗨农民工4 小时前
ubuntu18.04启动不了修复
linux·运维·ubuntu
辣个蓝人QEX5 小时前
【ZYNQ MP开发】Linux下使用bootgen命令生成BOOT.bin报错架构不对问题探究
linux·arm开发·xilinx·zynq·mpsoc·bootgen·u-boot移植
Vesan,5 小时前
无人机飞控运行在stm32上的RTOS实时操作系统上,而不是linux这种非实时操作系统的必要性
linux·stm32·无人机
GalaxyPokemon6 小时前
Muduo网络库实现 [十六] - HttpServer模块
linux·运维·服务器·网络
Zfox_6 小时前
Git 进阶之路:高效协作之分支管理
大数据·linux·运维·c++·git·elasticsearch
夏天里的肥宅水6 小时前
解决方案:远程shell连不上Ubuntu服务器
linux·运维·服务器·ubuntu