ubuntu下配置 centernet

目录

 

1.配置cuda9.0+cudnn7.6.0

1.1下载

1.2  cuda安装

1.3 cudnn配置

1.4 环境变量

2.配置pytorch0.4.1

3.配置centernet

3.1 下载centernet

3.2 下载cocoapi

3.3安装需要依赖库:

3.4.编译DCNv2(可变形卷积)

3.5.编译NMS

4.运行demo.py

4.1 下载模型文件

4.2  解决自动下载模型

4.3 cuda out memory

4.4检测图片保存

4.5批量图片检测


1.配置cuda9.0+cudnn7.6.0

因为我之前已经安装过cuda10.1,这里需要再安装一个cuda9.0,即是配置多版本cuda

参考博客:https://blog.csdn.net/maple2014/article/details/78574275

1.1下载

安装多版本第二次需要下载run格式:

1.2  cuda安装

sudo chmod +x cuda_9.0.176_384.81_linux.run # 为 cuda_9.0.176_384.81_linux.run 添加可执行权限
./cuda_9.0.176_384.81_linux.run # 安装 cuda_9.0.176_384.81_linux.run

点击q退出协议:

具体主要安装选项:(path使用默认,直接enter跳过)

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n # 如果在这之前已经安装好更高版本的显卡驱动就不需要再重复安装,如果需要重复安装就选择 yes,此外还需要关闭图形界面。

Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
 [ default is /usr/local/cuda-9.0 ]: # 一般选择默认即可,也可以选择安装在其他目录,在需要用的时候指向该目录或者使用软连接 link 到 /usr/local/cuda。

/usr/local/cuda-9.0 is not writable.
Do you wish to run the installation with 'sudo'?
(y)es/(n)o: y

Please enter your password: 
Do you want to install a symbolic link at /usr/local/cuda? # 是否将安装目录通过软连接的方式 link 到 /usr/local/cuda,yes or no #都可以,取决于你是否使用 /usr/local/cuda 为默认的 cuda 目录。这里n,主要使用cuda10
(y)es/(n)o/(q)uit: n

Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y

1.3 cudnn配置

解压,拷贝

tar -xvf cudnn-9.0-linux-x64-v7.6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*

1.4 环境变量

之前除指定cuda,cdnn目录外(yolov3),gpu不使用,估计就是这个原因,tensorflow-gpu版本找不到目录

sudo gedit ~/.bashrc #打开
#文件写入
export PATH=/usr/local/cuda/bin:$PATH  #省去版本号
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
#控制台输入使生效
source ~/.bashrc

 同时我也在profile修改

sudo gedit /etc/profile 
#在文件末尾添加
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
#控制台运行,使生效
source /etc/profile

 

2.配置pytorch0.4.1

参照博客:

https://blog.csdn.net/weixin_43509263/article/details/100656035

https://blog.csdn.net/qq_41084756/article/details/101711202

https://blog.csdn.net/m0_37798080/article/details/101196884

https://blog.csdn.net/weixin_42634342/article/details/97756458

conda create --name CenterNet python=3.6
conda activate CenterNet
conda install pytorch=0.4.1 torchvision -c pytorch
#这一步卡住了,原因是指定官方的pytorch下载通道,下到一半就会遇到http错误或read time out。
#解决方案:
#(1)先离线下载好对应的torch=0.4.1的包,点击进入,选择对应的版本下载;#https://blog.csdn.net/weixin_41765699/article/details/99756697
#或者pip install http://download.pytorch.org/whl/cu90/torch-0.4.1-cp36-cp36m-linux_x86_64.whl
#这是个坑
#这一步很重要,后面报错缺少torchvision,再安装会同时安装高版本pytorch,并卸载,所以又整了一通
#(2)在终端运行conda install pytorch=0.4.1 torchvision,完成剩余依赖包的安装;
#或者conda install torchvision==0.1.6

3.配置centernet

3.1 下载centernet

CenterNet_ROOT=/path/to/clone/CenterNet
git clone https://github.com/xingyizhou/CenterNet $CenterNet_ROOT

3.2 下载cocoapi

cd CenterNet
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $cocoapi/PythonAPI
make
python setup.py install --user

或者把faster rcnn拷贝过来放在对应文件也可以

3.3安装需要依赖库:

pip install -r requirements.txt

3.4.编译DCNv2(可变形卷积)

在编译之前,需要对DCNv2文件夹下的make.sh脚本修改,即在该文件最前部添加(参考自此处):

export CUDA_PATH=/usr/local/cuda-9.0/
export CXXFLAGS="-std=c++11"
export CFLAGS="-std=c99"

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export CPATH=/usr/local/cuda-9.0/include${CPATH:+:${CPATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

注意,这里包含cuda的路径都需要修改成自己机器所对应的。
接着运行make.sh编译:
 

cd CenterNet/src/lib/models/networks/DCNv2 #先进入该文件夹

./make.sh

3.5.编译NMS

编译NMS以便多尺度测试或测试ExtremeNet:

cd CenterNet/src/lib/external
make

4.运行demo.py

python demo.py ctdet --demo ../images/16004479832_a748d55f21_k.jpg --load_model ../models/ctdet_coco_dla_2x.pth

4.1 下载模型文件

参照博客https://blog.csdn.net/chaosinorder/article/details/100601705

4.2  解决自动下载模型

4.3 cuda out memory

RuntimeError: CUDA error: out of memory

解决办法:https://blog.csdn.net/weixin_38705903/article/details/101860307

在demo.py里加上如下内容

import torch
torch.backends.cudnn.enabled = False

4.4检测图片保存

4.5批量图片检测

只指定文件夹即可

python demo.py ctdet --demo ../images/ --load_model ../models/ctdet_coco_dla_2x.pth

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值