How to build a single-object localization CNN based-on an object classification network?
3 views (last 30 days)
Show older comments
Hi all,
I'm new to convolutional neural network. I'm trying to use Alexnet to build a single object localization network, which I think is a simple problem in this area. What I did is to replace the last three layers of Alexnet, which are fullyConnnectedLayer(1000), softmaxLayer, and classificationLayer, with two layers, which are fullyConnectedLayer(4) and regressionLayer. Did I do it right? When I tried to train this network, the result seems wrong. Specifically, the Mini-batch Loss and the Mini-batch RMSE were NaN all the time. What would be the reason for this?
Thank you in advance!
Shuwei.
0 Comments
Answers (1)
Ankitha Kollegal Arjun
on 28 Jul 2017
If the regression response values are very big and/or you have many regressors, your loss will become large, and it eventually leads to NaNs. This is the reason your Mini-batch Loss and the Mini-batch RMSE are NaN.
There are two workarounds which might fix the issue. Try one of the following:
1. Lower the initial learning rate. See more details on the initial learning rate here:
2. Normalize the responses so that the maximum value is 1. You can use the function "normc" for this:
Hope this helps!
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!