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

视觉前沿算法复现环境配置1——2025CVPR风格迁移网络SaMam

本文记录2025CVPR风格迁移网络——SaMam的环境配置方法。
风格迁移网络的目的是首先学习模板图像的风格样式,然后通过深度学习方法把待转换的图像转换成与模板图像相似的风格样式,这种方法可以考虑用在目标检测等场景中对数据集进行扩增,达到丰富数据集的目的。
它的效果可以直观地通过下面这张图展示出来:
在这里插入图片描述
代码的github官网链接为:https://github.com/Chernobyllight/SaMam?tab=readme-ov-file
官网的环境配置版本中cuda版本太新,不好用,这里记录我的环境配置:

python=3.10.14
pytorch=2.2.2
cuda=12.1
torchvision==0.17.2
causal-conv1d>=1.4.0
其他的没有特别固定版本

在配置环境前,要确认自己的系统cuda版本也是12.1,也就是nvcc --version的输出版本是12.1,否则会报错:

RuntimeError: 
The detected CUDA version (11.8) mismatches the version that was used to compile
PyTorch (12.1). Please make sure to use the same CUDA versions.

下面正式开始配置环境。首先在官网下载好SaMam的代码,进入代码目录。
创建conda虚拟环境:

conda create -n SaMam python=3.10.14 -y

安装torch:

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia

安装causal-conv1d库:

pip install causal-conv1d>=1.4.0

安装mamba-ssm库:

pip install mamba-ssm

这里可能会报两种错,一种是numpy的版本太新,需要回退到2.0.0之前的版本:

pip install numpy==1.26.4

一种可能是因为没有挂梯子,那就需要在一个有梯子的电脑上访问官网下载对应版本的mamba-ssm,比如说对于我的版本,需要选择如下图所示的镜像文件:
在这里插入图片描述
图中,cu12对应cuda12.x版本,torch2.2对应pytorch2.2.x版本,cp310对应python3.10.x版本。
下载下来后把文件上传到SaMam项目文件夹下:
在这里插入图片描述
安装mamba-ssm文件夹:

pip install mamba_ssm-2.2.4+cu12torch2.2cxx11abiTRUE-cp310-cp310-linux_x86_64.whl

安装pytorch_lightning库:

pip install pytorch_lightning

此时通过以下代码运行风格迁移代码:

cd TEST/
python test_image.py --content-dir 待迁移的原图像文件夹路径 \--style-dir 用于迁移的风格模板图像文件夹路径 \--output-dir 迁移后的图像的存储路径 \--model_ckpt 模型文件,在官网下载

模型文件在这里下载:
在这里插入图片描述
如果出现mamba与pytorch版本不对应的报错,那就需要从源码克隆并编译 mamba-ssm:

# 克隆仓库
git clone https://github.com/state-spaces/mamba.git
cd mamba/# 编译mamba-ssm
python setup.py install

这样基本上就没问题了,运行成功的输出如下:
在这里插入图片描述

相关文章:

  • QEMU/KVM “unsupported machine type“ 错误深度解析与修复指南
  • 基于LocalAI与cpolar技术协同的本地化AI模型部署与远程访问方案解析
  • Matlab | matlab常用命令总结
  • 关于 smali:4. Smali 实战:修改行为 / 注入逻辑
  • STM32中自动生成Flash地址的方法
  • 上传、下载功能 巧实现
  • 记录一次 apt-key curl导入失败的处理方式
  • 通过SAE实现企业应用的云上托管
  • Python中while 1和while True有何区别?深入解析无限循环的写法选择
  • C++11 中 final 和 override 从入门到精通
  • 什么时候应该使用 DDD?什么时候不适合?
  • 驶向智能未来:车载 MCP 服务与边缘计算驱动的驾驶数据交互新体验
  • 某寿险公司多分支设备监控实践:如何通过SAAS租用优化成本?
  • leetcode 1061. 按字典序排列最小的等效字符串 中等
  • 【芯片仿真中的X值:隐藏的陷阱与应对之道】
  • PHP 打印扩展开发:从易联云到小鹅通的多驱动集成实践
  • 山东大学深度学习2025年期末考试
  • 测试 FreeSWITCH 的 mod_loopback
  • nodejs里面的http模块介绍和使用
  • 斐波那契数列------矩阵幂法
  • 扁平式网站seo 内链/seo成创网络
  • 企业网站cms模板/中视频自媒体平台注册
  • 北京城乡住房建设厅网站/阿里指数
  • 如何做vip微信电影网站/营销推广工作内容
  • wordpress通过微信投稿/如何推广seo
  • 网站程序授权怎么做/vivo应用商店