-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VGG based FPN model #8
Comments
Hi, I'm using VGG as the base model, I think you just need to change backbone from Resnet to VGG (expect fc), the rest can remain the same. |
I experimented the model as below
In the training, it outputs the result like this
I have two 970 GPU to work with, why it is still in memory issues, i wonder was it problematic with the code ? |
@helxsz Also, for issues like For memory hungry users, mxnet seems a good choice which also supports multi gpu. |
@xmyqsh , thanks, I will replace a 1080ti, but for the moment VGG16 is the option I could experiment, I will reduce the RPN_BATCH_SIZE and BATCH_SIZE. when you mentioned about not using the same variable Resnet50 scope because currently the code is changing the basebone model from Resnet50 to VGG16. is there any problem? Secondly, when working on this, should I code in this way
or should I code in this way
At last, anything I am missing so when loading the VGG16 model, the weights and biases at all layers are ignored
|
@helxsz Say, your original base model scripts is
Then, your base end in FPN should be
Also, you could train your pretrained model in ImageNet with the second one directly. |
@xmyqsh, thanks for the answer. I am currently moving from Caffe to tensorflow, there are a few points not so well understood. additional question, why you use variable scope ('res1_2') for the first two layers while ('res3_5'') for the rest layers, in vgg16 would it be simpler to use variable scope('vgg16') for all the model scripts? |
@helxsz My way seems stupid, but it's convenience to change layers trainability with Or, you should edit While in my implementation, there is no reload model and net from phase to phase, my You could refer to my |
oh, Thanks, I got your meaning.. |
@helxsz |
@xmyqsh For end-to-end training, the two rcnn losses are not converging. Then I tried to freeze |
@leighton613 I have got good end-to-end training result with resnet50 based FPN, and further improvement could be achieved by improving the pre-trained model as well as train the fast-rcnn part separately with more img_pre_batch. I will answer your question above now.
|
@xmyqsh For VGG, there is a paper RON which was also accepted by CVPR this year, doing a similar research as FPN but using VGG as their base. However, FPN is doing a (much) better job at least on coco benchmark, but VGG works I think. Of course, not to say Resnet101, VGG16(w/o fc)'s capability can hardly compete Resnet50's. I wonder (but really don't know) if the residual design per se makes it a better option in detection. I'll switch to Resnet base model later. I tried |
@leighton613 |
I want to use FPN for the VGG model since I only have 2 gtx 980 with 8 G memory, do you have plan to share a VGG based model ?
The text was updated successfully, but these errors were encountered: