深度学习模型试跑(七):SETR(Swin-Transformer-Semantic-Segmentation版)

2023-11-11

一.前言

源码地址: 论文相关源码
本片是基于最近比较红的SwinTransformer下的一个子分支做的,所以这篇主要记录我的搭建流程。
os: win10
cuda: 11.4
GPU: RTX3090(30系列显卡最好用最新的cuda, 不然会在编译mmcv-full的时候报错(例如nvcc fatal : Unsupported gpu architecture ‘compute_86‘)

二.环境搭建

1.安装cuda和对应的cudnn

参考cuda11.4,cudnn8.2.1

2.安装vs2019

参考
因为是自己编译,需要借助vs2019的编译器,从https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16直接下载社区版即可,然后在安装的时候需要注意安装一个工作负荷以提供编译器:

在这里插入图片描述
安装完成后,使用everything搜索系统中是否存在vcvars64.bat文件,如果有的话直接CMD执行call命令初始化,然后输入cl验证是否安装成功:
在这里插入图片描述

3.安装pytorch

    直接去pytorch官网:https://pytorch.org/选择合适版本的pytorch,并在CMD中执行官网提供的pip命令即可

4.安装mmcv 和 mmsegmentation

先激活或者新建你的conda环境,例如我的就叫做open-mmlab,注意在win10上装mmcv会比在linux上复杂,对于已经装了mmcv的环境,建议舍弃或者删除mmcv

pip uninstall mmcv
pip uninstall mmcv-full

然后从源码进行安装:

git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
set MMCV_WITH_OPS=1 
pip install -e .#这一步时间很长

在这里插入图片描述
接着安装mmsegmentation

pip install git+https://github.com/open-mmlab/mmsegmentation.git

5.拷贝MMSegmentation

git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -e .  # 或者"python setup.py develop"

三.测试

在mmsegmentation中新建一个checkpoints文件夹,里面放置从预训练权重仓库下载下来的权重,然后运行下面程序(图片和视频自行准备)

from mmseg.apis import inference_segmentor, init_segmentor
import mmcv

config_file = 'configs/setr/setr_pup_512x512_160k_b16_ade20k.py'
checkpoint_file = 'checkpoints/setr_pup_512x512_160k_b16_ade20k_20210619_191343-7e0ce826.pth'

# build the model from a config file and a checkpoint file
model = init_segmentor(config_file, checkpoint_file, device='cuda:0')

# test a single image and show the results
img = 'demo/test.jpg'  # or img = mmcv.imread(img), which will only load it once
result = inference_segmentor(model, img)
# visualize the results in a new window
model.show_result(img, result, show=True)
# or save the visualization results to image files
# you can change the opacity of the painted segmentation map in (0, 1].
model.show_result(img, result, out_file='result.jpg', opacity=0.5)

# test a video and show the results
video = mmcv.VideoReader('demo/test.mp4')

for i, frame in enumerate(video):
    result = inference_segmentor(model, frame)
    model.show_result(frame, result, out_file='lbq_test/%s.jpg' % str(i), wait_time=0.1)

# for frame in video:
#     result = inference_segmentor(model, frame)
#     model.show_result(frame, result, wait_time=1)

在这里插入图片描述

四.训练

暂时还没训练,最近在过模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习模型试跑(七):SETR(Swin-Transformer-Semantic-Segmentation版) 的相关文章

随机推荐

  • Renesas瑞萨电子提供的RcarH3,第一个SOC从第三代R-Car汽车计算平台的自动驾驶领域时代

    e mail 174176320 qq com 瑞萨电子株式会社 东京证交所 6723 一个英超的先进半导体解决方案供应商 今天宣布推出第三代Rcar 汽车计算平台解决方案的安全驾驶辅助系统和车载信息娱乐系统 芯片上的新的RcarH3系统
  • 【Vue2.0源码学习】虚拟DOM篇-Vue中的DOM-优化更新子节点

    1 前言 在上一篇文章中 我们介绍了当新的VNode与旧的oldVNode都是元素节点并且都包含子节点时 Vue对子节点是 先外层循环newChildren数组 再内层循环oldChildren数组 每循环外层newChildren数组里的
  • PaddleDetection算法分析(14)

    2021SC SDUSC 三 SSD训练过程 源码如下 def vgg cfg i batch norm False 该代码参考vgg官网的代码 layers in channels i for v in cfg 正常的 max pooli
  • Spring——面向切面编程(AOP)

    1 AOP概述 AOP 并不是 Spring 框架的专属名称 它的全称是 Aspect Oriented Programming 意为 面向切面编程 在程序运行某个方法的时候 不修改原始执行代码逻辑 由程序动态地执行某些额外的功能 对原有的
  • stata怎么判断是否存在异常值_如何用SPSS探测及检验异常值

    如何用 SPSS 探测及检验异常值 一 采用数据探索过程探测异常值 SPSS 菜单实现程序为 主菜单 gt Analyze gt Descriptive Statistics gt Explore 选项 gt Statistics 按钮 g
  • Learning Efficient Convolutional Networks through Network Slimming

    该文章是ICCV 2017的一篇模型压缩论文 提出了一个针对BN层的剪枝方法 利用BN层的权重 即缩放系数 来评估输入通道的重要程度 score 然后对score对于阈值的通道进行过滤 之后在连接成剪枝后的网络时 已经过滤的通道的神经元就不
  • Android Studio创建无图标应用 Default Activity not fount

    在Android Studio开发 如果你想创建一个没有没有应用图标的应用 你会发现 修改category修改为default 项目中没有一个Activity是Laucnher的话 没法运行 直接报Default Activity not
  • NLP学习(十二)-NLP实战之LSTM进行文本情感分析-tensorflow2+Python3

    情感分析简介 文本情感分析 Sentiment Analysis 是自然语言处理 NLP 方法中常见的应用 也是一个有趣的基本任务 尤其是以提炼文本情绪内容为目的的分类 它是对带有情感色彩的主观性文本进行分析 处理 归纳和推理的过程 本文将
  • JavaWeb——邮件发送原理及实现

    邮件发送原理及实现 一 邮件发送原理图 张三通过smtp协议连接到Smtp服务器 然后发送一封邮件给网易的邮件服务器 网易分析发现需要去QQ的邮件服务器 通过Smtp协议将邮件转投给QQ的Smtp服务器 QQ将接收到的邮件存储在456789
  • 【动手学习pytorch笔记】37.4 BERT微调数据集

    BERT微调数据集 自然语言推断任务 主要研究 假设 hypothesis 是否可以从前提 premise 中推断出来 其中两者都是文本序列 换言之 自然语言推断决定了一对文本序列之间的逻辑关系 这类关系通常分为三种类型 蕴涵 entail
  • 算法中的双指针思想及常见应用

    算法中的双指针思想及常见应用 最近在刷leetcode 碰到了许多双指针类的题目 题目是根据githubCyC大佬 在这里总结下 所谓双指针 指的是在遍历对象的过程中 不是普通的使用单个指针进行访问 而是使用两个相同方向或者相反方向的指针进
  • mybatis执行自定义SQL语句

    在mybatis中执行自定义SQL语句 本次仍使用spring boot 其中关于引入mybatis和数据库配置不再说明 UserInfoMapper xml 映射文件
  • 404 not found是什么意思

    相信很多人都会遇到404 也有很多人遇到404不知道是什么意思 也不知道怎么解决 下面我们php中文网就为大家全面解答一下404 not found是什么意思 打造全网web前端全栈资料库 总目录 看完学的更快 掌握的更加牢固 你值得拥有
  • Qt窗口间信号发送和槽函数返回值

    新建工程 Qt Widgets Application 类名为Widget 在这个基础上新建Qt设计师界面类 类名Dialog widget ui和dialog ui里分别拉入一个QPushbutton widget ui里再拉入一个QLi
  • Java中NIO,BIO,AIO的原理以及区别

    在今天的面试中 遇到一个复旦大学计算机博士 这确实牛逼一直问Java底层 问的我直冒汗 今天把问道我的分享出来 今天问到了NIO BIO AIO之间的原理和关系 我只知道阻塞和非阻塞之类的 具体的区别不是很清楚 所以查询资料好好复习下他们之
  • 用于分析脉冲类信号的二阶瞬态提取变换研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 文献来源 该文提出一种高分辨率时频分析方法
  • 非线性优化-matlab函数库-optimset

    创建或编辑一个最优化参数选项 句法规则 options optimset param1 value1 param2 value2 设置所有参数及其值 未设置的为默认值 options optimset optimfun 设置与最优化函数有关
  • pikvm系统主要软件包解析备忘

    PI KVM让普通家用PC也有能够像数据中心机房里面的IP KVM一样的功能 详细信息参考官网 PiKVM HandbookOpen and cheap DIY IP KVM on Raspberry Pihttps docs pikvm
  • 架构基础概念

    系统 系统泛指一群有 关联 的个体组成 根据某种 规则 运作 能完成个别元件不能单独完成 的工作群体 子系统 其实子系统也是由一群有关联的个体所组成的系统 多半是更大系统中的一部分 模块 软件模块是一套一致而互相有紧密关联的软件组织 它分别
  • 深度学习模型试跑(七):SETR(Swin-Transformer-Semantic-Segmentation版)

    文章目录 一 前言 二 环境搭建 1 安装cuda和对应的cudnn 2 安装vs2019 3 安装pytorch 4 安装mmcv 和 mmsegmentation 5 拷贝MMSegmentation 三 测试 四 训练 一 前言 源码