2

I'm looking for a Neural Network library, which can be used commercial and ist accessible for c++.

It should contain the following:

  1. fast
  2. convolutional networks
  3. multiple learining algorithms(rprop...)
  4. c++ binding (I want to create c++ applications and use the network as a libary)

I spend the last week looking but I was not able to find one. Some of the things I had a look at:

  1. tensorflow (but 90% of the functions are only for python)
  2. fastnn (no convolutional networks)
  3. opennn (seems outdated, many erros while building vs2015)
  4. and many more(opencv ...)

I also had a quick look at eblearn, which seems to be quite restrictive, and convnet which might be slow and have some licence problems.

1

If it is ok for you to use a Microsoft/.NET solution have a look at CNTK (Microsoft Cognitive Toolkit).

https://docs.microsoft.com/en-us/cognitive-toolkit/

The Microsoft Cognitive Toolkit - CNTK - is a unified deep-learning toolkit by Microsoft.

...

CNTK can be included as a library in your Python, C#, or C++ programs, or used as a standalone machine learning tool through its own model description language (BrainScript).

...

CNTK supports 64-bit Linux or 64-bit Windows operating systems.

0

If you're considering using GPU(s) for simulating your neural networks, you should consider nVIDIA's cuDNN.

They have a webinar regarding how to use it. Using CUDA is natively done in C++, and CUDA GPU kernel code per se is written in a large subset of C++11.

0

You should also take a look at Caffe

https://github.com/BVLC/caffe

There is a Linux and Windows version.

The windows version I think is maintained my Microsoft. I used it projects in the past and it seemed to function perfectly for me.

The community is big and there is a decent amount of examples/info on it. It supports cuDNN so thats a plus as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.