Commit Graph
30621 Commits
Author SHA1 Message Date
Ben Beasley 0ecd6db488 Drop pytest-runner and "setup.py test" support (#3921)
* Drop pytest-runner and "setup.py test" support

This does not affect running the tests with `pytest`.

Add a `test` extra to represent test dependencies.

* Remove spurious more-itertools test dependency

* Add HISTORY.md entry

* Add Benjamin A. Beasley to COPYRIGHT.txt
2025-04-08 13:59:01 +02:00
Ryan Curtin e30bd30df7 Add more cross-compilation hosts for CI job (#3906)
* Add a first attempt at explicitly using Jenkinsfiles.

* A first attempt...

* Put code in a script block.

* Add first attempt at link check job pipeline.

* Hopefully correct shell block.

* Install git.

* Install packages as root.

* Use custom image that already has dependencies installed.

* Try processing the JUnit results.

* Fix syntax (hopefully).

* Try to get the build to set its status on Github.

* Try and see if I can get the snippet build to run too.

* A first attempt at reviving the static code analysis build.

* Refactor style check job a bit.

* Try to clean up other files and have them set statuses.

* Set status in script blocks.

* Fix directory (this may not fix my problem).

* Should I load in the script step?

* Maybe I can just load it without a name.

* Maybe I have my path wrong.

* Will this work?  Just a test...

* Try using a plugin instead.

* And if I define the function manually at the top?

* Maybe this will fix the load.

* Try to turn unstable into failed.

* Hopefully fix documentation builds.

* Fix script blocks.

* Maybe fix static code analysis job.

* Try to adapt PR number variable.

* First attempt at cross-compilation job.

* Try to fix some syntax.

* Clean workspaces after build.

* Try to put the matrix in the right place.

* Another attempt at the matrix configuration.

* Maybe I have to nest it deeper.

* Maybe I have to clean always?

* What we need is more tabbing.

* Use try/catch to handle failed junit processing.

* Better handling of environment variables.

* Try a differernt approach than try/catch.

* Try to get some more information about ccache.

* Is it possible we could store the ccache at a higher level?

* Maybe I have the variable name wrong.

* Clean the cross-compilation workspace.

* Try mounting the ccache so it can be shared across multiple jobs.

* Always pull images.

* We need to run on the same node.

* Run on only one core.

* Try building in the Docker container in a different way.

* Do I have the order backwards?

* Can I run anything at all in the container?

* The static code analysis job isn't helpful.

* Try to set the user of the docker container.

* Rebuild the Docker container instead.

* Always pull an updated image.

* Download any necessary dependencies too.

* Oops, use the correct CMake options.

* Fix line break in the wrong place.

* Make sure to use the correct architecture.

* We can't use MATCHES, that is a regex.

* Oops, we need to use STREQUAL.

* Bump to an older version since newer versions don't have gfortran.

* Try to run the tests on the target.

* Correct syntax.

* Okay, I'm not allowed to generate a stage name.

* Try cleaning the workspace at the start of the build.

* Okay, so I just can't depend on the workspace cleaning job, wonderful.

* Try and add the passphrase correctly.

* Fix path for memory checks.

* Fix path to test.

* Fix PR number variable.

* Try to fix path for test copying.

* Try to get the PR number correct.

* Try and centralize where the link cache is stored.

* Why is it being printed strangely?

* Is there some weird restriction where this all has to be on one line?

* Always publish the HTML, and fix a link.

* Try to fix SSH host key check.

* Make the reports directory.

* Try to fix file parsing.

* Try to enable ccache.

* Try to set ccache directory correctly.

* Try to get the full pipeline set up correctly for cross-compilation.

* Fix path to test data.

* Allow debug builds when cross-compiling.

* Remember to unpack all the test data!

* Fail tests when the data isn't there.

* Maybe I can use find instead.

* Double escape for backslash?

* What if we just run the test?

* Port Catch2 improvement for junit runner.

See https://github.com/catchorg/Catch2/commit/c29e198eab0ccdb190495397854b937677385e2e.

* Re-enable junit testing (hopefully it will work now).

* Output directly to the xml file.

* Try to clean up regex.

* Try to set IN PROGRESS status.

* Could it be called RUNNING?

* I guess I don't get access to set jobs in progress through this API.

* Fix regex for test name extraction.

* Try to clean up Jenkinsfiles.

* Fix parameter name.

* Maybe fix syntax?

* Does it work without keyword arguments?

* Correctly accept named parameters.

* Abort previous builds to reduce load on Jenkins.

* Use optimization when compiling.

* Fix syntax for abortPrevious.

* Fix missing closing brace...

* Update links in CI documentation and try to fix memory check job.

* Add a few more hosts for testing.

* Document the additional systems.

* Separate build directories for each matrix entry.

* Use safer directory name.

* What directory are we in?

* Try an alternate strategy of setting build names.

* Fix typo.

* Assemble container name.

* Oops, forgot one.

* Oops, fix the last use of  to .

* Fix bad merge.

* Set different page sizes for different systems.

* Try different quotation strategy.

* Make sure the variable actually gets substituted in.

* Quotes, bane of my existence.

* Update Jetson Orin Nano link.

* Try to use CORTEXA72 for the BB-AI again.

* Try to set flags for the Jetson Orin Nano too.

* Remove board names and use architecture names instead.

* Re-add RPI4 as BCM2711.

* Try to get the junit files back using the correct variable.
2025-04-06 12:55:04 +02:00
Ryan Curtin f251258885 Enable mlpack_image_converter so that it always builds. 2025-04-05 19:54:17 -04:00
Ryan Curtin 6652c52417 Add new block for next release to HISTORY.md. 2025-04-03 11:47:01 -04:00
Ryan Curtin 9764349a19 Update and release version 4.6.0. 2025-04-03 11:47:01 -04:00
Omar Shrit 99a46b4bd2 Fix mutex directive for arma (#3918)
Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-04-03 09:55:59 -04:00
Ryan Curtin e4b4b3179e Fix CMake configuration for older Armadillo versions on CI (#3917)
* Ensure builds fail on any step.

* Work around CMake error.
2025-04-02 13:12:14 -04:00
github-actions[bot]andYashwants19 077dfdb596 Upgrade CLI11 to 2.5.0 (#3902)
Co-authored-by: Yashwants19 <Yashwants19@users.noreply.github.com>
2025-03-31 15:44:17 -04:00
Ryan Curtin 5a14c258ce Fix LSTM input size calculation (#3913)
* Fix #3912 by computing the product of input dimensions.

* Update HISTORY.

* Try to fix cross-compilation failure (part 1).

* Now actually copy the cat over and the test should pass.
2025-03-31 15:43:13 -04:00
Ryan Curtin 1ca98f966c Minor CI cleanups (#3911)
* Add a test case that will fail to see what output we get in CI.

* Try to use the Github Checks API plugin to report status.

* Work a little harder with the publishChecks function.

* Hopefully fix URL path.

* Try one more place.

* Try to clean up the job a little bit; it does seem like it's owrking.

* Try to move checks definition into utils file.

* Maybe it needs to be in a script block.

* We can't publish a check until after the repo is cloned.

* Try to refactor the rest of the Jenkinsfile.

* Try to get the amount of time each step took.

* Oops, using the wrong variable for how long things have taken.

* Try and use the builtin checks only; maybe they will work.

* Revert "Try and use the builtin checks only; maybe they will work."

This reverts commit 461ea584206fcb12a4fc00cbcdb0d289a0bc7ef2.

* Try to clean up the output a little bit.

* Try to disable the extra check being published.

* Adapt the rest of the jobs to use the checks API.

* Fix syntactical issues.

* Remove failing test.

* Try adding a def to stop the warning.

* Okay, that's not the right syntax.

* Oops, remove old status setting block.
2025-03-30 09:25:10 -04:00
Omar ShritandRyan Curtin aa613f8b2f CropResize (#3903)
* Adding the crop function implementation

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove debugging symbols

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add another two sheeps photos

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding tests for cropping the images

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding documentation of CropResize

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Improve the imeplementation according to what is mentioned

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding images to make it easier to understand

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Fix Ryan proposal

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the docs

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove the test regarding checking of the dimension are identical

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add a pixel-level sanity check test.

* Update documentation; slight wording cleanup, add a clear example.

* Add a test for the case where we upscale.

* Use different filenames.

* Prevent resize if the user did not ask for it

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove unused variables.

* Change && to ||

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix style, and function name

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the other style issues

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add a note to HISTORY.md.

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
Co-authored-by: Ryan Curtin <ryan@ratml.org>
2025-03-30 11:29:20 +02:00
Ryan CurtinandDirk Eddelbuettel e70a04fbba Add Docker deployment documentation (#3907)
* Add a first attempt at explicitly using Jenkinsfiles.

* A first attempt...

* Put code in a script block.

* Add first attempt at link check job pipeline.

* Hopefully correct shell block.

* Install git.

* Install packages as root.

* Use custom image that already has dependencies installed.

* Try processing the JUnit results.

* Fix syntax (hopefully).

* Try to get the build to set its status on Github.

* Try and see if I can get the snippet build to run too.

* A first attempt at reviving the static code analysis build.

* Refactor style check job a bit.

* Try to clean up other files and have them set statuses.

* Set status in script blocks.

* Fix directory (this may not fix my problem).

* Should I load in the script step?

* Maybe I can just load it without a name.

* Maybe I have my path wrong.

* Will this work?  Just a test...

* Try using a plugin instead.

* And if I define the function manually at the top?

* Maybe this will fix the load.

* Try to turn unstable into failed.

* Hopefully fix documentation builds.

* Fix script blocks.

* Maybe fix static code analysis job.

* Try to adapt PR number variable.

* First attempt at cross-compilation job.

* Try to fix some syntax.

* Clean workspaces after build.

* Try to put the matrix in the right place.

* Another attempt at the matrix configuration.

* Maybe I have to nest it deeper.

* Maybe I have to clean always?

* What we need is more tabbing.

* Use try/catch to handle failed junit processing.

* Better handling of environment variables.

* Try a differernt approach than try/catch.

* Try to get some more information about ccache.

* Is it possible we could store the ccache at a higher level?

* Maybe I have the variable name wrong.

* Clean the cross-compilation workspace.

* Try mounting the ccache so it can be shared across multiple jobs.

* Always pull images.

* We need to run on the same node.

* Run on only one core.

* Try building in the Docker container in a different way.

* Do I have the order backwards?

* Can I run anything at all in the container?

* The static code analysis job isn't helpful.

* Try to set the user of the docker container.

* Rebuild the Docker container instead.

* Always pull an updated image.

* Download any necessary dependencies too.

* Oops, use the correct CMake options.

* Fix line break in the wrong place.

* Make sure to use the correct architecture.

* We can't use MATCHES, that is a regex.

* Oops, we need to use STREQUAL.

* Bump to an older version since newer versions don't have gfortran.

* Try to run the tests on the target.

* Correct syntax.

* Okay, I'm not allowed to generate a stage name.

* Try cleaning the workspace at the start of the build.

* Okay, so I just can't depend on the workspace cleaning job, wonderful.

* Try and add the passphrase correctly.

* Fix path for memory checks.

* Fix path to test.

* Fix PR number variable.

* Try to fix path for test copying.

* Try to get the PR number correct.

* Try and centralize where the link cache is stored.

* Why is it being printed strangely?

* Is there some weird restriction where this all has to be on one line?

* Always publish the HTML, and fix a link.

* Try to fix SSH host key check.

* Make the reports directory.

* Try to fix file parsing.

* Try to enable ccache.

* Try to set ccache directory correctly.

* Try to get the full pipeline set up correctly for cross-compilation.

* Fix path to test data.

* Allow debug builds when cross-compiling.

* Remember to unpack all the test data!

* Fail tests when the data isn't there.

* Maybe I can use find instead.

* Double escape for backslash?

* What if we just run the test?

* Port Catch2 improvement for junit runner.

See https://github.com/catchorg/Catch2/commit/c29e198eab0ccdb190495397854b937677385e2e.

* Re-enable junit testing (hopefully it will work now).

* Output directly to the xml file.

* Try to clean up regex.

* Try to set IN PROGRESS status.

* Could it be called RUNNING?

* I guess I don't get access to set jobs in progress through this API.

* Fix regex for test name extraction.

* Try to clean up Jenkinsfiles.

* Fix parameter name.

* Maybe fix syntax?

* Does it work without keyword arguments?

* Correctly accept named parameters.

* Abort previous builds to reduce load on Jenkins.

* Use optimization when compiling.

* Fix syntax for abortPrevious.

* Fix missing closing brace...

* Update links in CI documentation and try to fix memory check job.

* Add Docker deployment page.

* Fix link.

* Fix missing link in pipeline.

* Apply suggestions from code review

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>

* Try to get some more information on the build failure.

* Fix link that now redirects.

* Try to get some more information about why we are not linking against OpenBLAS.

* I think the variable name was wrong, we will see...

* Clean things up since the build should work now.

---------

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>
2025-03-12 16:49:34 -04:00
Ryan Curtin a44fbe4906 Move Jenkins job configuration into the repository (#3893)
* Add a first attempt at explicitly using Jenkinsfiles.

* A first attempt...

* Put code in a script block.

* Add first attempt at link check job pipeline.

* Hopefully correct shell block.

* Install git.

* Install packages as root.

* Use custom image that already has dependencies installed.

* Try processing the JUnit results.

* Fix syntax (hopefully).

* Try to get the build to set its status on Github.

* Try and see if I can get the snippet build to run too.

* A first attempt at reviving the static code analysis build.

* Refactor style check job a bit.

* Try to clean up other files and have them set statuses.

* Set status in script blocks.

* Fix directory (this may not fix my problem).

* Should I load in the script step?

* Maybe I can just load it without a name.

* Maybe I have my path wrong.

* Will this work?  Just a test...

* Try using a plugin instead.

* And if I define the function manually at the top?

* Maybe this will fix the load.

* Try to turn unstable into failed.

* Hopefully fix documentation builds.

* Fix script blocks.

* Maybe fix static code analysis job.

* Try to adapt PR number variable.

* First attempt at cross-compilation job.

* Try to fix some syntax.

* Clean workspaces after build.

* Try to put the matrix in the right place.

* Another attempt at the matrix configuration.

* Maybe I have to nest it deeper.

* Maybe I have to clean always?

* What we need is more tabbing.

* Use try/catch to handle failed junit processing.

* Better handling of environment variables.

* Try a differernt approach than try/catch.

* Try to get some more information about ccache.

* Is it possible we could store the ccache at a higher level?

* Maybe I have the variable name wrong.

* Clean the cross-compilation workspace.

* Try mounting the ccache so it can be shared across multiple jobs.

* Always pull images.

* We need to run on the same node.

* Run on only one core.

* Try building in the Docker container in a different way.

* Do I have the order backwards?

* Can I run anything at all in the container?

* The static code analysis job isn't helpful.

* Try to set the user of the docker container.

* Rebuild the Docker container instead.

* Always pull an updated image.

* Download any necessary dependencies too.

* Oops, use the correct CMake options.

* Fix line break in the wrong place.

* Make sure to use the correct architecture.

* We can't use MATCHES, that is a regex.

* Oops, we need to use STREQUAL.

* Bump to an older version since newer versions don't have gfortran.

* Try to run the tests on the target.

* Correct syntax.

* Okay, I'm not allowed to generate a stage name.

* Try cleaning the workspace at the start of the build.

* Okay, so I just can't depend on the workspace cleaning job, wonderful.

* Try and add the passphrase correctly.

* Fix path for memory checks.

* Fix path to test.

* Fix PR number variable.

* Try to fix path for test copying.

* Try to get the PR number correct.

* Try and centralize where the link cache is stored.

* Why is it being printed strangely?

* Is there some weird restriction where this all has to be on one line?

* Always publish the HTML, and fix a link.

* Try to fix SSH host key check.

* Make the reports directory.

* Try to fix file parsing.

* Try to enable ccache.

* Try to set ccache directory correctly.

* Try to get the full pipeline set up correctly for cross-compilation.

* Fix path to test data.

* Allow debug builds when cross-compiling.

* Remember to unpack all the test data!

* Fail tests when the data isn't there.

* Maybe I can use find instead.

* Double escape for backslash?

* What if we just run the test?

* Port Catch2 improvement for junit runner.

See https://github.com/catchorg/Catch2/commit/c29e198eab0ccdb190495397854b937677385e2e.

* Re-enable junit testing (hopefully it will work now).

* Output directly to the xml file.

* Try to clean up regex.

* Try to set IN PROGRESS status.

* Could it be called RUNNING?

* I guess I don't get access to set jobs in progress through this API.

* Fix regex for test name extraction.

* Try to clean up Jenkinsfiles.

* Fix parameter name.

* Maybe fix syntax?

* Does it work without keyword arguments?

* Correctly accept named parameters.

* Abort previous builds to reduce load on Jenkins.

* Use optimization when compiling.

* Fix syntax for abortPrevious.

* Fix missing closing brace...

* Update links in CI documentation and try to fix memory check job.
2025-03-12 08:34:59 -04:00
b5e3284cf5 Bootstrap strategy for RandomForest (#3829)
* Added sequential bootstrapping to random forest.

* Fixed namespace.

* Fixed style checks.

* Fixed compilation issue.

* Comply to __libcpp_random_is_valid_urng

* Incorporated review feedback

* Corrected style checks.

* Reverted documentation.

* Made constructor implicit to catch armadillo template optimizations

* Fixed compilation error.

* Fixed style check.

* Fixed compilation error.

* Align argument lists between public and private Train function.

* Explicitly state template use to help GCC

* Fixed style check.

* Added name to contributor list.

* Changed indicator matrix to interval matrix

* Updated docs, implementation and testing after code review.

* Fixed style warnings.

* Updated documentation.

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Incorporating code review feedback

* Changed based on code review feedback

* reduced computational complexity.

* resolved conflict.

* resolved conflict

* Reworked after review

* Avoiding recomputation of the concurrency vector for speed-up.

* Resolve merge conflict

* fixed style

* fixed style

* Remove assert statement

* Update src/mlpack/tests/random_forest_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/tests/random_forest_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Integrated changes after code review.

* Fixed style

* Resolved conflict

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Incorporated review comments.

* Fixed styling issues

* Restart style checks

* Update src/mlpack/tests/random_forest_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Reworked documentation from review comments

* Fixed style check

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update HISTORY.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/methods/random_forest/bootstrap.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/methods/random_forest.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Reworked example amd unit test.

* fixed build

* fixed documentation build

* Fixing style check build

* fixing style checks

* fixing check build

* Fix minor compilation issues with example, and make it give output.

---------

Co-authored-by: Felix Patschkowski <felix.patschkowski@itecequipment.com>
Co-authored-by: Ryan Curtin <ryan@ratml.org>
Co-authored-by: Felix Patschkowski <felix.patschkowski@gmail.com>
2025-03-10 16:02:19 +01:00
Ryan Curtin e4fc09d9b8 Use catch -o option for junit output (#3904)
* Try using catch output option directly.

* Force a test to fail and give some output.

* It works!  Remove test that I broke.
2025-03-06 10:21:12 +01:00
Omar ShritandRyan Curtin 6d9919095d Quick fix for a couple of typos (#3905)
* quick fix for a a small things

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
Co-authored-by: Ryan Curtin <ryan@ratml.org>
2025-03-06 10:20:48 +01:00
Ryan Curtin 0737eb0dc6 Document RPlusTree and RPlusPlusTree (#3897) 2025-03-03 01:13:53 +01:00
Omar Shrit 2076090a08 Fix small bug in finding mlpack if downloaded as dependency (#3900)
* Fix small bug in finding mlpack

Since mlpack include is inside a `src/` directory, this is make it more
complicated for CMake to find mlpack path if it is pulled as a dependency
by the user. Therefore, to fix this we are setting directly the
INCLUDE_PATH as the SEARCH_PATH as long as mlpack.hpp is found.

Other minor fixes are related to if /else logic. This will allow to set the
directories when we find the library in a second round.

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix minor things

Signed-off-by: Omar Shrit <omar@avontech.fr>

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-02-28 09:26:10 +01:00
Omar ShritandRyan Curtin 5b86ac1509 Re-organize in #ifdef and #else to avoid double declaration (#3898)
* Re-organize in #ifdef and #else to avoid double declaration

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix GetFilType Thanks to @rcurtin

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add a distr_param version from mlpack

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Change to local DistrParam in tests

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Change to local DistrParam in method

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Apply the same to core

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove resize not relevant in here

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update src/mlpack/core/util/distr_param.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/util/distr_param.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Merge master manually and revert cross validation

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix style

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix naming to fix Windows

Signed-off-by: Omar Shrit <omar@avontech.fr>

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
Co-authored-by: Ryan Curtin <ryan@ratml.org>
2025-02-27 10:20:55 +01:00
Omar ShritandRyan Curtin 58115633dd Add Findmlpack.cmake (#3872)
* Add Findmlack.cmake

I opened this PR, because it was so difficult to revive the old one.

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding the comments from the previous PR

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add the docs again

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add depedencies functions

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Make the filename compatible with the standard

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move the dependencies search from CMakeLists

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove MATHJAX

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Refactor the CMake into dependencies

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove Findarmadillo since it exist in CMake

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove Arpack as well, already in the main stream

Signed-off-by: Omar Shrit <omar@avontech.fr>

* This needs to go, tooo old

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move cereal and ensmallen to mlpack

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Get rid of the empty files

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove Doxygen generation file

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Finish Findmlpack.cmake file

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Increase Cmake version to 3.11 to avoid the warning

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add POST_BUILD to get rid of the warning

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove really old support for MACOS 11 and 9

This is more like 15 years old already

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Already specified no need to do it again

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix according to comments from @rcurtin

Signed-off-by: Omar Shrit <omar@avontech.fr>

* add message for armadillo

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Try to fix windows and cross CI at the same time

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Let us add brutally STB and Armadillo

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove STB image independant file from here

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding more into findmlpack

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move things from CMake as they are not directly relevant

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move the autdownloader to findmlpack

Signed-off-by: Omar Shrit <omar@avontech.fr>

* remove the autodownload

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove cmakeextras, added for obsure reasons

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove license for really old stuff

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Re-order the file how it should be

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move out of dependency

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove Dependencies, as it is no longer used

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add stb to this file again

Signed-off-by: Omar Shrit <omar@avontech.fr>

* reorganize functions

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add find armadillo

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove Dependencies files and autdownload

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Make it use the internal functions

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Finishing most of the cmake modifications

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix a couple of last things

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Change the name and remove old file

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix all comments left by @rcurtin

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the docs for each of the function

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move the cross compilation to inside fetch and make it as an auto detect

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Cut the parts that are refactored

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix function name

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove the ""

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Fix text and code

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Apply comments from @rcurtin

Signed-off-by: Omar Shrit <omar@avontech.fr>

* modify CMakeLists accordingly

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add PR in the history

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/mlpack.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update HISTORY.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/embedded/crosscompile_example.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
Co-authored-by: Ryan Curtin <ryan@ratml.org>
2025-02-25 21:00:53 +01:00
Ryan Curtin d035e1c6ac Handle empty Armadillo objects in Python JSON conversion (#3896) 2025-02-24 03:51:59 +01:00
Ryan Curtin 097d3cc214 Document HilbertRTree (#3891) 2025-02-24 03:51:32 +01:00
Ryan Curtin 639244dc58 Document RStarTree (#3888) 2025-02-19 01:35:45 +01:00
Ryan Curtin e60b566e8c Document XTree (#3890) 2025-02-19 01:13:14 +01:00
Ryan Curtin e7f79637f6 First attempt at GHA CI instead of Azure Pipelines. (#3881)
* First attempt at GHA CI instead of Azure Pipelines.

* Could I have the matrix config wrong?

* Oh, oops, I was just looking in the wrong place for the GHA log.

* Disable Azure Pipelines Linux job.

* Fix some additional small syntax errors.

* Minor updates.

* Try to figure out what is happening with this test!

* Ha, actually remember the argument.

* Try to parse the CTest results.

* Don't build CLI programs for the debug-only mlpack_test build.

* Try to figure out why we don't have the CTest output file.

* Seems like maybe the test just needs more iterations.

* Fix directory for CTest output.

* Try running mlpack_test manually to see if we get better test output.

* Remove version numbers and other non-XML from XML output test file.

* Try to fix debug build.

* Filtering regex.

* Try to fail the build when the tests fail.

* Minor fixes and cleanups to run Python binding tests.

* Print test failure information in the actual build step.

* Update Julia testing strategy.

* Try to also get outputs from other test bindings.

* Fix Julia and Go testing blocks.

* Avoid random collisions that cause test failures.

* Try moving splitting into the trial loop.

* Try a different test reporter action.

* Install pytest for Python tests.

* Fix working directory for Julia test.

* Add test case that will fail to see what it looks like.

* Back to the old action, the new one I tried didn't do what I needed.

* Try a better way to print the test output.

* I still don't know how to mark the job failed yet.

* Maybe this stdout character works better.

* Try a forked test-summary action.

* Try to use distribution version of the modified action.

* Try to see if ccache is doing anything.

* Always run ccache stats step.

* Turn off PCH for ccache.

* Let's just see what it looks like with more error output.

* Clean up ccache configuration.

* Remove fake test because it seems like now I have the output working right.

* Try to reduce file size by not printing debug output into it.

* Try and refactor binding environment seutp into a composite local action.

* Try to fix some syntactical errors.

* Refactor test running into a separate composite action.

* Start trying to make the R build part of the main CI build.

* Oops, the include directory was in the wrong place.

* Try actually running R tests in the workflow too.

* Try to fix a few action issues.

* Try to work around libicu issue.

* Remove unnecessary option.

* Try to run OS X builds too.

* Try to fix matrix configuration.

* Revert "Try to fix matrix configuration."

This reverts commit 22a08d6dcd0d39de0a27f2df16e885bd68e18fda.

* Oops, maybe it was just an extra comma.

* Fix naming, and maybe we have to remove stringi first.

* Try to set Julia location correctly.

* Some fixes to the pipelines.

* Oops, I need root for that.

* Some additional fixes for jobs.

* Hopefully fix a few more builds.

* What, how did that get there?

* Don't use non-portable -i option with sed.

* Run R tests properly to get junit output.

* Oops, I have to redirect the output.

* Where is the output file?

* Try to fix macOS Python location.

* Oops, ROOTDIR is just not set.

* Try to store the name of the R package correctly.

* Oops, we need to specify pip.

* Try to get the right directory for the R package.

* Try to fix another round of issues.  I'm getting closer, at least.

* Okay, fine, let's do it the brutalistic way.

* What is actually happening with the Go binding tests?

* Try a different strategy for printing.

* Make some updates to prepare for Windows builds.

* What's the output of go test?

* Remove -Wall as per golang/go#6883.

* Try to fix duplicate library warning.

* Maybe I just specified the variable in an invalid way that didn't stick?

* This should fix the Go build.

* How did that cd go missing?

* Try to remove DEBUG output from the debug tests.

* Try to be more specific about the ccache key.

* Oops, incorrect variable name.

* Try to speed up the testing step.

* Try to run the Windows build through GHA.

* Try to install locally to deps/.

* Try to install and set up Windows dependencies correctly.

* Try to debug Windows build.

* Use bash for CMake configuration.

* Some additional path fixes.

* A couple fixes, but I don't have the Armadillo path right.

* Fix curl command.

* Maybe this is closer to the right path...

* Okay, look one directory deeper...

* Temporarily print STB compilation failure.

* Try to use absolute path for STB inclusion test.

* Oops, fix syntax.

* Try using REALPATH instead.

* Try just skipping the check...

* Try specifying BLAS and LAPACK locations directly.

* Try to figure out what is going on.

* Are we even using the correct FindArmadillo script?

* Try specifying the libraries manually.

* Try disabling the wrapper library.

* What version of CMake is this?

* Print the configuration.

* What if we specify these library locations?

* Double-check: this should fail.

* Okay, that actually surprisingly did not fail.

* Fix style issues.

* Compress into only one GHA file so all the jobs show up in the same place.

* Try to use absolute path to OpenBLAS.

* Try to fix path mangling on Windows.

* Fix STB path and no PS please.

* Try to fix output on Windows tests.

* Call test from the right place.

* Remove some unnecessary output.

* Try just running the test.

* What is going on, why doesn't the test run?

* Try just running the test with PowerShell.

* Maybe I have the filename wrong?

* PowerShell makes me angry...

* Right, .exe is the suffix...

* I love PowerShell!

* Okay, forget PowerShell.

* Can we even run the test?

* Is it a DLL search path issue?

* Okay, I think this might work for Windows.

* Fix porting of new r2u/p3m workflow (hopefully).

* Fix possibly incorrect variable name.

* Reduce the number of macOS jobs.

* Fix name of job.

* Remove potentially unnecessary step.

* Document CI changes and reorganize jobs for better viewing.

* Remove invalid link.  (Awesome that the link check build picked this up.)
2025-02-14 20:22:13 -05:00
Ryan CurtinandDirk Eddelbuettel e30f83c028 Document RectangleTree and RTree (#3885)
* First attempt at documenting the RectangleTree.

* Add Insert() and Delete() to RectangleTree; they have a nicer user interface than what was previously there.

* Add R-tree documentation.

* Fix default arguments for RectangleTree typedefs.

* Fix some minor documentation display issues.

* Fix link.

* Fix links.

* Try to clarify what trees are a little bit.

* Apply suggestions from code review

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>

* Update doc/user/core/trees/r_tree.md

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>

---------

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>
2025-02-12 15:17:21 -05:00
Thomas Schenker b6ff6e0663 fix Trim() and TrimIf() (#3878)
* fix Trim and TrimIf

* restore original interface, use desciptive names for intermediate
results

* format

* make iterator types explicit
2025-02-09 00:23:48 +01:00
Dirk Eddelbuettel 1cd888f5d0 Use r2u for Linux continuous integration (#3889) 2025-02-07 06:50:23 -06:00
821a95ff56 Stb (#3823)
* Move STB internally, comment functions if not

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Comment for now STB including macros

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Modify CMake and tests accordingly

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the license and update the date.

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Move STB to its own directory

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding the functrions of image resize and crop

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update the API not finished yet

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Start adding tests

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add flowers images for test

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Bring image from the coco dataset

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Include all of STB header in this file

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix STB configs

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Clean CMakeLists and look for stb_resize

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Make it compile with STB integrated

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix stb path

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the endif at the end of the file

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update LICENSE.txt

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMakeLists.txt

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/config.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Adding the function and test, not finished

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove crop from this PR, and add tests

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update LICENSE.txt

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>

* Update CMakeLists.txt

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>

* merge master

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add @rcutin suggestion for stb

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Improve the logic to include edge cases

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the bundle that if we are using system stb

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Make it possible to disable the entire build with STB

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the else if condition

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the else condition

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the tests accordindly

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add dummpy functions and complete the Resize function

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Reorder to see if this fix the problem

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the resize for a set of images

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add STATIC for resize and write

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix all the problem with this function

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Be able to resize N images easily

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Add the tests, already passing

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Use sheep instead of Umbrella

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Fix STB directory

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Fix Cmake and docs

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Apply comments from @rcurtin

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Integrate @rcurtin comments

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Fix tests and remove generated images

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Add docs

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Update the API with new resize version

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Fix to resize2

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Adding resize2

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Add the necessary fix to avoid linker errors

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add configs to allow correct repacking

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Redo the ResizeImages function

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Pack the images as tzr.bz2

Signed-off-by: Omar Shrit <omar@shrit.fr>

* Fix the function calls and create an internal one

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Make the message shorter to have under 80 chars

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Solve linter errors

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Solve linter error

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix linter issues

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/tests/image_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/tests/image_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/tests/image_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/tests/image_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/tests/image_test.cpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Apply @rcurtin comments

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add an example usage of these two functions

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Apply @rcurtin comments

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Re-organize directories for STB

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Apply rcurtin comments

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Merge two resize functions into one

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Get rid of MLPACK_DISABLE_STB

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix forgetting docs

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Update CMake/FindStbImage.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update CMake/FindStbImage.cmake

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/install.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/compile.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update src/mlpack/core/data/image_resize_crop.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update doc/user/load_save.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Apply comments from @rcurtin

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Adding the test to test if it is identical

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix image tests

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the example

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Add the link and the patch to download the images

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the script and make all of them green

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove wget not needed

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Minor style fixes.

* Avoid temporary matrices, and test with multiple different types.

* Update src/mlpack/config.hpp

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Update HISTORY.md

Co-authored-by: Ryan Curtin <ryan@ratml.org>

* Fix R build by including bundled STB headers in package.

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
Signed-off-by: Omar Shrit <omar@shrit.fr>
Co-authored-by: Ryan Curtin <ryan@ratml.org>
Co-authored-by: Dirk Eddelbuettel <edd@debian.org>
2025-02-05 21:06:26 +01:00
Ryan CurtinandDirk Eddelbuettel 9fd815144d Add a cache to documentation check job (#3882)
* A first attempt at overhauling the documentation job with a cache.

* Actually remove files we don't need anymore.

* Fix output from local link checks to give it all at once.

* Add sparse matrices to the set of detected matrix types.

* Fix comparison condition.

* Make a pass to try and re-validate cached links that have not yet expired.

* Compile and link separately so that ccache can take effect.

* Be a little bit smarter about caching.

* Ensure libicu$SO is installed so 'stringi' can be used

Also collapse to remotes calls into one

* Fix style issues that cpplint 2 found (#3884)

* Try to workaround the libicu issue for now.

* Mention new dependency.

---------

Co-authored-by: Dirk Eddelbuettel <edd@debian.org>
2025-02-04 08:04:42 -05:00
Ryan Curtin d45a955a3c Allow ragged sequences for RNN training and prediction (#3870)
* Add LinearRecurrent layer and tests.

* Update RecurrentLayer for correct BPTT and document API changes.

* Reimplement BPTT---correctly, this time.

* Fix RNN implementation and add tests.

* Fix and test LSTM.

* Fix BPTT implementation to use all time steps and add some more tests.

* Fix and tune recurrent sine tests.

* Fix serialization for LinearRecurrent.

* Fix compilation warning when serialization is not enabled.

* When I use the MSE I expect the mean squared error, not the squared error.  These reductions will need to be revisited at some point.

* Restore Reber grammar tests, revamp them, and tune other tests.

* Fix a few tests.

* Update HISTORY.

* Fix style issues.

* Fix one small behavioral change.

* Small patch to support ragged sequence lengths.

* Clean up ragged sequence code and add tests.

* Revert inadvertent changes to NegativeLogLikelihood.

* Fix style issues.

* Fix conditions so that we can serialize NNs even if we didn't define MLPACK_ENABLE_ANN_SERIALIZATION.
2025-02-02 12:10:53 +01:00
Ryan Curtin 6daac5027d Add documentation for Octree (#3880) 2025-01-28 05:47:21 +01:00
Ryan Curtin d9bfc67546 Fix style issues that cpplint 2 found (#3884) 2025-01-24 06:15:10 +01:00
Omar Shrit 04aafc3c47 Use Debug and Release variables from CMake (#3865)
* Use Debug and Release variables from CMake

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Bring back the debug option

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Remove automatically set options

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Document the new option and remove the deprecated ones

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix missing endif ()

Signed-off-by: Omar Shrit <omar@avontech.fr>

* Fix the history, typo and docs

Signed-off-by: Omar Shrit <omar@avontech.fr>

---------

Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-01-16 22:26:03 +01:00
Ryan Curtin 2697739cd1 Turn silent disabling of OpenMP into an actual compilation error (#3879) 2025-01-16 03:57:45 +01:00
Ryan Curtin d39d4929ac Fix RNNs (#3859)
* Add LinearRecurrent layer and tests.

* Update RecurrentLayer for correct BPTT and document API changes.

* Reimplement BPTT---correctly, this time.

* Fix RNN implementation and add tests.

* Fix and test LSTM.

* Fix BPTT implementation to use all time steps and add some more tests.

* Fix and tune recurrent sine tests.

* Fix serialization for LinearRecurrent.

* Fix compilation warning when serialization is not enabled.

* When I use the MSE I expect the mean squared error, not the squared error.  These reductions will need to be revisited at some point.

* Restore Reber grammar tests, revamp them, and tune other tests.

* Fix a few tests.

* Update HISTORY.

* Fix style issues.

* Fix one small behavioral change.

* Handle review comments.
2025-01-15 13:27:20 -05:00
Andrea Novellini 2661fa5425 Fix broken links (#3876) 2025-01-12 13:57:29 -05:00
Ryan Curtin 26e148e610 Update cache Github action to v4. (#3871) 2025-01-10 10:56:53 -06:00
Ryan Curtin 5fd51720e7 Add support for weights to data::Split() and allow cube types. (#3869) 2025-01-10 10:56:33 -06:00
Omar Shrit 38db762297 Merge pull request #3868 from shrit/mutex
Put mutexes under a preprocessed condition.
2025-01-10 10:41:02 +01:00
Omar Shrit 9758a00d63 Merge pull request #3864 from shrit/board_name
Change BOARD_NAME to ARCH_NAME
2025-01-09 10:09:03 +01:00
Omar Shrit 44689ac4ca Update history
Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-01-08 23:32:18 +01:00
Omar Shrit 916229f6c9 Move it to functionality section
Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-01-08 16:16:18 +01:00
Omar ShritandRyan Curtin 2ca9811439 Update doc/user/compile.md
Co-authored-by: Ryan Curtin <ryan@ratml.org>
2025-01-08 16:13:37 +01:00
Omar ShritandRyan Curtin c4269a0876 Update CMake/crosscompile-arch-config.cmake
Co-authored-by: Ryan Curtin <ryan@ratml.org>
2025-01-08 15:13:59 +01:00
Omar Shrit eecc9c9e34 Document the new added option
Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-01-08 15:13:17 +01:00
Dirk Eddelbuettel 0fd8d6166b Switch remaining upload-artifact to v4* (#3867) 2025-01-07 15:06:51 -05:00
Omar Shrit f3b60c2e4f Put mutexes under a preprocessed condition.
This will enable to compile the code if in some cases you do not have
mutex support in the standard library. Assuming you have one core as
well.

Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-01-06 16:25:42 +01:00
Omar Shrit 6e77661284 Change BOARD_NAME to ARCH_NAME
Signed-off-by: Omar Shrit <omar@avontech.fr>
2025-01-04 23:50:04 +01:00
Ryan Curtin aca8af3ebc Document CoverTree (#3861)
* Document the cover tree.

* Fix links.

* Fix compilation issues in examples by allowing default construction of cover trees.
2025-01-03 16:34:45 -05:00