最近我在研究CVPR2020的一篇论文:《Learning in the Frequency Domain》,这篇文章的创新点在于将RGB图像进行DCT变换,然后只用其中一部分通道送入图像分类和目标检测网络,在大大降低网络计算量的情况下,仍能够保持原有的性能。作者提供了源代码,我想复现一下目标检测部分的内容。
DCTNet中的目标检测使用的是mmdetection框架,本文主要介绍的是如何搭建这个环境并成功运行测试代码,包括了我在搭建过程中遇到的报错以及解决方法。
第一步 下载docker镜像
随着容器虚拟化技术的不断发展,使用docker搭建深度学习环境成为了越来越多人的首选。本文也不例外,在现有docker镜像的基础上进行DCTNet的搭建。
首先,我在docker hub上找到了mmdetection的镜像,选择了下载人数最多的vistart/mmdetection,上传者一直在维护这个镜像,经过我多个版本的尝试,选择1.0.0的版本最合适。因此,使用如下的命令下载镜像:
docker pull vistart/mmdetection:v1.0.0
第二步 创建容器
使用以下命令创建容器
docker run --runtime=nvidia --name DCTNet --ipc=host -v /home/project:/home -i -t vistart/mmdetection:v1.0.0 /bin/bash
第三步 安装其他依赖的环境
进入创建好的容器,以下的操作都在这个容器中进行。
DCTNet除了mmdetection之外,还用到了libjpeg-turbo、jpeg2dct、pycocotools、imagecorruptions,本文通过大量实验探索,得到了以下可以成功安装的命令:
<
本文详细介绍了如何配置DCTNet目标检测的环境,包括使用docker下载mmdetection镜像,创建容器,安装依赖如libjpeg-turbo、jpeg2dct等,并解决遇到的报错。在配置过程中,对代码进行了必要的修改,以适应DCTNet的运行需求,最终成功执行了目标检测测试代码。
1179

被折叠的 条评论
为什么被折叠?



