SETR项目运行记录

news2024/12/23 22:57:59

项目简要介绍

全称为Swin-Transformer-Semantic-Segmentation,看名字我们就知道使用的是transformer,做的是语义分割方面,使用的数据集是Cityscapes。在本文中我们并不对其原理进行解读,只是调试运行该项目。
项目下载地址:

https://github.com/fudan-zvg/SETR

项目采用了mmsegmentation框架,在博主看来不太易于学习与使用。在github上有大佬对其复现,感觉还不错,有需要的小伙伴可以去自行下载,本文还是以初始的代码为例进行调试。

基础配置

首先是按照项目中readme中给出的提示,创建对应环境:

conda create -n open-mmlab python=3.7 #创建conda环境
conda activate open-mmlab#激活环境

conda install pytorch=1.6.0 torchvision cudatoolkit=10.1 -c pytorch#按照pytorch

在执行安装pytorch时由于网络问题出错,再修改了响应时间后也于事无补,因此采用pip的方式。从而能够使用我们的镜像源下载,项目要求使用pytroch1.6,但1.6的版本与我的cuda不符,便选择了pytorch1.8,但在后面发现问题很大,没有合适的mmvc与之对应。因此还是老老实实使用1.6吧,

conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch

如果conda命令不行的话可以使用pip命令

pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

配置环境变量

set PATH=full\path\to\your\cpp\compiler;%PATH%

安装相应包

pip install mmcv

从github上下载文件,这里由于我们使用pycharm便不需要执行了

git clone https://github.com/fudan-zvg/SETR.git
cd SETR
pip install -e .  # or "python setup.py develop"

根据requirements进行安装,里面是cityscapesscripts

pip install -r requirements/optional.txt

mklink /D data %DATA_ROOT%

运行配置

该部分是在我运行过程中出现的问题,可能别人运行时不会出现,因此只需要遇到相同错误时看一下即可。

运行train.py文件报错:上面mmcv安装时没有指定版本,导致mmcv版本不符。

AssertionError: MMCV==1.7.1 is used but incompatible. Please install mmcv>=[1, 1, 2], <=[1, 2, 7].

解决方法,卸载重装:

pip uninstall mmcv

重新安装并指定版本,我们就使用1.2.7好了

pip install mmcv==1.2.7

在这里插入图片描述
运行后再次报错:

ModuleNotFoundError: No module named 'mmcv._ext'

这是在开始安装mmcv-full的时候,没有指定版本,选择直接安装,如下:卸载

pip install mmcv-full

默认安装mmcv-full的方式,如果与环境里的cuda和torch版本不匹配,就容易出现上面报错
重新安装使用下面的命令格式:
其中,{cu_version}、{torch_version}分别对应cuda和torch的版本号

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html

通过查看包可知我们的torch为1.8.1,cuda为11.1
在这里插入图片描述
所以我们的命令为:

pip install mmcv-full==1.2.7 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.1/index.html

这里由于我们上面安装的是mmcv 1.2.4,那么mmcv-full也安装为1.2.7了
在这里插入图片描述
报错信息:

error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”: https://visualstudio.microsoft.com/downloads/ Tools":

失败了,无法创建轮子,并提升不是pip的问题,而是 Microsoft Visual C++ ,即缺少相关的接口导致的问题,这里有解决方法是安装对应版本的VS,这十好几个G不是闹着玩的吧,好在我们找到了其他解决办法,我们只要使用conda命令安装一个包即可:

conda install libpython m2w64-toolchain -c msys2

其实转念一想,VS这种应对大型项目的程序在这里出错,肯定是由于缺失某种环境导致的,而Anconda创建的conda环境可以说是独立的,那么只需要解决这个小环境中的缺失问题不就可以了吗。当然如果电脑空间足够大就直接安装好了,这种方法就是给我这种穷人准备的,呜呜呜,其实这种方法安装的也不少,大概几百M吧,等不用的适合直接连conda环境一块解决了。然而运行完成后再次安装依旧不成功。呜呜呜
难道没有方法了吗,不,既然无法造轮子,那么我们就把轮子给它

https://download.openmmlab.com/mmcv/dist/index.html

