赞
踩
对应的论文地址Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector
本文是基于本人ubuntu16.04LTS下成功的运行经验
代码的经历以及经验
首先,查看你的系统是否已安装git,已经安装的跳过此步。
通过“git“指令进行查看,若未,安装在终端中输入:
sudo apt-get install git
配置好后,在你想要下载代码的目录下打开终端(如果你不嫌烦的话也可以cd过去)并输入
git clone https://github.com/fanq15/FSOD-code.git
完成后,在对应的目录下应该已经出现克隆好的文件夹,如下图选中部分。
文件夹中内容:
注意,数据集和预训练模型需要单独下载,数据集大小约为15G左右,预训练模型为265M注意目录的剩余空间!
预训练模型在其github介绍下已给出预训练模型
模型文件拷到fsod下,预训练模型拷到pretrain_model下
拷入前对应目录下有用来占位的连接文件,无视删除掉就行
需要装有英伟达显卡的机器,且已经安装了CUDA 9.0(只能是9.0其他版本不行),我的机器是GTX1060(6G),驱动版本是384.130
建议用anaconda新建一个虚拟环境来配置
可以用conda或者pip下载,速度慢的话换国内源。
进入lib目录,右键”在终端打开“
如果你是在anaconda下配置的上面所说的环境,比如我创建的环境名为FSOD,则首先进入环境,在终端中输入
conda activate FSOD
并执行make.sh
sh make.sh
如果提示无权限,则在终端输入下面命令后再运行。
sudo chmod 755 make.sh
如果你恰好财力雄厚,机器拥有四块GPU,则可以跳过这步
高亮部分为模型训练指令,下半部分为模型测试指令。
比如我的机器只有一个GPU,则将
CUDA_VISIBLE_DEVICES=0,1,2,3 这里改为CUDA_VISIBLE_DEVICES=0
并将
- -bs 4改为 - -bs 1
如果你有两个及以上的GPU则不用修改下半部分,如果是单GPU机器,则:
将- -multi-gpu-testing 删掉
可以将上图的高亮部分删除掉,训练好的模型保存在根目录下的Outputs文件夹中
训练参数可以在FSOD/configs/fsod/下的voc_e2e_faster_rcnn_R-50-C4_1x_old_1.yaml中修改(默认迭代次数为240000,没错24万,在我这小破游戏本上得跑到猴年马月去。。。)
在FSOD-code即代码根目录下,右键“在终端打开”,执行
conda activate "你的环境名“
sudo chmod 755 all.sh
sh all.sh
可以看到,已经开始训练了,一般训练到四五百次的时候,准确率就在90%左右浮动了,你可以ctrl+c/z中途终止训练,模型也是会保存到Outputs文件夹中的。
训练时你可以新开一个终端,输入
watch -n 1 nvidia-smi
来监视GPU状态,上面命令的 -n 1意思是每1秒刷新一次,你也可以自己更改刷新时间比如-n 5 、-n 10等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。