windows下使用cpu进行mmsegmentation推理的环境配置

2023-11-18

背景介绍:

        需要将之前在ubuntu系统基于GPU训练的模型,复制到windows系统下用cpu进行测试推理。

步骤如下:

1. 创建anconda虚拟环境

2. 使用conda安装pytorch-cpu以及对应的torchvision。这一步如果使用pip安装虽然快,但是后面会遇到提示缺少ninja,无法编译mmcv的问题。

3. 这一步最重要,检查是否在环境中配置了cl.exe的路径,并在cmd中输入cl,检查输出如下图所示。即使得到了这个输出如果在第4步仍然出现编译失败,多半都是因为这一步的问题。最直接的办法就是使用Visual Studio官方版本再安装或者修改一遍。

添加path:如我就是安装在D盘,所以我的路径是

D:\Equipment\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64

一般来说默认路径会在C盘

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64

 

4. 参考Build MMCV from source — mmcv 1.3.14 documentation 进行mmcv的安装:

注意事项:1> 由于我是之前在ubuntu上已经训练过mmsegmentation,因此我想要尽可能少的改动的情况下把模型迁移过来,所以我是直接复制我之前的已有的mmsegmentation代码,使用的版本是0.11.0,所以我需要下载的mmcv-full的版本应该是介于1.1.4和1.3.0之间的。最新的版本如果直接下载会导致不匹配报错提示。

我们下载mmcv的历史版本,选择相匹配的即可。下载后解压到本地,比如我的文件夹名为mmcv-1.2.7。Tags · open-mmlab/mmcv · GitHubOpenMMLab Computer Vision Foundation. Contribute to open-mmlab/mmcv development by creating an account on GitHub.https://github.com/open-mmlab/mmcv/tags?after=v1.3.5

从cmd进入到文件夹目录,并进入到我们新建的虚拟环境中,

(base) PS C:\> cd D:\code\python\cpu\mmcv-1.2.7
(base) PS D:\code\python\cpu\mmcv-1.2.7> conda activate pytorch-cpu
(pytorch-cpu) PS D:\code\python\cpu\mmcv-1.2.7>

 参考选项2进行安装

也就是:a. 需要在系统环境变量中配置如下

 b. 运行 python setup.py build_ext 。这一步很重要,如果输出中出现错误,则根据提示进行修改检查,如果是关于cl.exe编译的问题的则参考第三步的操作。直到编译输出正常即可。

(pytorch-cpu) PS D:\code\python\fuwu1\yuyi\cpu\mmcv-1.2.7> python setup.py build_ext

c. 执行剩下两个命令

# install
python setup.py develop
# check 检查是否成功,若成功则列表中会有mmcv-full
pip list

5. 切换到mmsegmentation路径

情况1:如果是之前未下载过mmsegmentation,执行以下。

git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -e . 

情况2:也就是我这种,之前下载过,只用把自己的代码复制到某个位置,然后执行即可

cd mmsegmentation

pip install -e .

至此所有的环境配置就完成了。

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

windows下使用cpu进行mmsegmentation推理的环境配置 的相关文章

