windows下pytorch版faster rcnn代码使用

2024-05-06 03:58

本文主要是介绍windows下pytorch版faster rcnn代码使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

faster rcnn_pytorch代码使用

使用jwyang的代码,但是原github上是linux环境下的。这里尝试windows下的使用。

compile modules问题调试

安装步骤中

  1. Compile modules(nms, roi_pooling, and roi_align(from facebookresearch/maskrcnn-benchmark)):
cd pytorch-faster-rcnn/lib
python setup.py build develop
cd ../

出现的问题和解决方式如下:

1.unsupported Microsoft Visual Studio version

Error C1189 #error: – unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!

参考web

With some debugging, I found that on line 131 of file host_config.h in directory “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\crt” only supports a max _MSC_VER of 1910. Since Visual Studio 2017 is reporting version 1911, I changed the line to:

#if _MSC_VER < 1600 || _MSC_VER > 1911

And now the new project will build and run.

2.windows查看cuda和cudnn版本

CUDA:powershell输入nvcc -V

CUDNN:cudnn.h中MAJOR和MINOR

3.error: no instance of function template “THCCeilDiv” matches the argument list

error: no instance of overloaded function “std::min” matches the argument list

参考issue254和danpe1327

在出现错误的代码中修改为

  • define a function ceil_div which is
int ceil_div(int a, int b):return (a + b - 1) / b;
  • replace the long with int
dim3 grid(std::min(ceil_div((int)grad.numel(), 512), 4096));

注意danpe1327仅作参考修改ROIPool_cuda.cu和ROIAlign_cuda.cu,不需要按照其中内容修改setup.py。

4.error: could not create ‘maskrcnn_benchmark_C.cp36-win_amd64.pyd’: No such file or directory

如果修改了setup.py,就会出现这个问题。

Install the Python COCO API.

Install the Python COCO API. The code requires the API to access COCO dataset.

cd data
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..

window时中安装cocoapi使用以下命令:

pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

参考win_cocoapi

问题:ModuleNotFoundError: No module named ‘pycocotools._mask’

If you get this error, it is because the COCO library you are calling is NOT our version of the library. Instead, you are (inadvertently) referencing a local copy of the library. So, if you get this error, search the tree of import in your code for a reference to a local pycocotools library. Then, move or delete the local version.

当调试trainval.py时,模块调用不出现error说明以上配置完成。

训练

将预训练模型放置在/data/pretrained_model上;

将数据文件放置在/data中,如VOC数据集放置目录如下:

|-data
|   |-VOCdevkit2007
|           |-VOC2007
|                |-Annotations
|                |-ImageSets
|                |-JPEGImages
|                |-SegmentationClass
|                |-SegmentationObject

点击训练即可。


未完待续

这篇关于windows下pytorch版faster rcnn代码使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963384

相关文章

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

mybatis-plus分表实现案例(附示例代码)

《mybatis-plus分表实现案例(附示例代码)》MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,:本文主要介绍my... 目录文档说明数据库水平分表思路1. 为什么要水平分表2. 核心设计要点3.基于数据库水平分表注意事项示例

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA