* add github actions from "ptheywood/cuda-cmake-github-actions"
* fix typo
* rename
* Revert "rename"
This reverts commit ded445f3bb.
* add cudnn env variable
* remove old cuda configs and try to fix installation
* add run tests
* fix test path
* actually build tests
* fix missing $
* fix syntax
* debug test path
* fix test build dir
* fix cmake syntax
* fix working directory
* Revert "debug test path"
This reverts commit 6d5b4e7a1f.
* uncomment other configurations
* fix run test path
* fix test run dir again
* syntax
* it's really not my day...
* remove incompatible configs and make tests run silently
* add initial windows script from ptheywood/cuda-cmake-github-actions
* fix windows script path
* add test for windows
* remove dot slash
* install cublas_dev
* try adding cudnn (I really need a Windows machine to test this)
* remove windows workflow scripts
* try config with ubuntu 20.10
* fix syntax error
* try to fix DLIB not using CUDA
* try again with ubuntu 20.04
* remove backticks
* remove superfluous configure step
* fix cuda parsing for v10.2
* debug test
* change working dir...
* do not run test silently
* install nvidia drivers
* only install server drivers
* load nvidia kernel module
* move module loading to script
* try to fix kernel module loading
* add simple github actions workflow
* add simple github actions workflow
* fix path?
* fix config step
* only build the dtest target
* handle Windows path
* use ./ on windows
* debugging
* debugging
* debugging
* except for the timer test on macOS, the rest works
* remove cuda custom tests, for the moment
* build in Relase mode to try to avoid timeout on Windows
* debugging
* actually change build config
* do not test the timer on macOS
* try building python
* [TYPE_SAFE_UNION] simplified some type traits and added for_each().
* added example serialization/deserialization using typeid().hash_code and different type_safe_union types
* in_place_tag is an empty struct. so don't pass const references, you're unecessarily passing 8 bytes around for now reason
* - added variant_size for type_safe_union
- added variant_alternative for type_safe_union
- removed for type_safe_union::for_each() and replaced with global function dlib::for_each_type()
* - made visit() a global
* use dlib::invoke explicitly
* - for_each_type is implemented using fold expression (or whatever the right term is) instead of template recursion. This method, in theory, yields better compile times. And if you're familiar with parameter packs, then the implementation is easier to read.
* - refactoring
- reordered function parameters in for_each_type()
- vtable implementation of apply_to_contents and visit() (sorry Davis for yet another change)
* add option to not zero out gradients and method to do it (#2477)
* Avoid different kinds of compiler warnings (#2481)
* Avoid different kinds of compiler warnings that started to appear when upgrading my build environment
* Avoid more compiler warnings
* Revert the overly verbose static_cast changes
* Make resize_bilinear and resize_bilinear_gradient take long long (previously just long)
* Circumvent what appears to be a bug in Visual Studio 2019's optimizer
(see: https://forum.juce.com/t/warning-in-the-lastest-vs2019/38267)
* Fix MSVC pragma warnings with other compilers (#2483)
* Fix warning about unused zero_gradients parameter (#2487)
* Fix warning about unused zero_gradients parameter
* match signature of other methods
* cleanup
Co-authored-by: pfeatherstone <peter@me>
Co-authored-by: Adrià Arrufat <1671644+arrufat@users.noreply.github.com>
Co-authored-by: Juha Reunanen <juha.reunanen@tomaattinen.com>
Co-authored-by: Davis King <davis@dlib.net>
* Avoid different kinds of compiler warnings that started to appear when upgrading my build environment
* Avoid more compiler warnings
* Revert the overly verbose static_cast changes
* Make resize_bilinear and resize_bilinear_gradient take long long (previously just long)
* Circumvent what appears to be a bug in Visual Studio 2019's optimizer
(see: https://forum.juce.com/t/warning-in-the-lastest-vs2019/38267)
* - added dlib::invoke_r()
- added dlib::is_invocable_r<>
- made everything constexpr and conditionally noexcept !
- added tests
This has required a refactor of dlib::invoke since std::mem_fn is not constexpr in c++11
* - !std::is_function replaced with std::is_object. Let's be a bit more precise
* - made dlib::apply constexpr and conditionally noexcept
Co-authored-by: pf <pf@me>
* Replace fc classifier with svm_multiclass_linear_trainer
* Mention about find_max_global()
Co-authored-by: Davis E. King <davis@dlib.net>
* Use double instead of float for extracted features
Co-authored-by: Davis E. King <davis@dlib.net>
* fix compilation with double features
* Revert "fix compilation with double features"
This reverts commit 76ebab4b91.
* Revert "Use double instead of float for extracted features"
This reverts commit 9a50809ebf.
* Find best C using global optimization
Co-authored-by: Davis E. King <davis@dlib.net>
* added backport of std::invoke, std::invoke_result and std::apply
* added backport of std::invoke, std::invoke_result and std::apply
* msvc doesn't like keyword 'not'
* i think this fixes detection of invoke on MSVC
* ok, i think detection of invoke stuff is fixed on windows
* - just have dlib's own implementation and don't use standard library even if c++17 is enabled.
- added tests for dlib::invoke_result_t
* added docs
* - added dlib::make_from_tuple
- added tests + docs
* - make sure you use the dlib:: namespace. Otherwise, when compiling with C++17, compiler might get confused
- use remove_reference instead of decay. That's what the standard says to use
* added dlib::is_invocable
* - defined invoke_traits. This removes dupplicate code.
- This makes absolutely no difference but is just a tiny bit nicer.
* removed the test that could potentially fail with MSVC
Co-authored-by: pfeatherstone <peter@me>
This is causing us to run out of travis-ci credits, making tests not run
at all. I deleted the duplicative tests and then disabled two additonal
ones by commenting them out that would be nice to run but I think are
not essential. In particular, the OSX one eats up a ton of credits. So
I disabled that. Maybe we can turn it back on later if we end up well
under the credit budget (or switch to github actions which appears to
have higher limits)