论文地址:https://arxiv.org/pdf/2103.05950.pdf
代码地址:https://github.com/megvii-research/FSCE
论文阅读:https://blog.csdn.net/qiankendeNMY/article/details/128390284

我的配置:
Python :3.8(ubuntu18.04)
Pytorch :1.6.0
Cuda :10.1
GPU:RTX 2080 Ti(11GB) * 2

1、依赖安装

requirements.txt文件下载:https://github.com/ucbdrive/few-shot-object-detection

pip install -r requirements.txt

2、 安装pycocoapi

pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

3、安装fvcore库

pip install 'git+https://github.com/facebookresearch/fvcore'

报错:

解决参考:
https://blog.csdn.net/weixin_45355608/article/details/116528406

4、Build

python setup.py build develop

4.1、报错1

解决:
(1)修改 ./fedet/model_zoo下configs文件的内容,改成configs文件夹所在的路径

(2)执行以下命令,创建软链接

ln -sf 【configs文件夹所在的路径】 ./fsdet/model_zoo

例如:

ln -sf /root/autodl-tmp/configs ./fsdet/model_zoo

4.2、报错2


解决:
降低pytorch的版本,原来我的pytorch版本是1.6,降低到了1.4就可以正常运行了:
https://github.com/megvii-research/FSCE/issues/19

build成功

5、下载VOC数据集

cd datasets
wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-2012.tar
tar xf VOCtrainval_06-Nov-2007.tar
tar xf VOCtest_06-Nov-2007.tar

6、训练基础检测器

python tools/train_net.py --num-gpus 2 --config-file configs/PASCAL_VOC/base-training/R101_FPN_base_training_split1.yml

6.1、报错1

解决:
手动下载pkl文件:
https://dl.fbaipublicfiles.com/detectron2/ImageNetPretrained/MSRA/R-101.pkl
然后,修改yml.py中pkl文件的路径,改为pkl文件在本机上的存储路径,例如: /path/to/ImageNetPretrained/MSRA/R-101.pkl.

6.2、报错2

Traceback (most recent call last):File "/root/miniconda3/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 20, in _wrapfn(i, *args)File "/root/autodl-tmp/fsdet/engine/launch.py", line 84, in _distributed_workermain_func(*args)File "/root/autodl-tmp/tools/train_net.py", line 116, in mainreturn trainer.train()File "/root/autodl-tmp/fsdet/engine/defaults.py", line 397, in trainsuper().train(self.start_iter, self.max_iter)File "/root/autodl-tmp/fsdet/engine/train_loop.py", line 132, in trainself.run_step()File "/root/autodl-tmp/fsdet/engine/train_loop.py", line 212, in run_steploss_dict = self.model(data)File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 550, in __call__result = self.forward(*input, **kwargs)File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/parallel/distributed.py", line 458, in forwardoutput = self.module(*inputs[0], **kwargs[0])File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 550, in __call__result = self.forward(*input, **kwargs)File "/root/autodl-tmp/fsdet/modeling/meta_arch/rcnn.py", line 166, in forward_, detector_losses = self.roi_heads(images, features, proposals, gt_instances)File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 550, in __call__result = self.forward(*input, **kwargs)File "/root/autodl-tmp/fsdet/modeling/roi_heads/roi_heads.py", line 443, in forwardlosses = self._forward_box(features_list, proposals)  # get losses from fast_rcnn.py::FastRCNNOutputsFile "/root/autodl-tmp/fsdet/modeling/roi_heads/roi_heads.py", line 464, in _forward_boxbox_features = self.box_pooler(features, [x.proposal_boxes for x in proposals])  # [None, 256, POOLER_RESOLU, POOLER_RESOLU]File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 550, in __call__result = self.forward(*input, **kwargs)File "/root/autodl-tmp/fsdet/modeling/poolers.py", line 233, in forwardoutput[inds] = pooler(x_level, pooler_fmt_boxes_level)File "/root/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 550, in __call__result = self.forward(*input, **kwargs)File "/root/autodl-tmp/fsdet/layers/roi_align.py", line 93, in forwardreturn roi_align(File "/root/autodl-tmp/fsdet/layers/roi_align.py", line 19, in forwardoutput = _C.roi_align_forward(
RuntimeError: Not compiled with GPU support

这个问题死活解决不了,删了所有环境重新配置之后就没有再出现这个问题了。但是花了不少时间,希望有大佬看到的话能够提出解决方案。

基础训练完成:

7、随机初始化新类别的权重

python tools/ckpt_surgery.py --src1 checkpoints/voc/faster_rcnn/faster_rcnn_R_101_FPN_base1/model_final.pth --method randinit --save-dir checkpoints/voc/faster_rcnn/faster_rcnn_R_101_FPN_all1

8、数据集split

方法一:

python datasets/prepare_voc_few_shot.py --seeds 1 30

方法二:直接选择下载作者提供的网页数据集

wget -r -R index.html http://dl.yf.io/fs-det/datasets

将下载好的VOC数据集存放在datasets文件夹中的vocsplit文件夹下:

注:

9、微调

