1. 11 May, 2021 2 commits
  2. 10 May, 2021 1 commit
  3. 01 May, 2021 4 commits
  4. 28 Apr, 2021 1 commit
    • Davis King's avatar
      Cleanup gcc version checking code a little. · ded68b9a
      Davis King authored
      Also fix this error from cmake 3.5.1:
      
      ```
      CMake Error at CMakeLists.txt:62 (if):
        if given arguments:
      
          "CMAKE_COMPILER_IS_GNUCXX" "AND" "CMAKE_CXX_COMPILER_VERSION" "VERSION_LESS_EQUAL" "4.8.5"
      
        Unknown arguments specified
      ```
      ded68b9a
  5. 27 Apr, 2021 1 commit
  6. 24 Apr, 2021 2 commits
  7. 22 Apr, 2021 1 commit
    • pfeatherstone's avatar
      [TYPE_SAFE_UNION] use std::aligned_union instead of stack_based_memory_block (#2349) · d6d1a9e8
      pfeatherstone authored
      
      
      * [TYPE_SAFE_UNION] use std::aligned_union instead of stack_based_memory_block. std::aligned_union was specifically designed to do this kind of stuff and we are better off trusting the standard library deciding what the correct storage type should be and what the appropriate alignment should be
      
      * [TYPE_SAFE_UNION] as per Davis' suggestion, std::aligned_union can take Len parameter 0. Also, the content's of validate_type() has been bugging me for ages, so i created is_any which is based on std::is_same. I've also replaced is_same_type with std::is_same
      Co-authored-by: default avatarPeter Featherstone <peter@grampus-server.com>
      d6d1a9e8
  8. 14 Apr, 2021 3 commits
  9. 13 Apr, 2021 1 commit
  10. 12 Apr, 2021 1 commit
    • Adrià Arrufat's avatar
      Add Clipped ReLU and ELU activations (#2285) · 1b7c7a64
      Adrià Arrufat authored
      
      
      * wip: add apis for clipped_relu and elu, and layer implementation for clipped_relu
      
      * add tensor_tools documentation
      
      * add cpu implementations for new activations
      
      * add elu layer
      
      * use upperbound and lowerbound for clipped_relu
      
      * fix clipped_relu gradient due to wrong variable naming
      
      * fix elu_gradient due to wrong variable naming
      
      * fix elu_gradient documentation
      
      * add documentation
      
      * WIP: add test_layer cases for clipped_relu and elu
      
      For some reason that I can't see, ELU is failing...
      
      * add clipped_relu and elu tests... cuda elu layer still does not work
      
      * fix spacing
      
      * add custom cuda implementation for elu_gradient (this one works)
      
      * Revert "add custom cuda implementation for elu_gradient (this one works)"
      
      This reverts commit 446dd803964cc6ecca598ddf6688e5d89ca0b112.
      
      * Revert "Revert "add custom cuda implementation for elu_gradient (this one works)""
      
      This reverts commit 0b615f50081d0d90e71d502b6767fcb6ba62f28a.
      
      * add comment about custom elu gradient implementation
      
      * add gradient tests, restore cudnn elu gradient
      
      * re add custom elu gradient implementation
      
      * update docs
      
      * use own cuda implementation for clipped_relu and elu
      Co-authored-by: default avatarDavis E. King <davis@dlib.net>
      1b7c7a64
  11. 04 Apr, 2021 2 commits
    • Adrià Arrufat's avatar
      Fix input/output mappings with repeat layers (#2337) · 0ffe9c4c
      Adrià Arrufat authored
      * Fix input/output mappings with repeat layers
      
      * add test for input/output tensor mappers
      
      * fix output to input order
      0ffe9c4c
    • Adrià Arrufat's avatar
      Add letterbox image (#2335) · a4713b59
      Adrià Arrufat authored
      * Add letterbox image
      
      * use && instead of and
      
      * make function adhere to the generic image interface
      
      * avoid extra copy
      
      * add some overloads and a simple test
      
      * add documentation
      
      * use zero_border_pixels and remove superfluous temporary image
      
      * allow different input and out images and update docs
      
      * remove empty line
      
      * be more explicit about output image size
      a4713b59
  12. 28 Mar, 2021 3 commits
  13. 22 Mar, 2021 1 commit
  14. 08 Mar, 2021 1 commit
    • Adrià Arrufat's avatar
      Add softmax function for matrix type (#2320) · 092fa303
      Adrià Arrufat authored
      * Add softmax function for matrix type
      
      * make softmax inherit from basic_op_m
      
      * fix comment
      
      * add test for matrix softmax
      
      * remove include
      
      * take inspiration from op_normalize
      
      * use multiplication instead of division
      
      * fix typo in documentation
      092fa303
  15. 20 Feb, 2021 1 commit
  16. 17 Feb, 2021 1 commit
  17. 16 Feb, 2021 1 commit
    • Davis King's avatar
      Add cmake back as a pip dependency. · 8b9d0439
      Davis King authored
      This dependency was explicitly removed two years ago because pip was
      installing a broken cmake on some systems.  I'm adding the dependency
      back in the hope that the pip copy of cmake has been fixed on all
      systems by this point.
      8b9d0439
  18. 13 Feb, 2021 1 commit
  19. 12 Feb, 2021 1 commit
    • pfeatherstone's avatar
      Serialization to and from vector<int8_t> and vector<uint8_t> (#2301) · 479b69e6
      pfeatherstone authored
      
      
      * [SERIALIZATION]	- vectorstream can now be used with vector<int8_t> and vector<uint8_t>
      
      * [SERIALIZATION]	- update proxy_serialize and proxy_deserialize to work with vector<int8_t> and vector<uint8_t>
      
      * [SERIALIZATION]	- updated vectorstream tests
      
      * [SERIALIZATION]	- updated serialize tests. check you can go to and from any of vector<char>, vector<int8_t> and vector<uint8_t>
      
      * [SERIALIZATION]	- updated matrix tests. check you can go to and from any of vector<char>, vector<int8_t> and vector<uint8_t>
      
      * [SERIALIZATION]	- updated dnn tests. check you can go to and from any of vector<char>, vector<int8_t> and vector<uint8_t>
      
      * [SERIALIZATION] improved and possibly safer
      
      * [SERIALIZATION] use placement new. best of all worlds i think. we have least object overhead. but code looks a tad uglier. oh well, user doesn't have to care
      
      * [SERIALIZATION] i hope this is easier on the eyes.
      Co-authored-by: default avatarpf <pf@pf-ubuntu-dev>
      479b69e6
  20. 11 Feb, 2021 1 commit
  21. 09 Feb, 2021 1 commit
  22. 28 Jan, 2021 1 commit
  23. 18 Jan, 2021 2 commits
  24. 17 Jan, 2021 3 commits
  25. 16 Jan, 2021 3 commits
    • Davis King's avatar
      work around bug in gcc 4.8 · 600e0365
      Davis King authored
      600e0365
    • Davis King's avatar
    • Davis King's avatar
      Greatly simplify how all the overloads of find_*_global() are setup. · df46c516
      Davis King authored
      This also makes it so the num and max_runtime arguments can now appear
      in any order.
      
      This does include a minor backwards compatibility break.  Which is
      someone passing in initial function evaluations by directly supplying an
      initializer list like {function_evaluation({1.1, 0.9}, rosen({1.1, 0.9}))} may have
      to do std::vector<function_evaluation>{function_evaluation({1.1, 0.9},
      rosen({1.1, 0.9}))} instead or make it a variable.  This is due to C++
      not supporting direct use of initializer lists with variadic templates in this
      context.  But in any case, I doubt many users do this and it is not hard
      for those that do to update as described above.
      df46c516