* Fix Stride Indexing Bugs in `reorg` and `reorg_gradient` Functions (CPU & CUDA) and Add `add_to` Parameter
* 'add_to' parameter missing in cuda call reorg_gradient.launch_kernel()
* Cleanup: remove using namespace std; (#3016)
* remove using namespace std from headers
* more std::
* more std::
* more std:: on windows stuff
* remove uses of using namespace std::chrono
* do not use C++17 features
* Add Davis suggestion
* revert some more stuff
* revert removing include
* more std::chrono stuff
* fix build error
* Adjust comment formatting to be like other dlib comments
* Add positional encodings layer to Dlib
* Implement embeddings_ layer and add supporting utility functions to tensor_tools.h
* Updates
* Updates
* Updates
* Updates
* Update
* Update dlib/cuda/tensor_tools.h
---------
Co-authored-by: Adrià <1671644+arrufat@users.noreply.github.com>
Co-authored-by: Davis King <davis@dlib.net>
Co-authored-by: Davis E. King <davis685@gmail.com>
* Add tril_ layer for lower triangular matrix operations
* Improved layer consistency
* Added constant_wrapper to fix the issue of the float in the template in c++17
* Looking for a solution for c++ 14
* Refactor tril_ layer for improved flexibility and C++14 compatibility
* Updates
* Updates
* Updates
* Updates
* Updates
* Updates
* Fix Stride Indexing Bugs in `reorg` and `reorg_gradient` Functions (CPU & CUDA) and Add `add_to` Parameter
* 'add_to' parameter missing in cuda call reorg_gradient.launch_kernel()
* Cleanup: remove using namespace std; (#3016)
* remove using namespace std from headers
* more std::
* more std::
* more std:: on windows stuff
* remove uses of using namespace std::chrono
* do not use C++17 features
* Add Davis suggestion
* revert some more stuff
* revert removing include
* more std::chrono stuff
* fix build error
* Adjust comment formatting to be like other dlib comments
---------
Co-authored-by: Adrià <1671644+arrufat@users.noreply.github.com>
Co-authored-by: Davis King <davis@dlib.net>
* remove using namespace std from headers
* more std::
* more std::
* more std:: on windows stuff
* remove uses of using namespace std::chrono
* do not use C++17 features
* Add Davis suggestion
* revert some more stuff
* revert removing include
* more std::chrono stuff
* Add RMS Normalization Layer
* Update dnn.cpp
* Missing entry in visitors.h to take into account the new rms_norm_ layer
* Fix test function name
* Fix dangling pointer issue in CUDA implementation of rms_normalize_gradient
* Fixing the dnn.cpp test program for the new rms_norm_ layer
* General update of the rms_norm_ class
* Fix layer_normalize gradients
* fix layer_norm CPU
* attempt to fix the cuda version
* fix gamma_grad and beta_grad
* update cuda test
* use a block of size 1 to avoid race conditions
* improve the speed of CUDA path of layer_norm
* improve the speed of CUDA path of layer_norm
* Add customizable dropout layer with compile-time rate specification
* Update to the name of the new dropout rate customisation class
* Fix: Replace float template parameter with int for C++17 compatibility
* Update dlib/dnn/layers_abstract.h
---------
Co-authored-by: Davis E. King <davis685@gmail.com>
This should've been added in #2925.
The only doubt I have around the function name:
- `load_rgb_alpha_image`: following the `rgb_alpha_pixel` in dlib
- `load_rgba_image`: shorter and maybe nicer?
MMX is not actually used by dlib and including the header breaks SIMD support detection and usage on platforms that support SSE but not MMX, such as emcc
* WIP: preparation for JPEG XL support
* jxl: add loading support
* update jxl abstract
* add support for saving jxl (lossless not working)
* everything works except setting lossless explicitly
* remove unused header
* fix wrong quality logic
* remove debugging statements
* fix lossless encoding
* improve support for grayscale images
* use JXL instead of JPEGXL everywhere
* oops do not make libjxl a requirement
* update years
* silence some warnings
* simplify loader fast path logic
* allow python to save jxl and webp
* update error message with supported formats
* Allow setting image quality in Python
The setting is ignored where it does not make sense.
* round quality in JPEG saver
* improve error message in CMake
* add jxl support to imglab
* add Davis's suggestion
Co-authored-by: Davis E. King <davis685@gmail.com>
* Apply suggestions from code review
Co-authored-by: Davis E. King <davis685@gmail.com>
* make sure grayscale is 8 bit
* update abstract: JPEG XL can store grayscale images
* add more methods to query basic info from JXL
* documentation formatting
* Apply Davis' suggestions
---------
Co-authored-by: Davis E. King <davis685@gmail.com>