U-Mamba/PyTorch WSL环境配置

news2024/11/29 11:41:34

Mamba的配置要求

  • Linux
  • NVIDIA GPU
  • PyTorch 1.12+
  • CUDA 11.6+
  • https://github.com/state-spaces/mamba

个人版本:

  • 通过Windows中的WSL来实现linux环境
  • CUDA 12.4
  • PyTorch 2.5.1
  • Python 3.9+

1、下载并配置WSL

  • 微软应用商店搜索wsl选择合适的ubuntu版本进行下载
  • 在主板Bios中开启虚拟化功能,貌似是在高级->cpu
  • 在windows功能中开启Hyper-V,里面的管理工具和平台都要勾选,以及勾选适用于Linux的Windows子系统选项。
  • 如果遇到报错信息,在windowscmd中使用wsl --update命令,再尝试打开wsl进行用户名和密码的相关配置。
  • 在使用apt命令前,更新一下apt,apt-get update

2、使用VSCode远程连接到WSL

  • vscode中搜索wslwsl remote拓展进行安装,安装完后会出现远程资源管理器选项,在其中选择wsl进行连接和配置。
  • 新建终端,就可以在linux环境下运行终端了,并且左下角会显示wsl的连接情况和ubuntu的版本。

3、安装CUDA(内含NVCC, 无需额外下载)

  • linux终端使用nvidia-smi命令查看cuda和显卡信息,如果没有,则安装cuda
  • cuda的官网,选择合适的配置进行下载,CUDA12.4下载链接
  • gcc相关错误:apt-get update, sudo apt install gcc
    在这里插入图片描述
  • 安装完成后通过nvidia-sminvcc --version来查看是否安装成功以及安装版本和显卡信息。
  • 踩坑记录:
    • 当你下载好文件,并运行文件时,会跳出一个让你同意的协议,但是vscode的终端中可能由于显示高度太短,只有协议,而没有同意选项,你可以把终端的高度拉高或者在windows的终端中进入wsl,然后再重新安装下载的文件,这时就可以输入accept来同意了。
    • 安装好后,当运行nvcc --version时,提示你找不到nvcc的命令,千万不要按照他的提示来,而是要更改下环境变量,请运行以下命令
      • export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
      • 这个cuda-12.4是你安装的cuda的版本号,目前最新是cuda-12.6,具体的文件名称可以去linux文件管理器中去看
    • 如果不慎运行了他提示的命令怎么办?
      • sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \ "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
      • sudo apt-get autoremove --purge -V
      • 上述为卸载命令,然后再重新安装即可。
    • 具体文档可以查阅适用于 Linux 的 NVIDIA CUDA 安装指南

4、安装Python3

  • 使用python3 --version查看python3的版本,如果没有则进行安装
  • sudo apt-get update
  • sudo apt-get install python3-pip

5、安装PyTorch

  • pytorch2.5.1下载链接
    在这里插入图片描述

6、在Linux终端中运行以下代码,检查是否全部安装成功

  • python3
  • import torch
  • torch.cuda.is_available()
  • //如果为true就是成功了
  • exit()退出python

7、Mamba启动!

  • git clone https://github.com/state-spaces/mamba.git
  • cd mamba
  • pip install .

8、Anaconda安装

  • 报错conda: command not found:需要安装Anaconda来解决,去官网填写邮件后下载。
  • Anaconda下载
  • Wsl环境下,我们要下载的是Linux版本
  • 将下载好的文件,移动到linux磁盘下的home->username目录下,然后到对用的目录去运行
  • sh Miniconda3-latest-Linux-x86_64.sh, sh后面跟的是对应的文件名

