* feature_addition : Mean squared loss layer for multiple output (#404)
* Added loss_mean_squared_multioutput layer to support multiple outputs.
* Also added a corresponding test case to test a single variable regression
with multiple outputs.
* Added error checks on truth argument
Added assert statements to check that truth argument in
compute_loss_value_and_gradient() method contains matrices
of correct dimension relative to the output tensor's size.
Also the requirements on argument truth to the abstract
documentation.
* GCC/Clang compatible vector extension SIMD code
* Minimal modifications to dlib for the simd_vec code to work, a few include changes and ifdefs
* Changed tabbing to spaces
* Allow type inference to binary ops on different types of same size
* Added cmake option USE_AUTO_VECTOR, and fixed up preprocessor checks.
It is required to build with gcc/clang auto vectorization
* Changed to intrinsic version due to poor auto vectorization results.
The simd8*_vec are just copies of the C code right now.
* Removed _vec variants, added to existing defines. simd_check.h back in place and removed from dlib/simd.h
thread_pool's destructor. The previous implementation used dlib's global
thread pooling to allocate threads to dlib::thread_pool, however, this
sometimes caused annoying behavior when used as part of a MATLAB mex file.
* cmake script to suppress randlib warnings about *.a having no symbols on
MacOSX
* Moved script code into the main CMakeLists.txt file to suppress the
superfluous ranlib warnings all the time.
* Fixed issue with uninitialised variables. There are 2 places where std::exception_ptr eptr is not initialised.
* running_gradient.h needs to qualify erfc with 'std::' to avoid compilation error.
Found when compiling dnn_mmod_face_detection_ex.cpp with RadStudio and Clang compiler.
is because some build systems seem to mess up the parallel build of these two
things and sometimes rebuild and potentially clobber object files during the
parallel build. I haven't seen this result in a problem, but the race
condition does seem to exist in some build systems. So this should force the
two top level targets to be build sequentially rather than in parallel, thus
avoiding any possible race condition.