当前位置: 首页 > 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

相关文章:

Ubuntu24.04.1系统下VideoMamba环境配置

文章目录 前言第一步:基本的环境创建第二步:causal-conv1d和mamba_ssm库的安装第三步:安装requirements.txt 前言 VideoMamba环境的配置折磨了我三天,由于Mamba对Cuda的版本有要求,因此配置环境的时候Cuda版本以及各种…...

c++第十二章续(队列结构类模拟)

队列类 设计类,需要开发公有接口和私有实现 Queue类接口 公有接口: 默认初始化,和可以用显式初始化覆盖默认值 Queue类的实现 如何表示队列数据: 一种方法是使用new动态分配一个数组,它包含所需的元素数。不过&…...

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard 数据量:5k 想要进一步了解,请联系。 DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集&#x…...

基于ESP8266—AT指令连接阿里云+MQTT透传数据(3)

MQTT_RX设备为接收(订阅)数据的Topic,使用ESP8266通过AT指令实现。 首先需要串口通信软件,如 SSCOM、PuTTY、SecureCRT 等串口调试工具,功能丰富,支持常见的串口调试功能,用于发送AT指令。 以下是ESP8266通过AT指令连接阿里云MQTT服务的步骤: 1、初始化WiFi 发送下面…...

redis的数据结构,内存处理,缓存问题

redisObject redis任意数据的key和value都会被封装为一个RedisObject,也叫redis对象: 这就redis的头信息,占有16个字节 redis中有两个热门数据结构 1.SkipList,跳表,首先是链表,和普通链表有以下差异&am…...

机器学习模型评估与选择

前言 承接上篇讲述了机器学习有哪些常见的模型算法,以及使用的场景,本篇将继续讲述如何选择模型和评估模型。几个概念了解一下: 经验误差:模型在训练集上的误差称之为经验误差;过拟合:模型在训练集上表现…...

Web认识 -- 第一课

文章目录 前言一、HTML是什么?二、了解Web1. 基本概念2.Web标准3. Web构成1.前端1. HTML2.CSS3. javaScript4.常见浏览器介绍 2.Web标签构成1.结构标准2.表现标准 -- css3. 行为标准 -- javaScript 总结 前言 这里是我们进入前端学习的开端,在本次更新之后我会陆续…...

Recaptcha2 图像识别 API 对接说明

Recaptcha2 图像识别 API 对接说明 本文将介绍一种 Recaptcha2 图像识别2 API 对接说明,它可以通过用户输入识别的内容和 Recaptcha2验证码图像,最后返回需要点击的小图像的坐标,完成验证。 接下来介绍下 Recaptcha2 图像识别 API 的对接说…...

6种MySQL高可用方案对比分析

大家好,我是 V 哥,关于 MySQL 高可用方案,在面试中频频出现,有同学在字节面试就遇到过,主要考察你在高可用项目中是如何应用的,V 哥整理了6种方案,供你参考。 MySQL的高可用方案有多种&#xf…...

FastAPI: websocket的用法及举例

1. Websocket 1.1 Websocket介绍 WebSocket 是一种在单个TCP连接上进行全双工通信的协议,允许客户端和服务器之间相互发送数据,而不需要像传统的HTTP请求-响应模型那样频繁建立和断开连接。 全双工通信(Full-Duplex Communication)是一种通信模式&#…...

JavaSE——面向对象2:方法的调用机制、传参机制、方法递归、方法重载、可变参数、作用域

目录 一、成员方法 (一)方法的快速入门 (二)方法的调用机制(重要) (三)方法的定义 (四)注意事项和使用细节 1.访问修饰符(作用是控制方法的使用范围) 2.返回的数据类型 3.方法名 4.形参列表 5.方法体 6.方法调用细节说明 (五)传参机制 1.基本数据类型的传参机制 …...

Vue+Flask

App.vue 首先要安装 npm install axios<template><div><h1>{{ message }}</h1><input v-model"name" placeholder"Enter your name" /><input v-model"age" placeholder"Enter your age" /><…...

深入剖析 Android Lifecycle:构建高效稳定的应用

在 Android 开发中&#xff0c;管理应用组件的生命周期是至关重要的。正确处理生命周期事件可以确保应用的性能、稳定性和用户体验。Android Framework 提供了一系列的机制来管理应用组件的生命周期&#xff0c;而android.arch.lifecycle库则为我们提供了更简洁、更灵活的方式来…...

ElasticSearch分词器、相关性详解与聚合查询实战

目录 1. ES分词器详解 1.1 基本概念 1.2 分词发生时期 1.3 分词器的组成 切词器&#xff1a;Tokenizer 词项过滤器&#xff1a;Token Filter 字符过滤器&#xff1a;Character Filter 1.4 倒排索引的数据结构 2. 相关性详解 2.1 什么是相关性&#xff08;Relevance&am…...

删除二叉树中以x为根节点的子树(包括根结点)

已知二叉树以二叉链表存储&#xff0c;编写算法完成&#xff1a;对于树中每个元素值为x的结点&#xff0c;删除以它为根的子树&#xff0c;并释放相应的空间。 思想&#xff1a; 删除二叉树采用后序遍历。先删除左子树&#xff0c;然后右子树&#xff0c;最后根。 利用层次遍…...

Netty 与 WebSocket之间的关系

WebSocketProtocolHandler 和 Netty 在处理 WebSocket 连接时扮演不同的角色&#xff0c;但它们通常是一起使用的&#xff0c;尤其是在基于 Netty 的项目中。为了更好地理解它们之间的区别&#xff0c;我们首先需要了解 WebSocket 和 Netty 的基本概念。 WebSocket WebSocket…...

