linux终端CenterNet 的环境搭建

深渊向深渊呼唤

linux终端CenterNet 的环境搭建

0、确定搭建环境 一、创建python3.6的环境 创建conda环境 安装pytorch-0.4.1 二、安装cocoapi 三、克隆centernet的github仓库 四、安装必要的库 五、编译可变性卷积库DCNv2 六、运行demo.py 七、demo运行

0、确定搭建环境

首先确定你的环境为windows或linux,不同的环境下搭建步骤略有不同,不过嘛,当然是linux下搭建比较方便了,因为原作者的环境就是linux下。
好的,那么下面请跟我一起在linux下一步步搭建centernet环境吧!

一、创建python3.6的环境

建议在anaconda下重新创建一个新的python3.6的环境,用于centernet搭建,不然你后面会发现…我的个亲娘啊!

创建conda环境

conda create --name CenterNet python=3.6 创建环境,将name改为你自定义的名字

安装pytorch-0.4.1

必须安装0.4.1版本,否则会发生意想不到的错误。
torch.vision0.1.6
pytorch
0.4.1下载命令:conda install pytorch=0.4.1 torchvision -c pytorch
安装完成后最好检查一下torchvision版本,或直接在运行一下:conda install torchvision==0.1.6

二、安装cocoapi

参照以下命令:

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

将其中path to clone cocoapi定义为自己的路径

三、克隆centernet的github仓库

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

注意!
这里请用在命令行克隆项目,若直接在gihub上下载下来,会导致缺失.git文件夹,而后续操作若没有此文件夹,将会导致错误!且难以发现!

四、安装必要的库

进入到克隆的centernet文件夹根目录,然后:

pip install -r requirements.txt

快速安装所需要的必要的库

五、编译可变性卷积库DCNv2

cd $CenterNet_ROOT/src/lib/models/networks/DCNv2
./make.sh

请注意
此处,若不是使用git命令克隆的仓库,会导致一系列问题,以后补充。

若不是使用git命令克隆的仓库,会导致缺少.git文件夹,而在编译DCNv2时,有时会出错,需要调用git checkout命令,但无法找到.git文件夹。

六、运行demo.py

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

将其中的…/images/24274813513_0cfd2ce6d0_k.jpg修改为你自己的图片路径。
如果没有问题,在终端运行时,不出意外,你将会得到以下错误:
[ERROR] X server – no display in range is available
这是由于linux终端没有图形界面,而demo会调用cv2.imwrite(),需要修改
src/lib/detectors/cdet.py

    def show_results(self, debugger, image, results):  
        debugger.add_img(image, img_)
        for j in range(1, self.num_classes + 1):
            for bbox in results[j]:
                if bbox[4] > self.opt.vis_thresh:
                    debugger.add_coco_bbox(bbox[:4], j - 1, bbox[4], img_)
        #debugger.show_all_imgs(pause=self.pause)
        debugger.save_all_imgs(path='/home/czb/CenterNet-master/output/', genID=True)

将其中的debugger.show_all_imgs(pause=self.pause)注释掉,不让其显示,而将测试图片保存下来:
debugger.save_all_imgs(path=’/home/czb/CenterNet-master/output/’, genID=True)
路径修改为你自己的。

七、demo运行

至此,demo.py可以成功运行。
linux终端CenterNet 的环境搭建
linux终端CenterNet 的环境搭建

栏目