随机推荐

  • 网络地址和广播地址

    1 总述 IP地址使用32位二进数表示 每一个主机或路由器的接口都有全局唯一的IP地址 NAT是个例外 它由网络号 NetID 和主机号 HostID 组成 它可以分为五类 如下 2 地址划分 1 A类地址 其中A类地址的前8位是网络号 后
  • 【超级无敌详细的韩顺平java笔记】从入门到精通---四种进制介绍

    1 进制介绍 对于整数 有四种表示方式 二进制 0 1 满 2 进 1 以 0b 或 0B 开头 十进制 0 9 满 10 进 1 八进制 0 7 满 8 进 1 以数字 0 开头表示 十六进制 0 9 及 A 10 F 15 满 16 进
  • 【Docker】Docker-compose容器编排的使用

    怒目的在CentOS系统中部署安装Docker compose容器编排服务 使用Docker compose服务构建Python Web镜像和容器 1 安装Docker compose 1 通过实训平台进入到操作系统界面 在 后输入yum
  • Eclipse中配置apache(包括apache下载、环境配置,添加eclipse)

    一开始是项目出现错误 The superclass javax servlet http HttpServlet was not found on the Java Build Path 解决方法 就是添加apache 但是过程有很曲折 还
  • Python注释(多行注释和单行注释)用法详解

    注释 Comments 用来向用户提示或解释某些代码的作用和功能 它可以出现在代码中的任何位置 Python 解释器在执行代码时会忽略注释 不做任何处理 就好像它不存在一样 在调试 Debug 程序的过程中 注释还可以用来临时移除无用的代码
  • 第1194期机器学习日报(2017-12-25)

    机器学习日报 2017 12 25 使用深度学习构建先进推荐系统 近期33篇重要研究概述 机器之心Synced 2017十大突破性技术之增强学习 爱可可 爱生活 半监督学习在图像分类上的基本工作方式 机器之心Synced 为给定任务自动生成
  • OpenCV仿射变换实现——Python代码案例

    OpenCV仿射变换实现 Python代码案例 OpenCV是一个基于Python的开源计算机视觉库 可以帮助我们进行图像处理和计算机视觉方面的研究 其中 仿射变换是一种常见的图像处理方法 可以实现旋转 放大 缩小 平移等功能 本文将介绍如
  • APP渗透 之 脱壳

    前言 随着人们安全意识越来越加强 很多开发者逐渐开始加shell也就是壳 所以脱壳 砸壳还是很有必要会的 1 Frida是什么 Frida是一款易用的跨平Hook 工具 Java 层到 Native 层的 Hook 无所不能 是一种 动态
  • elementui的分页中的页面查看详情后返回当前页

    列表页 methods 改变页数 currentChange val this page currentPage val 缓存当前页码数 sessionStorage setItem currentPage val 调取表格列表接口 thi
  • 获取svg和svg内容的方法

    方法一 使用正则表达式 1 先找到div中包含的所有内容 2 然后用正则表达式匹配svg开头 svg结束的标签 var data window layout canvas html var content window svg html v
  • LeetCode-160. 相交链表

    这是一道真的非常巧妙的题 题解思路如下 如果让他们尾端队齐 那么从后面遍历就会很快找到第一个相交的点 但是逆序很麻烦 于是有一个巧妙的思路诞生了 如果让短的先走完自己的再走长的 长的走完走短的 他俩就会正好对齐 于是 Definition
  • JAVA主流压缩解压工具对比、用法与选取

    一 JAVA主流压缩工具 java util zip 说明 Java标准库提供的压缩与解压功能 包含在java util zip包中 通过ZipInputStream和ZipOutputStream可以实现ZIP格式的压缩与解压缩操作 适用
  • Redis发布订阅和事物笔记

    Redis 发布订阅 Redis 发布订阅 pub sub 是一种消息通信模式 发送者 pub 发送消息 订阅者 sub 接收消息 Redis 客户端可以订阅任意数量的频道 下图展示了频道 channel1 以及订阅这个频道的三个客户端 c
  • 闻达(Wenda):基于Chatglm6b的知识库+大语言模型融合项目

    背景 随着ChatGPT模型的一炮而红 大语言模型已然风靡全球 成为了全世界闪烁的焦点 目前 越来越多的研发人员投入到大语言模型的扩展开发中 闻达 Wenda 便是其中一项重要成果 闻达源于清华大学开源的ChatGLM6b项目 作为少有的在
  • 基于灰色神经网络的订单需求预测代码

    目录 1 概述 2 代码 3 结果 1 概述 BP Back Propagation 神经网络模型是一种信息前向传播 误差反向传播的神经网络模型0 能够通过训练样本反向传播调节网络的阈值和权值 使误差平方最小 BP神经网络是目前应用最广泛的
  • Linux命令学习 - Ntpdate

    Ntpdate 命令简介 安装 网络时间同步命令 修改crontab文件添加或修改定时任务 语法 参数 命令简介 ntpdate 使用网络计时协议 NTP 设置日期和时间 此命令仅应用于 AIX 4 2 或后期版本 通过轮询指定的确定正确时
  • buuctf web [极客大挑战 2019]Upload

    上传头像 上传一下 看看能不能成功 抓包 抓取上传时的数据 看看限制条件 改两个地方 符合上传图片的要求 上传试试 一句话木马的
  • 作为 Java初学者,刚学完JavaSE,有什么可以做的项目吗

    文章目录 一 基于面向对象开发的黑框程序 1 1 开发工具 1 2 至少掌握这些 1 3 推荐做的项目 二 Java SE 桌面窗体小程序 基本可以忽略 三 Java SE 高级应用 四 下节预告 Author Gorit Date 202
  • MybatisPlus使用Left Join...on...一对多多表联查和Ipage分页返回数据问题

    问题 一对多关系表使用MybatisPlus的Ipage进行分页查询 会先执行联表查询sql语句 然后进行分页 像图中联表查询一对多关系 会有多条重复数据 使用Ipage分页会将这10条数据返回到xml中resultMap绑定的type 造
  • windows下使用cpu进行mmsegmentation推理的环境配置

    背景介绍 需要将之前在ubuntu系统基于GPU训练的模型 复制到windows系统下用cpu进行测试推理 步骤如下 1 创建anconda虚拟环境 2 使用conda安装pytorch cpu以及对应的torchvision 这一步如果使