当前位置: 首页 > news >正文

Ubuntu24.04.1系统下VideoMamba环境配置

文章目录

  • 前言
  • 第一步:基本的环境创建
  • 第二步:causal-conv1d和mamba_ssm库的安装
  • 第三步:安装requirements.txt


前言

VideoMamba环境的配置折磨了我三天,由于Mamba对Cuda的版本有要求,因此配置环境的时候Cuda版本以及各种包的版本问题是最需要注意的,下面我来一步一步的演示如何配好VideoMamba模型的运行环境。

第一步:基本的环境创建

创建python版本为3.10.13的conda环境,在这里我将环境命名为videomamba

conda create -n videomamba python=3.10.13

激活创建的环境。

conda activate videomamba

然后安装版本为11.8CUDA

conda install cudatoolkit==11.8 -c nvidia

安装版本2.1.1pytorch

pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118

安装版本为11.8cuda-nvcc库。

conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc

第二步:causal-conv1d和mamba_ssm库的安装

大多数的教程都是直接pip安装这两个库,但是直接安装的方式基本不可能安装成功,所以采用离线安装的方式来装。

pip install causal-conv1d
pip install mamba_ssm

首先下载用于离线安装causal-conv1dwhl文件,下载链接: causal-conv1d
在这里我下载的是causal_conv1d-1.1.3+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl,好像mamba环境对这个报的版本的要求不是很苛刻,只要保证包的版本高于1.1.0就行,但是还是建议和我的版本保持一致。
然后下载用于离线安装mamba_ssmwhl文件,下载链接: mamba_ssm,在这里,我下载的是mamba_ssm-1.1.1+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
然后安装两个whl

pip install causal_conv1d-1.1.3+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
pip install mamba_ssm-1.1.1+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

注意在这里安装的mamba_ssm的环境运行videomamba代码是会报错的,所以我们需要把videomamba代码中的mamba文件夹下的mamba_ssm文件夹替换到我们配置的python环境中,具体如下:
首先我们去anaconda3/envs/videomamba/lib/python3.10/site-packages/找到mamba_ssm文件夹,然后删除它
接着,我们将VideoMamba-main/mamba下的mamba_ssm文件复制到anaconda3/envs/videomamba/lib/python3.10/site-packages/,这样我们的环境就配好了,其中VideoMamba-main是videomamba的github上的项目名。

第三步:安装requirements.txt

这里两个特别需要注意的两个包:apex==0.1xformers==0.0.24
对于apex包,我们直接使用pip安装会失败,所以也需要离线安装,下载链接: apex。
然后手动安装

python setup.py install

对于xformers==0.0.24包,官方给的requirements.txt文件中的版本是0.0.24,但是安装0.0.24的包会自动将我们安装的torch包更新为2.2版本的,导致配的环境出现问题,因此我们需要安装0.0.23版本的包,这样就不会更新torch包了。
将原始的requirements.txt文件中的xformers==0.0.24改为xformers==0.0.23,然后直接安装就行了。

pip install -r requirements.txt
http://www.lryc.cn/news/450608.html

相关文章:

  • c++第十二章续(队列结构类模拟)
  • 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall
  • 基于ESP8266—AT指令连接阿里云+MQTT透传数据(3)
  • redis的数据结构,内存处理,缓存问题
  • 机器学习模型评估与选择
  • Web认识 -- 第一课
  • Recaptcha2 图像识别 API 对接说明
  • 6种MySQL高可用方案对比分析
  • FastAPI: websocket的用法及举例
  • JavaSE——面向对象2:方法的调用机制、传参机制、方法递归、方法重载、可变参数、作用域
  • Vue+Flask
  • 深入剖析 Android Lifecycle:构建高效稳定的应用
  • ElasticSearch分词器、相关性详解与聚合查询实战
  • 删除二叉树中以x为根节点的子树(包括根结点)
  • Netty 与 WebSocket之间的关系
  • 通信工程学习:什么是CSMA/CA载波监听多路访问/冲突避免
  • JAVA并发编程系列(13)Future、FutureTask异步小王子
  • 【python爬虫可以获取到谷歌影像吗?】如何有效下载谷歌影像?
  • Windows 上安装 PostgreSQL
  • Vue 技术进阶 day2 数据监视的原理、其他内置指令、自定义指令、生命周期、组件化、VueComponent构造函数
  • vue.js 原生js app端实现图片旋转、放大、缩小、拖拽
  • MyBatis的注入问题
  • 基于springboot的评分评教管理系统
  • C嘎嘎入门篇:类和对象(2)
  • 数据库 - Mongo数据库
  • 工业控制过等保三级需要的网络安全设备及详细讲解
  • Android开发高级篇:MVVM框架与数据双向绑定
  • 智能招聘系统小程序的设计
  • Wireshark抓包GRPC协议查看Protobuf编码内容
  • selenium 强制、隐式、显示等待(11种预置条件)