通信工程学习:什么是CSMA/CA载波监听多路访问/冲突避免

CSMA/CA&#xff1a;载波监听多路访问/冲突避免 CSMA/CA&#xff08;Carrier Sense Multiple Access/Collision Avoidance&#xff09;&#xff0c;即载波监听多路访问/冲突避免&#xff0c;是一种用于数据传输时避免各站点之间冲突的算法&#xff0c;尤其适用于无线局域网&…...

JAVA并发编程系列(13)Future、FutureTask异步小王子

美团本地生活面试&#xff1a;模拟外卖订单处理&#xff0c;客户支付提交订单后&#xff0c;查询订单详情&#xff0c;后台需要查询店铺备餐进度、以及外卖员目前位置信息后再返回。 时间好快&#xff0c;一转眼不到一个月时间&#xff0c;已经完成分享synchronized、volatile、…...

【python爬虫可以获取到谷歌影像吗?】如何有效下载谷歌影像?

【python爬虫可以获取到谷歌影像吗&#xff1f;】如何有效下载谷歌影像&#xff1f; 【python爬虫可以获取到谷歌影像吗&#xff1f;】如何有效下载谷歌影像&#xff1f; 文章目录 【python爬虫可以获取到谷歌影像吗&#xff1f;】如何有效下载谷歌影像&#xff1f;前言1. 使用…...

Windows 上安装 PostgreSQL

Windows 上安装 PostgreSQL PostgreSQL 是一款功能强大的开源关系数据库管理系统,广泛用于各种应用场景。在 Windows 系统上安装 PostgreSQL 相对简单,但需要遵循一系列步骤。本文将详细介绍在 Windows 上安装 PostgreSQL 的过程,并提供一些关键的配置和优化建议。 一、下…...

Google Docs接入Gemini后,这6类高频写作场景效率飙升210%(附可复制Prompt库)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini深度集成Google Docs的底层机制解析 Gemini 与 Google Docs 的深度集成并非简单的 API 调用叠加&#xff0c;而是依托 Google 的统一 AI 基础设施&#xff08;AISI&#xff09;和文档实时协作协议…...

基于Node.js的Gemini CLI蓝图:构建高效AI命令行工具

1. 项目概述&#xff1a;一个让Gemini API在命令行中“活”起来的蓝图 如果你和我一样&#xff0c;日常工作中大量时间都泡在终端里&#xff0c;那么你肯定理解那种感觉&#xff1a;为了调用一个AI模型&#xff0c;不得不频繁地在浏览器、API文档和命令行之间来回切换&#xff…...

ARM GICv5 ITS_CR1寄存器配置与中断优化实践

1. ARM GICv5 ITS架构概述中断控制器是现代计算机系统中的关键组件&#xff0c;负责管理和分发硬件中断请求。ARM GICv5架构中的Interrupt Translation Service (ITS)模块通过创新的设备ID和事件ID映射机制&#xff0c;实现了灵活高效的中断路由方案。ITS作为GICv5的可选扩展组…...

QMCDecode:Mac上最简单的QQ音乐加密音频解密工具

QMCDecode&#xff1a;Mac上最简单的QQ音乐加密音频解密工具 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认转换结…...

不同CFD网格建模软件-动网格-自适应网格划分技术-课程推荐。

不同CFD网格建模软件-动网格-自适应网格划分技术-课程推荐。 数值模拟网格生成技术-01课程概览_哔哩哔哩_bilibili...

终极智能温控指南:FanControl风扇控制软件完整配置教程

终极智能温控指南&#xff1a;FanControl风扇控制软件完整配置教程 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

【职业发展】程序员成长路径:从初级到架构师的进阶指南

【职业发展】程序员成长路径&#xff1a;从初级到架构师的进阶指南 引言 程序员的职业发展是一个持续学习和成长的过程。从初级程序员成长为技术架构师&#xff0c;需要经历多个阶段的积累和蜕变。本文将详细分析程序员成长的各个阶段&#xff0c;帮助你规划职业发展路径。 …...

Python金融数据分析实战:从数据清洗到LLM智能问答机器人构建

1. 项目概述&#xff1a;一个金融数据分析与智能问答的实战项目 最近在整理一些数据分析的实战项目&#xff0c;正好翻到了之前为Forage BCGX GenAI项目做的一个金融分析案例。这个项目麻雀虽小&#xff0c;五脏俱全&#xff0c;它完整地走了一遍从原始数据清洗、指标计算、可视…...

告别疲劳计算烦恼:用nCode DesignLife搞定汽车悬架非线性载荷分析(附信号处理技巧)

告别疲劳计算烦恼&#xff1a;用nCode DesignLife搞定汽车悬架非线性载荷分析&#xff08;附信号处理技巧&#xff09; 悬架系统作为汽车底盘的核心部件&#xff0c;其疲劳寿命直接关系到整车可靠性与安全性。但在实际工程分析中&#xff0c;工程师们常常被一个棘手问题困扰&am…...

Cadence焊盘绘制实战:从零到一构建PCB封装基石

1. 为什么焊盘设计是PCB封装的基石 刚入行硬件设计那会儿&#xff0c;我总以为画封装就是照着尺寸描边。直到有次量产时发现整批QFN芯片虚焊&#xff0c;才明白焊盘设计才是封装可靠性的命门。Cadence的分离式设计哲学——将焊盘&#xff08;Padstack&#xff09;与封装&#x…...