What can I say? Mamba 环境配置教程与攻略

说在前面

前段时间尝试要用到的最近大火的SSM模型,Mamba模型。环境配置是当然是第一个难关,参考了github链接配置,但是因为很多环境什么的报了一堆奇怪的错,其实到最后发现和cuda环境有很大的关系。正好最近有个朋友也想用mamba,他在环境上也有一些问题,所以我就计划写一篇博客来大概说明一下我的环境是怎么配置的。What can I say?

官方教程

下面这张图,主要的几个要求。

首先很简单的是我们可以通过pip直接安装,非常方便,其次有几点要求

  • Linux
  • NVIDIA GPU
  • PyTorch 1.12+
  • CUDA 11.6+
    上面两点应该大家服务器都是这样的,主要的就是PyTorch版本和CUDA版本是很关键的。

小灰的过程

下载python库

其实可以一键pip下载,但是其实pip会匹配很多东西,比如说你的系统版本,cuda版本什么的。这里不推荐直接pip,可以去mamba库的release里面去下载,然后下载对应的pytorch版本和cuda版本,以及python版本 ,这样确保我们的是可以使用的。最近的到小灰写博客的时候已经是2.2.4版本了,小灰使用的是2.2.2,也推荐使用这个版本,因为我当时使用2.2.4的时候配置不太成功。在2.2.2中,又cuda为12.2的和11.8的两个版本之分,这里推荐使用11.8,好吧是因为11.8中我成功了。所以不能参考官方readme中说11.6+即可,如果你的版本12.2那么可以试试12.2的,如果既不是11.8也不是12.2的cuda版本,你需要下载一个新的cuda版本。选择一个你喜欢的python版本和torch版本,下载好对应的whl文件到你的服务器上,本地pip安装,这一步我相信大家应该都知道怎么操作。

下载cuda版本

首先如何查看你的电脑中当前运行的cuda版本,有很多教程会说你运行

bash 复制代码
nvidia-smi 

得到一个界面,我得到的是这样的,然后红框框里面是你的cuda版本。其实不是这样的,这个cuda版本是你的nvidia驱动目前支持的最高cuda运行版本,而不是当前运行版本。

如果你想要查看cuda版本,你需要运行这个命令,这个v要记得是大写的。

bash 复制代码
nvcc -V

你会得到下面的一行输出,我的是cuda11.8。所以其实并不是那样的。

具体的下载cuda11.8版本的cuda怎么下载,我这里也不过多说明了,这种博客网上一搜一大堆。这里想要说明的一点是,你服务器的cuda版本可能不太方便更改,因为可能还有其他的程序,其实你可以安装多个cuda版本,并且是可以切换的,可以通过这条命令

bash 复制代码
vim ~/.bashrc

查看当前指向的是哪个版本的cuda,像我的就是我更改过的是这样的,如果你需要其他版本的,你可以指向另外一个文件的路径。具体的可以参考这篇博客:https://blog.csdn.net/deersonglzx/article/details/132103228

下载python版本和pytorch版本

其实到这一步大家其实会比较熟悉多了,基本上用anaconda这种包管理器,我们创建一个新的python版本,也就是你之前下载的那个whl文件里描述的python版本。然后就是pytorch版本,这里也要说明一下的是,也建议pytorch直接去对应的网站去下载cuda和python对应版本的pytorch,当然这个torch 的版本和之前mamba whl文件里面描述的也是一样的。所以基本上就是找whl文件对应的cuda和对应的python版本和对应的torch版本。

一些小问题

1.在mamba中会使用到causal-conv1d这个库,这个库你可能需要自己安装,可能会遇到一些问题,搜索一下应该可以解决。

2.在运行中,会遇到一些奇怪的报错,这些报错其实大多都是属于版本安装不太对,你需要校验包括cuda版本,torch版本,以及mamba安装的是否对应。也可以去github的issue去检索一下,基本上能找到一些端倪。

最后

小灰祝你安装顺利,实验结果漂亮,论文accepted!

相关推荐
伪_装1 分钟前
[Bug]libGL.so.1: cannot open shared object file: No such file or directory
人工智能·opencv·bug
思码逸研发效能5 分钟前
软件工程3.0时代,AI落地研效成熟时
人工智能·aigc·研发效能·ai编程·敏捷开发·研发效能度量
深图智能8 分钟前
PyTorch使用教程(4)-torch.nn
人工智能·pytorch·深度学习
smartcat201014 分钟前
Lora理解&QLoRA
深度学习
伊一大数据&人工智能学习日志39 分钟前
机器学习经典无监督算法——聚类K-Means算法
人工智能·算法·机器学习
游王子1 小时前
机器学习(3):逻辑回归
人工智能·机器学习·逻辑回归
laopeng3012 小时前
4.Spring AI Prompt:与大模型进行有效沟通
人工智能·spring·prompt
dwjf3212 小时前
神经网络基础-正则化方法
人工智能·深度学习·神经网络
姚家湾2 小时前
语音技术在播客领域的应用(2)
人工智能·播客·ai 语音
被放养的研究生2 小时前
神经网络常见操作(卷积)输入输出
深度学习·神经网络·机器学习