Open Dawson-huang opened 5 years ago
博主,您好,如果train.prototxt采用的是416416的分辨率计算出来的anchors,那么deploy.prototxt采用同样的anchors在实际检测352352的分辨率时不会影响检测效果吗?
當然會影響檢測效果,但當初作者用意是在於 multi-scale的訓練,可以在inferernce時根據狀況調整輸入解析度,調控精準度與速度,有這方面的疑問,你可以用416訓練一次,再用352訓練一次測試mAP,就知道差異,一般voc2007 可能會差到1%左右
1, 那如果训练的时候采用416的anchors,推理的时候采用352的anchors,这样是否会更好?
2, 请问mobilenetv3-yolov3网络训练的时候loss2会产生波动,时而为2或3或4,时而loss2却跳到11或15,但是验证集的evaluation 值会慢慢提升到0.30以上,其中我采用的是coco数据集训练,这样算正常吗
Training 跟 test的anchor 要一致
試者把會random的參數範圍調小,如jitter , expand ratio ... 等 。另外也可以把batch size加大。
参数调节我根据您的wiki一篇调节参数的文章尝试过,我把expand-ratio调节为1.5或1.2,jitter -ratio调节为0.5或0.2,同样是loss2波动,我增大total batch size为64以及调节or multi为0.1也是于事无补。
我的mobilenet v3网络不是采用您的,而是其他github用caffe实现的结构,所以我没有采用预训练
我的数据集是在coco当中提取出来的几类目标,数据应该没错,或许我应该检查一下
沒有採用預訓練的話,建議是先訓練imagenet 1000類網路,訓練完之後再訓練coco,沒有預訓練即使能訓練得起來,mAP也會很低
Ok,我先尝试预训练,看看是否能解决不收敛的问题
博主,请问您是怎么把pytorch版本的mobilenetV3转换成功的,我采用PytorchToCaffe来转换您使用的专案,但是一致不成功,报错卡在这一步:
140601658362400:add_blob1 was added to blobs
Add blob add_blob1 : torch.Size([1, 16, 112, 112])
140601658363048:batch_norm_blob1 getting
Traceback (most recent call last):
File "example/mobilenetV3_pytorch_to_caffe.py", line 21, in <module>
pytorch_to_caffe.trans_net(net, input, name)
File "/home/sonny/PytorchToCaffe/pytorch_to_caffe.py", line 658, in trans_net
out = net.forward(input_var)
File "mobilenetv3.pytorch/mobilenetv3.py", line 169, in forward
x = self.features(x)
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 493, in __call__
result = self.forward(*input, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/container.py", line 92, in forward
input = module(input)
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 493, in __call__
result = self.forward(*input, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/container.py", line 92, in forward
input = module(input)
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 493, in __call__
result = self.forward(*input, **kwargs)
File "mobilenetv3.pytorch/mobilenetv3.py", line 50, in forward
return x * self.sigmoid(x)
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 493, in __call__
result = self.forward(*input, **kwargs)
File "mobilenetv3.pytorch/mobilenetv3.py", line 41, in forward
return self.relu(x + 3) / 6
File "/home/sonny/PytorchToCaffe/pytorch_to_caffe.py", line 486, in _add
bottom=[log.blobs(input),log.blobs(args[0])], top=top_blobs)
File "/home/sonny/PytorchToCaffe/pytorch_to_caffe.py", line 88, in blobs
print("{}:{} getting".format(var, self._blobs[var]))
File "/home/sonny/PytorchToCaffe/pytorch_to_caffe.py", line 31, in __getitem__
return self.data[key]
KeyError: 10914560
您是怎么转换成功的,可以告诉一下吗,谢谢
- Training 跟 test的anchor 要一致
- 試者把會random的參數範圍調小,如jitter , expand ratio ... 等 。另外也可以把batch size加大。
你好!我现在想训练320X320,请问需要修改哪些地方?
借楼问个问题, https://github.com/eric612/MobileNet-YOLO/blob/master/models/mobilenetv2_voc/yolo_lite/train.prototxt 这个里面,有一段是这样的
biases: 20
biases: 37
biases: 49
biases: 94
biases: 73
biases: 201
biases: 143
biases: 265
biases: 153
biases: 121
biases: 280
biases: 279
这个代表在416*416图像上kmeans得到的6个anchor大小吗?为什么下面bias的数值跟上面#后面的不一样?
博主,您好,非常感谢您很有意义的工作! 我想请教一下,对于您的mobilenetv3_voc网络中您采用mobilenetv3作为yolov3的backbone网络,从网络结构上看,您是对mobilenetv3网络结构进行了裁剪去掉了部分网络层吧,并没有用原始的mobilenetv3,同时yoloV3你也只是采用两种特征图大小进行输出,去掉了54×52的输出特征图。麻烦博主帮我解答一下,谢谢!