9、U-Mamba启动!

  • 项目地址:https://github.com/bowang-lab/U-Mamba
  • 创建虚拟环境:conda create -n umamba python=3.10 -y
  • 激活环境:conda activate umamba
  • 安装causal-conv1dpip install causal-conv1d,这步可能会出错,wget命令也会报404 Not Found,替代办法是直接在github仓库直接下载这个文件,然后放到linux磁盘下的home->username目录下,然后到对应的目录去运行pip install 对应下载的文件名。causal-conv1d仓库链接
  • 安装Mamba:其实我们在第7条中已经安装mamba了,官方文档中的pip install mamba-ssm --no-cache-dir会报404错误。
  • 验证是否安装成功:
    • python3
    • import torch
    • import mamba_ssm
    • 没报错就是安装上了
    • exit()
  • 下载U-Mamba代码:git clone https://github.com/bowang-lab/U-Mamba
  • 安装依赖:pip install -e .
  • 将数据集按照格式要求放好,就可以按照项目地址的命令开始训练了

10、连接github太慢,超时,443错误

  • 方法很多,但不一定有用,比如设置代理
    • git config --global http.proxy
    • git config --global https.proxy

11、pip 太慢,超时(换清华源)

  • pip install pip -U
  • pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

12、npm太慢,超时(换淘宝源)

  • npm config set registry https://registry.npmmirror.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2249725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

A052-基于SpringBoot的酒店管理系统

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

使用ENSP实现OSPF

一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为1.1.1.1/24 ip address 1.1.1.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为2…

铲除数据安全三大“顽疾”,安全GPT如何“开药方”?

近年来,数据安全事件频发,业务数据不可见、不可视,导致业务数据被第三方利用、泄露的风险长期存在且无解。同时,随着监管力度的加大,数据安全处罚事件逐年变多,2023年更是呈现出爆发式增长的趋势。 在这样…

UPLOAD LABS | UPLOAD LABS 靶场初识

关注这个靶场的其它相关笔记:UPLOAD LABS —— 靶场笔记合集-CSDN博客 0x01:UPLOAD LABS 靶场简介 UPLOAD LABS 靶场是一个专门用于学习文件上传漏洞攻击和防御的靶场。它提供了一系列文件上传漏洞的实验环境,用于帮助用户了解文件上传漏洞的…

单例模式入门

单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 它的运作方式是这样的: 如果你创建了一个对象, 同时过一会儿后你决定再创建一个新对象, 此时你会获得之前已创建的…

【网络安全设备系列】12、态势感知

0x00 定义: 态势感知(Situation Awareness,SA)能够检测出超过20大类的云上安全风险,包括DDoS攻击、暴力破解、Web攻击、后门木马、僵尸主机、异常行为、漏洞攻击、命令与控制等。利用大数据分析技术,态势感…

(vue)启动项目报错The project seems to require pnpm but it‘s not installed

(vue)启动项目报错The project seems to require pnpm but it’s not installed 原因 该错误信息表明你的项目需要使用 pnpm 作为包管理工具,但系统中尚未安装 pnpm。 解决方法 【1】删除pnpm.lock 【2】npm install -g pnpm 之后再重新启动 yarn报错&#xff0…

OminiControl:一个新的FLUX通用控制模型,单个模型实现图像主题控制和深度控制

之前的文章中和大家介绍过Flux团队开源了一系列工具套件,感兴趣的小伙伴可以点击下面链接阅读~ AI图像编辑重大升级!FLUX.1 Tools发布,为创作者提供了更强大的控制能力。 OminiControl 也开源了其可控生成模型。OminiControl 是一个最小但功…

vue3使用 element-plus图标el-icon-search不生效

使用el-icon-search图标不生效 源代码&#xff1a;<!-- 添加搜索按钮 --> <el-button type"primary" icon"el-icon-search" click"handleSearchByCode" > 搜索 </el-button> 原因&#xff1a;vue3不能直接使用el-icon-search…

分层架构 IM 系统之 Entry 设计实现

在分层架构中&#xff0c;Entry 向客户端提供了 TCP 长连接的接入能力&#xff0c;并对这些长连接的活性进行保活维护&#xff08;详见 分层架构 IM 系统之架构解读&#xff09;&#xff0c;所以在 Entry 服务内部有两个最核心的数据结构&#xff1a; Map<uid, fd>&#…

git rebase-优雅合并与修改提交

