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

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1