当前位置:   article > 正文

新手可直接复现:Duan版本CenterNet在2080Ti上训练自己的数据集——踩坑记录_centernet训练没有top_pool

centernet训练没有top_pool

实验室换了GPU,记录下centernet在新电脑上的配置过程,如果对下面很多不理解先阅读我以前的这篇博客即可初学者复现CornerNet:详细指导零基础在Ubuntu系统运行该代码并完全理解论文思路的教程

直接复现

CenterNet-duan-2080Ti代码
按照 README上面的操作即可

踩坑记录

1. cuda版本问题

/home/psdz/anaconda3/envs/CenterNet/lib/python3.6/site-packages/torch/cuda/__init__.py:114: UserWarning: 
	 Found GPU0 GeForce RTX 2080 Ti which requires CUDA_VERSION >= 9000 for
	 optimal performance and fast startup time, but your PyTorch was compiled
	 with CUDA_VERSION 8000. Please install the correct PyTorch binary
	 using instructions from http://pytorch.org
	 ...
	 ...
	 ...
	   File "/home/psdz/anaconda3/envs/CenterNet/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 301, in forward
self.padding, self.dilation, self.groups)
RuntimeError: CuDNN error: CUDNN_STATUS_MAPPING_ERROR
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这个的原因是因为CUDA版本问题,先确认机器安装好了cuda和cuDNN,要保证:
显卡驱动的cuda版本(10.2)> 机器的运行cuda版本(10.0) > 环境内的cuda-toolkit 版本(9.0)
当然,pytorch版本也很重要,详见下文

安装方法参考这两个:
Ubuntu 18.04上安装cuda
ubuntu 18.04 cuda安装

通过下面指令验证即可

#查看显卡驱动和驱动cuda版本
nvidia-smi 

#查看电脑runtime cuda版本
nvcc -V 
nvcc --version

#查看centernet环境内的,当然自己安装的直接选安装包就行
>>> print(torch.__version__)
0.4.1
>>> print(torch.version.cuda) 
8.0.61
>>> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

那么我们这样就可以保证cuda大于9.0同时小于驱动版本。

多说几句

cat /usr/local/cuda/version.txt
  • 1

也可以查看cuda版本,但是我的电脑显示不一致,肯定是依据nvcc --version为准,原因在这
CUDA版本检测

检查nvcc
which nvcc,发现是/usr/bin/nvcc,而实际上nvcc是应该在/usr/local/cuda/bin/nvcc。
所以,sudo gedit /usr/bin/nvcc,把里面的内容"exec /usr/lib/nvidia-cuda-toolkit/bin/nvcc" 改成"exec /usr/local/cuda/bin/nvcc"
然后继续nvcc --version这次得到10.0
  • 1
  • 2
  • 3
  • 4

2. torch版本问题

Traceback (most recent call last):
  File "train.py", line 5, in <module>
    import torch
ModuleNotFoundError: No module named 'torch'
  • 1
  • 2
  • 3
  • 4

如果直接安装最新版本的pytorch是不匹配的,所以试了多个版本最后1.0的还是能用的,当然cuda版本也是试出来的,我最后的pytorch是pytorch-1.0.0-py3.6_cuda9.0.176_cudnn7.4.1_1,最好用迅雷下载

3. 角池化问题

(centernet) psdz@dj:~/桌面/CenterNet-master$ python train.py CenterNet-52
Traceback (most recent call last):
File "train.py", line 18, in <module>
	from nnet.py_factory import NetworkFactory
  File "/home/psdz/桌面/CenterNet-master/nnet/py_factory.py", line 8, in <module>
    from models.py_utils.data_parallel import DataParallel
  File "/home/psdz/桌面/CenterNet-master/models/py_utils/__init__.py", line 6, in <module>
    from ._cpools import TopPool, BottomPool, LeftPool, RightPool
  File "/home/psdz/桌面/CenterNet-master/models/py_utils/_cpools/__init__.py", line 8, in <module>
    import top_pool, bottom_pool, left_pool, right_pool
ImportError: /home/psdz/.local/lib/python3.6/site-packages/cpools-0.0.0-py3.6-linux-x86_64.egg/top_pool.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at6detail20DynamicCUDAInterface10set_deviceE 	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这个问题其实就是池化编译过程中除了问题,官方解决方案两个

cd <CenterNet dir>/models/py_utils/_cpools/
python setup.py install --user
  • 1
  • 2

把后面的–user去掉,我试过并没有什么用
最后参考这篇博客的思路解决的
装不了 pytorch=0.4.0? ubuntu下 基于 cuda=92 和 pytorch=1.2 配置环境跑通 CornerNet 训练和测试流程 步骤详解(包括GPU限制问题详解)

我简单讲下思路,就是把新版本的CornerNet-Lite里面的CornerNet-Lite/core/models/py_utils/_cpools文件夹复制替换CornerNet源代码下的CornerNet/models/py_utils/_cpools/,然后运行命令进行重新编译
CenterNet-Lite代码

cd <CenterNet dir>/models/py_utils/_cpools/
python setup.py install
  • 1
  • 2

4.更换数据集问题

我们测试自己的数据集需要改动如下几个地方

1. config里面的json文件,用哪个改哪个
	"batch_size": 48,
	 "max_iter": 48000,
    "stepsize": 45000,
    "snapshot": 500,
	chunk_sizes": [6,6,6,6,6,6,6,6],
	"data_dir": "../data"
2. db里面的detection.py文件
   (self._configs["categories"] = 80)
3. model里面的centernet-52.py
	  out_dim = 80
4. test里面的coco.py
      colours = np.random.rand(80,3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

改成啥看个人需求了,实际上就是输出的类别不同

  1. 数据集的位置在github的README上面有些,路径更改json文件即可
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/328135
推荐阅读
相关标签
  

闽ICP备14008679号