文章目录 简介rebase用于合并使用rebase修改提交cherry-pick 简介 在Git核心概念图例与最常用内容操作(reset、diff、restore、stash、reflog、cherry-pick)中我们已经介绍了git的最常用实用的命令。 在上面说的那篇文章中&#xff0c;我们只是简单提了一下rebase。 是因为r…

Android蓝牙架构,源文件目录/编译方式学习

Android 版本 发布时间 代号&#xff08;Codename&#xff09; Android 1.0 2008年9月23日 无 Android 1.1 2009年2月9日 Petit Four Android 1.5 2009年4月27日 Cupcake Android 1.6 2009年9月15日 Donut Android 2.0 2009年10月26日 Eclair Android 2.1 2…

Qt6.8安卓Android开发环境配置

时隔多年&#xff0c;重拾QtCreator下Android开发。发现Qt6下安卓开发环境配置变简单不少&#xff01;只需三步即可在QtCreator下进行Android开发&#xff1a; 一、使用Qt Mantenance Tool进行Android模块的安装&#xff1a; 如果感觉安装网速较慢&#xff0c;可以查看本人另外…

PHP获取安卓APK文件的信息(名称、版本、图标文件等)

最近业务需要一个功能&#xff0c;后台上传apk文件&#xff0c;需要自动获取到此apk的名称、版本、图标、PackageName等信息。网上查了很多资料&#xff0c;看大家都是使用aapt工具来获取信息&#xff0c;不过不能获取图标。后来发现有大神已经封装了一套组件【php-apk-parser】…

扫雷-完整源码(C语言实现)

云边有个稻草人-CSDN博客 在学完C语言函数之后&#xff0c;我们就有能力去实现简易版扫雷游戏了&#xff08;成就感满满&#xff09;&#xff0c;下面是扫雷游戏的源码&#xff0c;快试一试效果如何吧&#xff01; 在test.c里面进行扫雷游戏的测试&#xff0c;game.h和game.c…

Docker:在 ubuntu 系统上生成和加载 Docker 镜像

本文将介绍在 ubuntu系统上进行 Docker 镜像的生成和加载方法和代码。 文章目录 一、下载和安装 docker二、加载 docker 文件三、保存你的镜像四、将镜像上传到云端并通过连接下载和加载 Docker 镜像五、Docker 容器和本地的文件交互5.1 从容器复制文件到本地宿主机5.1.1 单个文…

【排序算法】之快速排序篇

思想&#xff1a; 分而治之&#xff0c;通过选定某一个元素作为基准值&#xff0c;将序列分为两部分&#xff0c;左边的序列小于基准值&#xff0c;右边的序列大于基准值&#xff0c; 然后再分别将左序列和右序列进行递归排序&#xff0c;直至每部分有序。 性质&#xff1a;这…

Unity中的数学应用 之 角色移动中单位化向量的妙用 (小学难度)

最近准备从简单到困难跟几个教程用以加强自己的业务能力&#xff0c;相信很多小伙伴都做过胡闹厨房这一个案例&#xff0c;其实这个案例比较初级&#xff0c;但是也包含了很多平常可能注意不到小细节&#xff0c;所以我就以它为举例&#xff0c;拓展其中的数学知识 CodeMonkey教…

远程视频验证如何改变商业安全

如今&#xff0c;商业企业面临着无数的安全挑战。尽管企业的形态和规模各不相同——从餐厅、店面和办公楼到工业地产和购物中心——但诸如入室盗窃、盗窃、破坏和人身攻击等威胁让安全主管时刻保持警惕。 虽然传统的监控摄像头网络帮助组织扩大了其态势感知能力&#xff0c;但…

简释下oracle的set define的使用场景

我们在使用oracle的时候&#xff0c;有些菜单表存在url字段&#xff0c;url字段中存在这&字符。但我们通过sql语句进行插入表记录的时候&#xff0c;数据库会提示要我们输入变量值。这个时候有些人难免会不知所措&#xff0c;今天告诉大家一个非常简单的办法解决。 一、问…