# CenterNet.pytorch **Repository Path**: qinzhenyi1314/CenterNet.pytorch ## Basic Information - **Project Name**: CenterNet.pytorch - **Description**: 用pytorch复现的CenterNet - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-01-17 - **Last Updated**: 2021-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CenterNet.pytorch #### 介绍 用pytorch复现的CenterNet 1. 自己做的 docker 镜像已安装了 pytorch 以及 CenterNet 的 各种依赖,免除安装环境的痛苦(强烈安利用docker!!!) CenterNet 的源码来源于 https://github.com/xingyizhou/CenterNet 修改参照: 升级成pytorch-1.1.0-cuda10.0 https://github.com/LiuTodd/CenterNet_for_2080ti 和 https://github.com/xingyizhou/CenterNet/issues/7 原始github推荐的实现 https://blog.csdn.net/weixin_42634342/article/details/97756458 和 https://blog.csdn.net/weixin_41765699/article/details/100118353 自己项目需求进行了差异化修改,按照下边的使用说明可直接运行出结果 #### 安装教程 1. 服务器安装docker以及nvidia-docker(服务器上需已安装显卡驱动) 安装docker参照官网 https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1 安装nvidia-docker参照 https://github.com/NVIDIA/nvidia-docker 操作docker参照 http://www.runoob.com/docker/docker-command-manual.html 2. 下载docker镜像 由于显卡是2080Ti所以做的镜像是pytorch-1.1.0-cuda10.0,相关代码已经差异化改动 docker pull qinzhenyi1314/centernet:pytorch1.1.0-cuda10.0-vnc-pycharm 3. 下载本项目代码 git clone https://gitee.com/qinzhenyi1314/CenterNet.pytorch.git #### 使用说明 1. 运行镜像 docker run -it --rm --shm-size=25600m \ -p 5977:5977 \ -v /data/deeplearning:/data/deeplearning \ -w /data/deeplearning \ --gpus all \ qinzhenyi1314/centernet:pytorch1.1.0-cuda10.0-vnc-pycharm 说明: --shm-size=25600m 是因为pytorch使用共享内存在进程之间共享数据所以这个必须设置 这个得视服务器配置 自己本身服务器32g 自己初步设置了25g,这个大点代码里的num_workers就可以大点,可以提升训练速度 -v 是将服务器路径挂载到容器 /data/deeplearning 中 第一个是服务器自己代码存放路径 第二个是容器内的路径 -p 5977 是将服务器端口和镜像端口进行映射 该镜像默认是 5977 2. 打开docker内的VNC桌面并远程连接 window上打开VNC客户端 在VNCServer处输入 192.168.5.180:5977 前边192.168.5.180要改成自己的IP 密码输入 zhenyi 即可登录,现在就有桌面啦~~ 分享一个自己给出的免安装的VNCServer 链接:https://pan.baidu.com/s/1PLaUuy5mMY6npiWkbMk53g 提取码:9fyz 3. 容器内打开pycharm 到 /home/work/pycharm-community-2019.1.1/bin/ 下运行 bash pycharm.sh 即可打开pycharm,项目直接提供了pycharm的工程,直接选择打开就好~ A.仅运行demo测试环境 4. 下载预训练模型 模型文件下载要Google drive,这是参考链接里面的百度网盘地址 链接:https://pan.baidu.com/s/1QOmIwy8lXJBuLv5hH5j3ag 提取码:vwk4 将 ctdet_coco_dla_2x.pth 放到 models文件夹下 5. 运行demo 用 pytorch 工程(该工程已经添加了运行参数) 运行 test.py 运行后会弹出结果图片,不要用鼠标关闭这张图片,而是按键盘除了 ESC 以外任意键就可以继续运行了。 B.原始coco数据集测试训练 6. 数据集准备 原始coco数据集 http://cocodataset.org/#download 放置方式 ~~~ CenterNet_ROOT=/data/deeplearning/CenterNet.pytorch/CenterNet.pytorch #视自己环境而定 ${CenterNet_ROOT} |-- data `-- |-- coco `-- |-- annotations | |-- instances_train2017.json | |-- instances_val2017.json | |-- person_keypoints_train2017.json | |-- person_keypoints_val2017.json | |-- image_info_test-dev2017.json |---train2017 |---val2017 |---test2017 ~~~ 7. 运行训练 由于代码里是用bar显示运行进度,所以pycharm下不会显示进度,所以在终端运行 python main.py ctdet --exp_id coco_dla --batch_size 32 --num_workers 18 --master_batch 1 --lr 1.25e-4 --gpus 0,1,2,3 要是显卡性能差可以适当减少 batch_size 要是cpu性能差可以适当减少 num_workers 跑了一个epoch就会存一个model_last.pth 8. 查看训练结果 python test.py --exp_id coco_dla --not_prefetch_test ctdet --load_model ../exp/ctdet/coco_dla/model_best.pth C.自己数据集训练