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,这里把它禁用掉就好了)
相关文章
|
7月前
|
机器学习/深度学习 存储 算法
【复现】尝试使用numpy对卷积神经网络中各经典结构进行改写复现
【复现】尝试使用numpy对卷积神经网络中各经典结构进行改写复现
110 0
【复现】尝试使用numpy对卷积神经网络中各经典结构进行改写复现
|
7月前
|
计算机视觉
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
140 0
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
|
4月前
|
机器学习/深度学习 机器人 数据库
FoundationPose复现及Realsense应用
文章概述了FoundationPose项目,一个由Nvidia开发的用于新对象6D姿态估计和跟踪的统一模型,支持模型基础和无模型设置,通过合成数据和大型语言模型实现强泛化能力,并提供了复现和应用的详细步骤。
302 0
FoundationPose复现及Realsense应用
|
7月前
|
数据挖掘 计算机视觉
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
538 1
|
7月前
|
机器学习/深度学习 自然语言处理 PyTorch
【传知代码】transformer-论文复现
Transformer模型,革新NLP的里程碑,摒弃CNN/RNN,采用自注意力机制解决长距离依赖问题,加速训练。模型包含编码器和解码器,用位置编码补充序列信息。关键组件包括:嵌入层(位置编码增强词向量)、多头注意力层(捕获不同侧面的上下文)、前馈层(非线性变换)及残差连接和层归一化(提升训练稳定性)。Transformer的创新应用,推动了现代大语言模型的发展。
168 1
【传知代码】transformer-论文复现
|
7月前
|
算法
基于蒙特卡洛模拟复现谢林模型(计算机社会学)
在谢林模型中,有一片方形区域,区域又被均匀分成若干小方格;有一群被称为代理的个体,每个代理居住在一个小方格内。这些代理可以分成若干类,所有代理都希望周边8个格子尽可能住有较多的同类代理,若居住区域不满足代理的居住要求,则该代理会搬到另一区域居住。
|
7月前
|
机器学习/深度学习 并行计算 算法
十分钟带你复现YOLOv8
十分钟带你复现YOLOv8
576 0
|
机器学习/深度学习 编解码 TensorFlow
MobileNetV3架构解析与代码复现
MobileNet模型基于深度可分离卷积,这是一种分解卷积的形式,将标准卷积分解为深度卷积和`1*1`的点卷积。对于MobileNet,深度卷积将单个滤波器应用于每个输入通道,然后,逐点卷积应用`1*1`卷积将输出与深度卷积相结合。
1124 0
MobileNetV3架构解析与代码复现
|
程序员 测试技术 数据库
如何复现难以复现的缺陷
重现缺陷很容易陷入盲目的尝试,直到测试人员感到疲倦而放弃,也没有多少进展。提出错误猜测使得测试有明确的目标,在它的指引下测试人员可以自由发挥,而不会迷失方向。整个过程的特征是设定明确的目标、用实验去获得信息、根据新信息建立新目标。
184 0
|
机器学习/深度学习 人工智能 自然语言处理
图与代码不一致,Transformer论文被发现错误,网友:早该被指出1000次
图与代码不一致,Transformer论文被发现错误,网友:早该被指出1000次
130 0