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推理的环境配置 的相关文章

  • 有没有办法使用 win API 获取 HRESULT 值的字符串表示形式?

    win API 中是否有函数可用于提取 HRESULT 值的字符串表示形式 问题是 MSDN 中并未记录所有返回值 例如执行默认应用程序域 http msdn microsoft com en us library ms164411 asp
  • 将音频从 PC 传输到智能手机?

    2016 年圣诞节 我和我爸爸想用灯光和灯光为我们的社区举办一场灯光秀music We have the lights set up but the music is a problem We don t want to put huge
  • 在 Docker 中启动 tomcat 时无法在端口 8080 上打开网页

    在我的本地计算机 Windows 10 64 位 上 我启动 docker Toolbox 然后我拉取 Tomcat 映像并运行它 如下所示 docker run it tomcat 就跑成功了 31 Dec 2019 17 54 27 5
  • 使用 Python 将 Excel 中的图表导出为图像

    我一直在尝试将 Excel 中的图表导出为 Python 中的图像文件 JPG 或 ING 我正在查看 WIn32com 这是我到目前为止所拥有的 import win32com client as win32 excel win32 ge
  • C++串口问题

    我在 Visual Studio 上使用 C 连接到任何串行端口 想要与 Arduino 交换 时遇到问题 我正在使用串行类 http www arduino cc playground Interfacing CPPWindows在 Ar
  • 获取已创建进程的进程句柄 Windows

    我需要获取运行程序时刚刚创建的所有进程的句柄或 PID 到目前为止 我已经使用了这段代码 每次创建进程时都会告诉我 问题是我只获取有关创建的进程的信息 但没有有关进程本身的任何信息 https msdn microsoft com en u
  • 如何在 NERDTree 中显示隐藏文件(以句点开头)?

    我怎样才能使NERDTree https github com scrooloose nerdtree显示以 a 开头的文件 时期 我有一个名为 hgignore在项目目录中 如果我使用 NERDTree 浏览到该目录 该文件不会显示在树中
  • Python 可执行文件:py2exe 还是 PyInstaller?

    要创建可执行文件 Windows 我假设我们应该使用其中之一 Py2exe 或 PyInstaller 它们之间有什么区别 Py2exe 和 PyInstaller 都是包装器 但我注意到以下几点差异 Py2exe 与 python2 4
  • NtDll 真的导出 C 运行时函数吗?我可以在我的应用程序中使用这些函数吗?

    我在查看 Windows 10 计算机上的 NtDll 导出表 发现它导出标准 C 运行时函数 例如memcpy sprintf strlen etc 这是否意味着我可以在运行时动态调用它们LoadLibrary and GetProcAd
  • 批处理文件 FOR /f 标记

    任何人都可以逐行准确解释以下代码是如何工作的 我真的迷路了 我一直在尝试学习如何使用 FOR 命令 但我不明白这一点 echo off for f tokens delims f in myfile do set line f call p
  • 导入错误:无法导入名称线程

    这是我第一次学习Python 我继续尝试线程这篇博文 http www saltycrane com blog 2008 09 simplistic python thread example 问题是它似乎已经过时了 import time
  • 代码退出-1073741515 (0xc0000135)“未找到依赖的 dll”

    我正在尝试编写一个简单的程序 与 2019 年相比 Windows 10 64 位 调试 gt x64 遵循 将 Visual C 项目配置为面向 64 位平台 1 include
  • 更改desktop.ini不会在Windows中自动更新文件夹图标

    我使用此批处理脚本将所有文件夹和子文件夹的图标更改为位于文件夹中的 ico 文件 但是 资源管理器中的文件夹图标不会改变除非我手动重命名desktop ini将资源管理器中的文件更改为其他内容 然后返回desktop ini或者例如将字母更
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • 如何使用命令行压缩文件?

    我想使用批处理文件命令 Windows XP 批处理文件 压缩目录 例如 如果我想解压缩一个文件意味着我可以使用jar xf file zip java bat 文件命令 就像我想要一个命令行批处理来压缩目录一样 如果您使用的是 Ubunt
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • 网络地址和广播地址

    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 这一步如果使