* Fix Barlow Twins loss gradient
* Update reference test accuracy after fix
* Round the empirical cross-correlation matrix
Just a tiny modification that allows the values to actually reach 255 (perfect white).
* Make github actions run the python unit tests
* why don't the pyhton tests run?
* run python tests
* don't run tests twice
* don't run cmake tests twice
* rename the CMake test to C++ since it's testing the C++ part of the library
And the python build uses cmake too, which makes the naming somewhat
confusing
* work around macos
* oops, fix spelling error
* Add get_random_beta
* simplify beta distribution generation
* add tests
* fix condition and use full names for shape parameters
* remove unneeded include
* match test types to prevent Windows from failing tests
* Revert "remove unneeded include"
This reverts commit 35f55a96e9.
* Revert "match test types to prevent Windows from failing tests"
This reverts commit a990307066.
* Revert "Revert "remove unneeded include""
This reverts commit 59be002c9e.
* fix outdated message in DLIB_CASSERT
* relax mpc condition again
* Revert "relax mpc condition again"
This reverts commit 1d208c5dcf.
* Loop while both alpha and beta are zero
* Update dlib/rand/rand_kernel_abstract.h
Co-authored-by: Davis E. King <davis685@gmail.com>
* 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>