修改模型的权重路径为model_resnet_surgery.pth文件的保存路径:

python tools/train_net.py --num-gpus 2 \--config-file configs/PASCAL_VOC/split1/10shot_CL_IoU.yml

微调结束:

10、评估

python tools/test_net.py --num-gpus 2 \--config-file configs/PASCAL_VOC/split1/10shot_CL_IoU.yml \--eval-only

报错:

解决:
参考:https://github.com/megvii-research/FSCE/issues/9

评估结束:

如有错误,欢迎指正!

【代码调试】《FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding》相关推荐

  1. 《Look at Boundary: A Boundary-Aware Face Alignment Algorithm 》阅读笔记

    文章目录 摘要 1.前言 2. 相关工作 3. 边界感知人脸对齐算法 3.1 边界感知 landmark 回归器 3.2 边界热力图估计 3.3 边界有效性评估器 3.4 跨数据集人脸对齐 扩展知识 ...

  2. 《Look at Boundary: A Boundary-Aware Face Alignment Algorithm》代码调试

    文章目录 1. 在 pycharm 中打开项目 1. 在 pycharm 中打开项目 项目打开后,设置 system interpreter,编译器设置好后,会自动检索你调用的包,并提示你需要 imp ...

  3. http 协议上传文件multipart form-data boundary 说明--转载

    原文地址:http://xixinfei.iteye.com/blog/2002017 含义 ENCTYPE="multipart/form-data" 说明:  通过 http ...

  4. Dense Label Encoding for Boundary Discontinuity Free Rotation Detection

    Dense Label Encoding for Boundary Discontinuity Free Rotation Detection 原文链接 代码链接 文章目录 Author Abstra ...

  5. 人脸对齐算法调研(Face Alignment)

    人脸对齐算法调研(Face Alignment) 转载自 https://zhuanlan.zhihu.com/p/101250334 一.人脸对齐的定义与作用(引用): https://blog.c ...

  6. Data alignment

    C语言,在对一个 struct variable使用 sizeof  operator(操作符)的时候,往往得到的结果并不是我们想象中--struct内所有member的size之和. 当清楚了什么是 ...

  7. 人脸对齐--One Millisecond Face Alignment with an Ensemble of Regression Trees

    One Millisecond Face Alignment with an Ensemble of Regression Trees CVPR2014 http://www.csc.kth.se/~ ...

  8. 人脸检测对齐--Joint Cascade Face Detection and Alignment

    Joint Cascade Face Detection and Alignment ECCV2014 https://github.com/kensun0/Joint_Cascade_Face_De ...

  9. CVPR 2018 paper list(论文列表)

    原文链接:http://cvpr2018.thecvf.com/program/main_conference 52 Embodied Question Answering Abhishek Das ...

  10. linux链接器脚本,vmlinux-lds 连接器脚本

    vmlinux-lds 连接器脚本 /* * Automatically generated C config: don't edit * Linux/arm 3.0.15 Kernel Config ...

最新文章

  1. 【Paper】31_[18]On a Dynamic Extension of the Theory of Graphs
  2. Android+NDK+OpenGLES开发环境配置
  3. 全球及中国乳酸异辛酯行业发展趋势及投资前景规划报告2022-2027年
  4. 接口使用jwt返回token_JWT实现token验证
  5. HDU - 3333 Turing Tree(线段树+离线处理)
  6. Alpine Linux详解
  7. 原创电子书:C#难点逐个击破
  8. vba 保存word里面的图片_笔记7 【office精华课】一套课程学会Word+Excel+PPT(一)【Word】(2020年第37周 周五)...
  9. java启动RabbitMQ消息报异常解决办法
  10. 卷积神经网络 第三周作业:Residual+Networks+-+v1
  11. 自适应短视频源码php下载,php在线短视频解析下载API源码
  12. WPS自动生成目录。
  13. Navicat注释乱码
  14. 用Excel或WPS做两独立样本的T检验
  15. java mysql连接池配置_Java数据库连接池的几种配置方法(以MySQL数据库为例)
  16. 使用字符映射完成简单的对称加密
  17. c语言中scanf(“%d %d\n“)的问题
  18. php八字喜用神实现博客,八字喜用神测算方法
  19. 旺季选品逻辑:用数据思维找到潜力爆款
  20. ajax的leiku,AJAX实现汉字和拼音搜索自动提示的效果(asp.net)

热门文章

  1. 小红书2020校招前端笔试题卷一
  2. [算法系列] 深入递归本质+经典例题解析——如何逐步生成, 以此类推,步步为营
  3. 【文献阅读】Expanding the mutation and phenotype spectrum of MYH3-associated skeletal disorders
  4. 微信小程序使用第三方库(第三方js)问题
  5. 服务器地址 端口 协议 密码,服务器地址和端口及密码
  6. 【图像评价指标】PSNR和SSIM
  7. 不忘初心,砥砺前行!
  8. win ce车载系统_【新器械】雅培在美国推出治疗慢性神经系统疼痛的IonicRF射频消融发生器...
  9. html5 梵高 星,复华文旅:穿越吧!梵高
  10. debian安装无线网卡驱动