Open sungchank opened 7 years ago
I think this error append when you have no prediction for a class you can prevent it by modifiying the voc_eval.py file, after reading the detfile you can add:
if len(lines) == 0:
return 0,0,0
it may resolve your evaluation issue, but you will have to find by yourself the best way to fine tune from pretrain model.
that's because there is nothing detected, I met this issue also when not use the pre-trained image-net model, I guess some parameters like conv2d filters are not initialized into the right range.
I'm trying to train a modified ZF-net of py-faster-rcnn. I have conducted a simple experiment. I first have trained the unmodified ZF-net model with pascal voc data. I have initialized weights using the pretrained model with imagenet. The train was set to run for 1000 iterations only but it has ended up with worse accuracy as expected. Then, I have modified the channel size of the first convolution layer of the original ZF-net from 96 to 64. I have also renamed the first and second convolution layers while keeping the channel size of the second layer. Those two new layers were randomly initialized using weight_filler and bias_filler since they cannot be initialized from the pretrained model. After the modifications, I have trained the modified rcnn model with the same configurations to the unmodified training. The last part of logs are as follows.
I found that the error I got indicates that the modified model learned nothing. Is this error due to too short iterations or insufficient training data with pascal voc? I guess that training only with pascal voc data is not a solution. If so, how can I use imagenet data to pretrain the modified ZF-net? My understanding is that training using imagenet entirely from scratch would take 2-3 weeks normally, which is not acceptable for me. Because I will try to modify ZF-net in many ways, I need an efficient way to pretrain models using imagenet data and to finetune it using pascal voc whenever I create a new one. Can any one give me some advise for this issue?