现在明白为啥一定要按照pytorch1.6了,mmcv在这里最高支持到pytorch1.8,而且还没有windows的,难怪之前一直报系统错误,先前虽然显示下载成功但实际上是下载的Linux的形式的报,自然也就无法安装了。没办法,只能先将pytorch卸载然后换成1.6了。

在这里插入图片描述

然后找一个有mmvc的1.6版本 ,进行安装

pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

了解了错误的根本我们再次使用命令来安装,记住要所有的都对应好。mmvc版本,cuda版本,pytorch版本

pip install mmcv-full==1.1.5 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html

果然不出所料,成功了,哈哈哈

在这里插入图片描述
随后我们接着运行train.py文件,出现以下问题,这是我们没有给定参数导致的。

usage: train.py [-h] [--work-dir WORK_DIR] [--load-from LOAD_FROM]
                [--resume-from RESUME_FROM] [--no-validate]
                [--gpus GPUS | --gpu-ids GPU_IDS [GPU_IDS ...]] [--seed SEED]
                [--deterministic] [--options OPTIONS [OPTIONS ...]]
                [--launcher {none,pytorch,slurm,mpi}]
                [--local_rank LOCAL_RANK]
                config
train.py: error: the following arguments are required: config

这是需要给定参数,具体给定什么参数还需要我们研究一下。

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

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

相关文章

2023年深圳CPDA数据分析师认证将于2/25正式开班,快来报名

CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证&#xff0c;它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者&#xff0c;具有广泛的社会认知度和权威性。 无论是地方政府引进人才、公务员报考、各大企业选聘人才&#xff0c;还是招投标加…

C++这么难,为什么我们还要学习C++?

文章目录前言1. 为什么难学2. C的意义3. 什么时候该用C4. 如何学习C5. 学前勉言前言 C 可算是一种声名在外的编程语言了。这个名声有好有坏&#xff0c;从好的方面讲&#xff0c;C 性能非常好&#xff0c;哪个编程语言性能好的话&#xff0c;总忍不住要跟 C 来单挑一下&#x…

[架构之路-98]:《软件架构设计:程序员向架构师转型必备》-8-确定关键性需求与决定系统架构的因素

第8章 确定关键性需求是什么决定了软件系统的架构&#xff1f;&#xff01;没有大的争议的是&#xff1a;需求决定了软件系统的架构&#xff01;那么什么样的需求对软件系统的架构影响最大&#xff1f;8.1 众说纷纭——什么决定了架构8.1.1 用例驱动论&#xff1a;功能性需求用…

算法训练营 day30 回溯算法 组合总和 组合总和II 分割回文串

算法训练营 day30 回溯算法 组合总和 组合总和II 分割回文串 组合总和 39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组…

简易三子棋游戏实现

哈喽小伙伴们大家好&#xff0c;我们一起学习三子棋游戏的创建吧。在开始之前我们先来复习一下&#xff0c;函数声明放在头文件中函数定义放在源文件中。那么什么是函数声明和函数定义呢&#xff1f;所谓函数声明就是说明函数的返回参数&#xff0c;函数类型&#xff0c;函数名…

基于PHP的图书管理系统

摘要网络技术给生活带来了十分的便利。所以把图书管理与现在网络相结合。在图书馆发展的整个过程中&#xff0c;图书担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类管理系统程序也在不断改进。本课题所设计的图书管理系统&#xff0c;使用B/S架构&#xff…

C++之this指针

this指针到底是什么&#xff1f;this 实际上是成员函数的一个形参&#xff0c;在调用成员函数时将对象的地址作为实参传递给 this。不过 this 这个形参是隐式的&#xff0c;它并不出现在代码中&#xff0c;而是在编译阶段由编译器默默地将它添加到参数列表中。我们操作一个对象…

Hadoop配置手册1:hadoop环境搭建与测试

Hadoop配置手册1 Date: September 25, 2022 第1章 hadoop环境搭建 1.1 安装Vmware软件 下载地址&#xff1a;https://www.onlinedown.net/soft/45831.htm 运行安装程序&#xff0c;并连续点击下一步安装 输入密钥&#xff0c;启动程序 详细参考&#xff1a;https://blog.csd…

2023年19个数学建模竞赛重磅来袭!!!

