CenterNet复现错误总结

简介: CenterNet复现遇到的一些问题总结

这里记录一下复现的流程和遇到的问题:

1 下载项目源码

作者实现的:https://github.com/xingyizhou/CenterNet

2 编译nms

cd CenterNet\src\lib\external
python setup.py build_ext --inplace

2.1 问题1

问题描述

cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”

解决办法

如果编译有问题的话,需要注释setup.py里面的这句代码

extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]

2.2 问题2

问题描述

D:\anaconda3\include\pyconfig.h(59): fatal error C1083: 无法打开包括文件: “io.h”: No such file or directory

解决办法

安装windows sdk

3 编译DCN2项目

首先更新DCN2项目

  1. 删除原先的
cd CenterNet\src\lib\models\networks
rm -rf DCNv2
  1. clone新的
git clone https://github.com/CharlesShang/DCNv2
cd DCNv2

修改DCNv2源码

  1. 找到DCNv2/src/cuda/dcn_v2_cuda.cu并打开
  2. THCState *state = at::globalContext().lazyInitCUDA();前添加# extern THCState *state;

# extern THCState *state;
THCState *state = at::globalContext().lazyInitCUDA();

开始编译

python setup.py build develop

3.1 问题1

git网络问题导致clone失败,我多试了几次就成功了

3.2 问题2

问题描述

subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1

原因

这个错误的出现主要是因为pytorch版本大于1.5

解决办法

  1. pytorch版本降低到1.5一下(没试过)
  2. 将DCNv2中的setup.py中的cmdclass={'build_ext': BuildExtension}这一行改为cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension.with_options(use_ninja=False)}(pytorch默认使用ninjia作为backend,这里把它禁用掉就好了)
相关文章
|
3月前
|
机器学习/深度学习 机器人 数据库
FoundationPose复现及Realsense应用
文章概述了FoundationPose项目,一个由Nvidia开发的用于新对象6D姿态估计和跟踪的统一模型,支持模型基础和无模型设置,通过合成数据和大型语言模型实现强泛化能力,并提供了复现和应用的详细步骤。
217 0
FoundationPose复现及Realsense应用
|
6月前
|
数据挖掘 计算机视觉
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
485 1
|
6月前
|
机器学习/深度学习 算法
LSTM时间序列预测中的一个常见错误以及如何修正
在使用LSTM进行时间序列预测时,常见错误是混淆回归和预测问题。LSTM需将时间序列转化为回归问题,通常使用窗口或多步方法。然而,窗口方法中,模型在预测未来值时依赖已知的未来值,导致误差累积。为解决此问题,应采用迭代预测和替换输入值的方法,或者在多步骤方法中选择合适的样本数量和训练大小以保持时间结构。编码器/解码器模型能更好地处理时间数据。
307 1
|
5月前
|
机器学习/深度学习 算法 Python
YOLOV5应用实战项目:钢材表面缺陷检测(数据集:NEU-CLS)笔记
YOLOV5应用实战项目:钢材表面缺陷检测(数据集:NEU-CLS)笔记
|
6月前
时间序列分析实战(十一):ECM误差修正模型
时间序列分析实战(十一):ECM误差修正模型
|
6月前
|
算法
基于蒙特卡洛模拟复现谢林模型(计算机社会学)
在谢林模型中,有一片方形区域,区域又被均匀分成若干小方格;有一群被称为代理的个体,每个代理居住在一个小方格内。这些代理可以分成若干类,所有代理都希望周边8个格子尽可能住有较多的同类代理,若居住区域不满足代理的居住要求,则该代理会搬到另一区域居住。
|
6月前
|
机器学习/深度学习 并行计算 算法
十分钟带你复现YOLOv8
十分钟带你复现YOLOv8
523 0
|
程序员 测试技术 数据库
如何复现难以复现的缺陷
重现缺陷很容易陷入盲目的尝试,直到测试人员感到疲倦而放弃,也没有多少进展。提出错误猜测使得测试有明确的目标,在它的指引下测试人员可以自由发挥,而不会迷失方向。整个过程的特征是设定明确的目标、用实验去获得信息、根据新信息建立新目标。
172 0
|
机器学习/深度学习 传感器 自动驾驶
FCOS升级 | FCOS在3D检测中应该如何使用呢?FCOS3D就是最好的验证(一)
FCOS升级 | FCOS在3D检测中应该如何使用呢?FCOS3D就是最好的验证(一)
295 0
|
计算机视觉
FCOS升级 | FCOS在3D检测中应该如何使用呢?FCOS3D就是最好的验证(二)
FCOS升级 | FCOS在3D检测中应该如何使用呢?FCOS3D就是最好的验证(二)
460 0