Win10 faster-rcnn pytorch1.0入坑记录及数据集准备

环境:win10 py36 cuda10 pytorch1.0
源代码:pytorch1.0
(如果是pytorch0.4可以看pytorch0.4
两个代码都是linux下的,win10坑很多……
1、遇到的cl.exe找不到或者.cu导致setup.py编译不成功
网上解决问题很多 ,参考链接:参考1以及参考2 修改setup.py文件及一些ROIPooling等cu文件。
也可以去源码的issue将faster-rcnn.pytorch-pytorch-1.0\lib\model\csrc\cuda中的两个ROIXXXXX.cu进行修改。
要修改的就是这两个.cu文件的dim3 grid函数
首先,添加一个函数:

int ceil_div(int a, int b):
    return (a + b - 1) / b;

再将原来的dim3 grid函数修改为:

dim3 grid(std::min(ceil_div((int)grad.numel(), 512), 4096));

然后在执行一下 python setup.py build develop或者python setup.py install。
实在不行,重装cuda或者vs2017我重装完了路径都不用配置直接好了。
2、数据集及预训练模型准备
这个比较坑人,要下voc2007和coco太慢了,不如自制……我使用的是男票给“基情”提供的东北大学的缺陷数据集,一共20m,voc格式,很多博客有链接,就不放上来了。具体怎么准备,看这篇博客
还有就是预训练模型的准备,这个虽然作者给出的链接中的.pth文件后缀是caffe但是不影响使用,各种预训练模型参考pytorch预训练模型
3、代码修改及代码解读
因为在win10下进行训练,相对于linux下面可以使用带参数命令行进行跑代码,很多参数可以在def parse_args()中进行修改,改变defaul值即可,比如使用cuda的话,
parser.add_argument('--cuda', dest='cuda', help='whether use CUDA',default=True, action='store_true')
在原来的基础上加了default=True,不然跑的时候报错(可能我脸黑)。
代码解读
[1]名词解释:AP及mAP
参考知乎
AP:Average Precision
Precision:准确率
Recall:召回率

None Postive(置信度) Negative(置信度)
IOU>X TP TN
IOU<X FP FN
	Preecison=TP/(TP+FP)
	Recall=TP/(TP+FN)
	Interplolated AP(Pascal Voc 2008 的AP计算方式)
	mAP(coco):AP值在所有类别下的均值

[2]代码解读,引用作者提供的口令(应该叫他什么……)

CUDA_VISIBLE_DEVICES=$GPU_ID python trainval_net.py \
                    --dataset pascal_voc --net res101 \
                    --bs $BATCH_SIZE --nw $WORKER_NUMBER \
                    --lr $LEARNING_RATE --lr_decay_step $DECAY_STEP \
                    --cuda

-net :backbone 可以是vgg也可以是resnet
-bs :batch size,一次训练所选取的样本数,参数更新所需要损失函数一组数据加权得到的,这一组数据的数量就是batchsize。
-nw :worker number 我也不知道是啥……
-epoch :1个epoch等于使用训练集中的全部样本训练一次,通俗的讲epoch的值就是整个数据集被轮几次
在网上发现一个大大写的详解,搬运一下!

def parse_args():
  """
  Parse input arguments
  """
  parser = argparse.ArgumentParser(description=
  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值