-
Notifications
You must be signed in to change notification settings - Fork 3.5k
DNN Visual Studio 2015 Update3 support #139
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
Conversation
|
Awesome! Does the dnn_mnist_advanced_ex.cpp example compile as well? How about the unit tests? There is a bunch of dnn stuff in there too. |
|
Yes, you are right, some problems with dtest - i will fix them. So, you can plan support of VS2015 up3 in the next release. I will make the rest fixes today-tomorrow |
|
Now compiles all of them. But still have a problem - dnn_mnist_ex works good, but other dnn samples are crashing at runtime I will try to localize problem. The problem is not tied with warning C4503 - small nets are crashing too Do not merge this right now |
|
Found the reason of crashing: the code like works What do you think about this kind of replacement? (=default to {}) |
|
Nice work. Yeah, replacing =default with {} is fine. |
|
Ok, I changed constructors. Now compiles and run well on VS and GCC. all dnn samples and dtest checked |
|
Awesome. What about putting the bigobj flag in dlib/cmake so it's always on? Is there a drawback to doing that? Also, why not put the warning suppression flag into a pragma statement in the code. I've already got a lot of visual studio's inane warnings disabled with such pragmas :) |
|
Yes, we can safely put bigobj flag into the main cmake file. It has only one penalty - .obj files will not be readable by VS 2005 |
|
some minor formatting fixes done. |
|
Oh, I mean putting the pragma in core.h so users never see it at all. |
|
Moving to core.h does not help - too many header relations |
|
That's fine. Is this ready to be merged or should I wait a bit? |
|
I think its ready |
|
Sweet. Thanks for another PR :) I also finished training an imagenet classifier (after months of testing on my GPU). So I'm going to post an example program that shows how to use that along with the model file and then I'll tag dlib v19.0. I'll do that this weekend. |
|
Wow! Good news! Are you planning to publish trainer code? And how about future roadmap? |
|
I'll include the trainer code. It's very similar to what is already in the
examples though so nothing too exciting.
The next thing I'm going to do is upgrade the object_detector to use a
CNN. I think that will be pretty sweet.
|
|
I just posed the imagenet model and example: https://github.com/davisking/dlib/blob/master/examples/dnn_imagenet_ex.cpp. This model that comes with it took two weeks to train on my Titan X card :) |
|
Looks like this sample is too hard for MSVC. It does not print errors/message, but compilation time takes more than one hour (still waiting). Do we need some notice in comments about this? Other samples (even dnn_mnist_advanced) are compiled fast And one more - as this sample takes crops with 227x227 size, it will not work good on ANY image. I think we should put some imagenet samples with correct image size for using example by users |
|
Wow, MSVC's C++11 support is amazingly bad. I'm content to wait for the
next version of MSVC to come out and see if it gets better. But if you are
still interested in trying to find more clever workarounds then that would
be cool. But this one sounds like it's going to be hard to work around. :(
So don't feel obligated.
It will work on any image. If the image is too small it will upsample as
appropriate.
|
|
The example dnn_imagenet_ex didnt compiled - compiler was working 12 hours with no progress.
And disable MSVC by default |
|
I put the cmake check for cxx_decltype_incomplete_return_types back into
cmake last night because of this. So it should be behaving reasonably now.
|
|
Which by that I mean disabling visual studio :)
|
Visual Studio 2015 Update 3 now has much better C++11 support, but not perfect :(
With this changes I successfully compiled and run dnn_mnist_ex in CPU mode
For CUDNN support on Windows platform we need to wait CUDA 8 next release