首页 > 系统相关 >[教程] Linux系统Anaconda平台下基于conda配置Mamba_ssm环境

[教程] Linux系统Anaconda平台下基于conda配置Mamba_ssm环境

时间:2024-12-11 15:30:03浏览次数:13  
标签:ssm conda install Linux pip mamba 安装

写在前面:
  • 系统配置:

        Ubuntu20.04 LTS, AMD EPYC 7352, NVIDIA-A100

  • 注意事项:

        使用该教程可安装绝大多数版本的 mamba_ssm 和 causal_conv1d, 但是不同版本库的使用会存在细微区别,动手能力强的选手可以自己调整,不能调整的就按照原始代码的 requirements 安装对应版本即可。


省流版本:
  1. 第一步就联合 torch、torchvision 一起安装 timm 库; 
  2. mamba_ssm 和 causal-conv1d 库直接 pip install 大概率报错;
  3. 使用 git clone 和 pip install -e 安装也有很大机率报错;
  4. 手动下载 whl (轮子) 再用 pip 安装成功率最高,也最省事
  5. 能用 conda 安装就用 conda, 实在没辙再用 pip.

安装流程:
第1步: 初始化环境,联合安装 timm + pytorch 库:
  • 注意不要分多次安装,一定要一次性安装 (!!非常重要!!):

    conda create -n mamba
    conda activate mamba
    
    # timm 包含 pytorch, 安装时间相对较长
    conda install -c pytorch -c conda-forge -c nvidia timm==0.6.5 pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=11.8
第2步: 配置 mamba_ssmcausal-conv1d 库:
  • 首先查看当前环境的 python, cudatoolkit, pytorch 的版本:

    # 查看 python 版本
    python -V
    # Python    3.9.19
    
    # 查看 cuda 版本
    pip list | grep cuda
    # nvidia-cuda-runtime-cu12    12.4.127
    
    # 查看 torch 版本
    pip list | grep torch
    # torch    2.5.1
  • 直接去 mamba_ssm 和 causal-conv1d 的仓库找相应的 whl 包并下载,例如这里需要下载: 

mamba_ssm-2.2.4+cu12torch2.5cxx11abiTRUE-cp39-cp39-linux_x86_64.whlicon-default.png?t=O83Ahttps://github.com/state-spaces/mamba/releases/download/v2.2.4/mamba_ssm-2.2.4+cu12torch2.5cxx11abiTRUE-cp39-cp39-linux_x86_64.whl
causal_conv1d-1.5.0.post8+cu12torch2.5cxx11abiTRUE-cp39-cp39-linux_x86_64.whlicon-default.png?t=O83Ahttps://github.com/Dao-AILab/causal-conv1d/releases/download/v1.5.0.post8/causal_conv1d-1.5.0.post8+cu12torch2.5cxx11abiTRUE-cp39-cp39-linux_x86_64.whl

以 mamba 库为例解析版本对应关系
2.2.4mamba_ssm 版本2.2.4
cu12cuda 版本12.x
torch2.5torch 版本2.5.x
cp39python 版本3.9.x
abiTRUE(你若疑之,我不知之)(欢迎补充 ^_^)

  • 将上述 whl 包拷贝到相应路径下,安装(安装完毕可删除):
# /dir/ 表示目标文件路径
pip install /dir/​mamba_ssm-2.2.4+cu11torch2.3cxx11abiTRUE-cp312-cp312-linux_x86_64.whl
pip install /dir/causal_conv1d-1.5.0.post8+cu11torch2.3cxx11abiTRUE-cp312-cp312-linux_x86_64.whl
第3步: 补充安装 triton 库(重要! mamba_ssm 的依赖包,不知为何没自动装上):
conda install triton
阶段完成: 至此,基础的 torch, mamba_ssm 和 timm 库已经配置完成:

可以进入 python 环境导入相关包,不报错即为成功:

import timm
import mamba_ssm
import causal_conv1d
进阶安装:

此处主要进一步配置 mamba_ssm 环境,补充安装一些项目过程中的必要依赖库 (opencv, open3d及其conda频道, pytorch3d 等等)。读者们可根据实际要求 following 安装或 customizing 安装。