更新时间&#xff1a;2022年2月3日 本人的团队全是计算机的研究生&#xff0c;从本科到研究生有丰富的打比赛和数模的经验&#xff0c;有需要指导的&#xff0c;请私信我 相关链接 &#xff08;1&#xff09;【数学建模】2022年整年所有数学建模竞赛时间表 &#xff08;2&a…

再过半小时,你就能理解Kafka的基本原理了

kafka总结一.定义二.基础架构及术语三.工作流程分析3.1发送数据3.2保存数据3.2.1 partition结构3.2.2 message结构3.2.3 存储策略3.2.4 消费数据一.定义 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;可以处理消费者规模的网站中的所有动作流数据&#xff0c;具有…

基于 PyTorch 的目标检测(YOLO实现)

目标检测是一个直到最近才开始逐渐被征服的挑战。解决这个问题对于自动化和自动驾驶来说是至关重要的。对解决办法的追求导致了各种方法的发展。我想要描述一些主要的方法&#xff0c;在过去的21目标检测已经被使用&#xff0c;然后讨论 Yolov3的实现。讨论方法引言虽然深度学习…

windows 7 离线安装vs20219,GraalVM 打包java成可执行程序

环境准备 由于vs2022不支持windows 7 &#xff0c;故用vs2019版。 如果是 win7 系统&#xff0c;在安装下载的依赖项前需要安装 win7 所需要的两个补丁 KB4490628和KB4474419 &#xff0c;下载地址分别为&#xff08;下载后直接安装即可&#xff09;&#xff1a; 参考这篇博客…

vite --- 搭建开发环境

目录 下载安装和初始化VSCode 安装Node.js yarn 使用 pnpm 安装与使用 搭建第一个Vite项目 使用 PNPM创建项目 项目目录解读 下载安装和初始化VSCode 1、访问网站 Visual Studio Code - Code Editing. Redefined 2、选择平台版本 选择符合自己操作系统的安装包下载完毕…

接口测试及接口抓包常用的测试工具有哪些?

目录 接口 接口测试的重要性 常用抓包工具 01、F12 02、Fiddler抓包工具 03、Charles抓包工具 04、Firebug抓包工具 05、httpwatch抓包工具 06、Wireshark抓包工具 07、SmartSniff抓包工具 常用接口测试工具 01、Postman 02、Jmeter 03、RESTClient 04、WireMock…

655. 汽车大甩卖2 etiger.vip 答案

题目描述 有n辆车大甩卖&#xff0c;第i辆车售价a[i]元。有m个人带着现金来申请购买&#xff0c;第i个到现场的人带的现金为b[i]元&#xff0c;只能买价格不超过其现金额的车子。你是大卖场总经理&#xff0c;希望将车和买家尽量多地进行一对一配对&#xff0c;请问最多卖出多…

Qt 开发环境搭建

一、Qt下载与安装 1、qt下载网站https://download.qt.io/ 其中各个目录含义如下&#xff1a; 目录说明snapshots/预览版&#xff0c;最新开发测试的Qt库和开发工具online/在线安装源official_releases/正式发布版&#xff0c;是与开发版相对应的稳定版Qt库和开发工具&#x…

利用哨兵简化实现难度

首先先回顾一下链表的插入和删除&#xff0c;如果需要在一个结点p后边插入一个结点&#xff0c;那么只需要下边两行代码&#xff1a; new_node->next p->next; p->next new_node;但是当往链表插入第一个结点时候&#xff0c;上边的代码就不能用了。需要进行下边的处…

【vue2】vue框架学习前置必备基础知识

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;数组 | 字符串中常用方法、对象解构语法、function |箭头函数this指向、展开运算符、原型…

为了会做题而学习期权合约

基本术语 买入期权&#xff1a;按照固定价格购买特定物品的期权。卖出期权&#xff1a;按照固定价格出售特定物品的期权。执行价格&#xff1a;期权合约中约定的固定价格。到期日&#xff1a;在其后期权不再被执行的日期。欧式期权&#xff1a;期权只能在到期日当日被执行。美…

python带你采集热点事件,让你第一时间掌握全发展

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 开发环境: python 3.8: 解释器 pycharm: 代码编辑器 requests: 发送请求 parsel: 解析数据 jieba pandas stylecloud 实现流程: 一. 思路分析 找到数据来源 network 记录网页数据 请求 二…