其中,部分库的安装既可以走 conda 频道,也可以走 pypi 频道,这里给出了推荐的优先级,rank后的数字越小优先级越高 (选择一种方式安装即可,切勿重复安装!!).

# 安装相应科学计算库和文件操作库
conda install pyyaml h5py matplotlib scikit-learn scikit-image easydict

# 安装日志和进度条库 (可选)
conda install tqdm wandb

# 安装 pytorch3d 库 (可选)
conda install -c conda-forge -c fvcore -c iopath fvcore iopath
conda install -c pytorch3d pytorch3d # pytorch3d 频道 (rank #1)
conda install -c conda-forge pytorch3d # conda-forge 频道 (rank #2)

# 安装 open3d 库 (可选)
conda install -c conda-forge open3d # conda-forge 频道 (rank #1)
conda install -c open3d-admin open3d # open3d-admin 频道 (rank #2)
pip install open3d # pypi 频道 (rank #3)

# 安装 opencv 库
conda install -c conda-forge opencv # conda 频道 (rank #1)
pip install opencv-python # pypi 频道 (rank #2)

# 备份 mamba_ssm 库文件, 将 path 替换为自己的路径 (可选)
conda env export > /path/environment_mamba_241211.yaml
pip freeze > /path/requirements_mamba_241211.txt

总结:

可以看到,除了mamba_ssm 和 causal-conv1d 必须用基于 whl 文件的离线 pip 安装方法外,本文实现了相对纯净的 conda 式安装 torch + mamba_ssm + pytorch3d + open3d +opencv 以及相关依赖库的方法。

欢迎交流,敬请指正。

转载请联系。

标签:ssm,conda,install,Linux,pip,mamba,安装
From: https://blog.csdn.net/SagacityHu/article/details/144378897

相关文章

  • ssm毕设校友信息系统程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会的发展和科技的进步,校友群体在高校发展中的影响力日益凸显。在当今全球化、信息化的时代,人们的社交方式发生了巨大转变,信息的传播与获取......
  • ssm毕设网上书城系统程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着互联网技术的迅猛发展,电子商务已经深入到人们生活的各个方面。在图书销售领域,网上书城系统逐渐成为一种重要的图书销售和传播方式。传统的实......
  • ssm毕设校园新闻发布系统程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的高速发展,校园的信息传播需求日益增长。传统的校园新闻传播方式,如公告栏、纸质校报等,存在着信息更新慢、传播范围有限、缺乏互动性......
  • Tiny Core Linux在虚拟机中的安装与实战指南
    TinyCoreLinux在虚拟机中的安装与实战指南本文详细介绍了如何在虚拟机中安装和配置TinyCoreLinux,以及如何利用其小巧的体积和高效的性能来满足特定需求。TinyCoreLinux不仅适合作为轻量级操作系统,还可以作为开发人员的测试环境或嵌入式系统的解决方案。随着物联网和嵌入式......
  • SSM 校园一卡通密钥管理系统 PF 于校园图书借阅管理的安全保障
    摘要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装校园一卡通密钥管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,校园一......
  • 探究 SSM 校园一卡通密钥管理系统 PF 技术架构与校园网络架构的协同性
    第5章系统实现这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。功能模块的实现5.1学生信息管理如......
  • SSM 校园一卡通密钥管理系统 PF 技术架构在云计算环境下的应用潜力
    第5章系统实现这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。功能模块的实现5.1学生信息管理如......
  • Linux -基础指令3
    博客主页:【夜泉_ly】本文专栏:【Linux】欢迎点赞......
  • Linux shell字符串截取
    原文参考https://www.cnblogs.com/cavan2021/p/17484032.html自己试过之后,觉得有些地方需要进一步说明,写一点自己的理解。一、从指定位置截取,截掉左边,保留右边${string:start:length}从string字符串的左数第start个字符开始,向右截取 length个字符。${string:start}从......
  • 初识Linux · 编写生产消费模型(2)
    目录前言:RingQueue编写生产消费模型认识接口开始编写前言:前文我们介绍了基于阻塞队列实现生产消费模型,使用阻塞队列实现生产消费模型中,我们学习到了pthread_cond_wait的第二个参数的重要性,不仅会解锁,此时锁被其他人持有,当条件满足的时候,就重新竞争锁,所以在pthread_cond_......