{"id":18835254,"url":"https://github.com/mlpack/ensmallen","last_synced_at":"2025-05-14T20:03:16.027Z","repository":{"id":37561729,"uuid":"151348135","full_name":"mlpack/ensmallen","owner":"mlpack","description":"A header-only C++ library for numerical optimization --","archived":false,"fork":false,"pushed_at":"2025-02-26T12:45:29.000Z","size":5364,"stargazers_count":777,"open_issues_count":11,"forks_count":125,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-03-30T10:05:05.619Z","etag":null,"topics":["deep-learning","function-optimization","machine-learning","minimization","optimization","optimization-algorithms"],"latest_commit_sha":null,"homepage":"http://ensmallen.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlpack.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-03T01:53:06.000Z","updated_at":"2025-03-27T19:44:31.000Z","dependencies_parsed_at":"2024-03-26T05:21:36.095Z","dependency_job_id":"71877048-fdb5-42bd-8ec8-5eb5df3e6fe4","html_url":"https://github.com/mlpack/ensmallen","commit_stats":{"total_commits":2598,"total_committers":69,"mean_commits":37.65217391304348,"dds":0.7632794457274827,"last_synced_commit":"b0e33483fb9eb7decb1d11a00b41dae02836b1f5"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlpack%2Fensmallen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlpack%2Fensmallen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlpack%2Fensmallen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlpack%2Fensmallen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlpack","download_url":"https://codeload.github.com/mlpack/ensmallen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247471518,"owners_count":20944158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","function-optimization","machine-learning","minimization","optimization","optimization-algorithms"],"created_at":"2024-11-08T02:15:09.413Z","updated_at":"2025-04-06T11:06:12.294Z","avatar_url":"https://github.com/mlpack.png","language":"C++","funding_links":[],"categories":["C++","Optimization"],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e\n  \u003ca href=\"http://ensmallen.org/\"\u003e\u003cimg src=\"http://ensmallen.org/img/ensmallen_text.svg\" style=\"background-color:rgba(0,0,0,0);\" height=230 alt=\"ensmallen: a C++ header-only library for numerical optimization\"\u003e\u003c/a\u003e\n\u003c/h2\u003e\n\n**ensmallen** is a high-quality C++ library for non-linear numerical optimization.\n\nensmallen provides many types of optimizers that can be used\nfor virtually any numerical optimization task.\nThis includes gradient descent techniques, gradient-free optimizers,\nand constrained optimization.\nExamples include L-BFGS, SGD, CMAES and Simulated Annealing.\nensmallen also allows optional callbacks to customize the optimization process.\n\nDocumentation and downloads: https://ensmallen.org\n\n### Requirements\n\n* C++ compiler with C++14 support\n* Armadillo (https://arma.sourceforge.net), version 10.8.2 or later\n* OpenBLAS or Intel MKL or LAPACK (see Armadillo site for details)\n\n\n### Installation\n\nensmallen can be installed in several ways: either manually or via cmake, \nwith or without root access.\n\nThe cmake based installation will check the requirements \nand optionally build the tests. If cmake 3.3 (or a later version) \nis not already available on your system, it can be obtained \nfrom [cmake.org](https://cmake.org).\n\nExample cmake based installation with root access:\n\n```\nmkdir build\ncd build\ncmake ..\nsudo make install\n```\n\nExample cmake based installation without root access, \ninstalling into `/home/blah/` (adapt as required):\n\n```\nmkdir build\ncd build\ncmake .. -DCMAKE_INSTALL_PREFIX:PATH=/home/blah/\nmake install\n```\n\nThe above will create a directory named `/home/blah/include/` \nand place all ensmallen headers there.\n\nTo optionally build and run the tests\n(after running cmake as above),\nuse the following additional commands:\n\n```\nmake ensmallen_tests\n./ensmallen_tests --durations yes\n```\n\nManual installation involves simply copying the `include/ensmallen.hpp` header \n***and*** the associated `include/ensmallen_bits` directory to a location \nsuch as `/usr/include/` which is searched by your C++ compiler.\nIf you can't use `sudo` or don't have write access to `/usr/include/`, \nuse a directory within your own home directory (eg. `/home/blah/include/`).\n\n\n### Example Compilation\n\nIf you have installed ensmallen in a standard location such as `/usr/include/`:\n\n    g++ prog.cpp -o prog -O2 -larmadillo\n    \nIf you have installed ensmallen in a non-standard location, \nsuch as `/home/blah/include/`, you will need to make sure \nthat your C++ compiler searches `/home/blah/include/` \nby explicitly specifying the directory as an argument/option. \nFor example, using the `-I` switch in gcc and clang:\n\n    g++ prog.cpp -o prog -O2 -I /home/blah/include/ -larmadillo\n\n\n### Example Optimization\n\nSee [`example.cpp`](example.cpp) for example usage of the L-BFGS optimizer \nin a linear regression setting.\n\n\n### License\n\nUnless stated otherwise, the source code for **ensmallen** is licensed under the\n3-clause BSD license (the \"License\").  A copy of the License is included in the\n\"LICENSE.txt\" file.  You may also obtain a copy of the License at\nhttp://opensource.org/licenses/BSD-3-Clause\n\n\n### Citation\n\nPlease cite the following paper if you use ensmallen in your research and/or\nsoftware. Citations are useful for the continued development and maintenance of\nthe library.\n\n* Ryan R. Curtin, Marcus Edel, Rahul Ganesh Prabhu, Suryoday Basak, Zhihao Lou, Conrad Sanderson.  \n  [The ensmallen library for flexible numerical optimization](https://jmlr.org/papers/volume22/20-416/20-416.pdf).  \n  Journal of Machine Learning Research, Vol. 22, No. 166, 2021.\n\n```\n@article{ensmallen_JMLR_2021,\n  author  = {Ryan R. Curtin and Marcus Edel and Rahul Ganesh Prabhu and Suryoday Basak and Zhihao Lou and Conrad Sanderson},\n  title   = {The ensmallen library for flexible numerical optimization},\n  journal = {Journal of Machine Learning Research},\n  year    = {2021},\n  volume  = {22},\n  number  = {166},\n  pages   = {1--6},\n  url     = {http://jmlr.org/papers/v22/20-416.html}\n}\n```\n\n### Developers and Contributors\n\n* Ryan Curtin\n* Dongryeol Lee\n* Marcus Edel\n* Sumedh Ghaisas\n* Siddharth Agrawal\n* Stephen Tu\n* Shikhar Bhardwaj\n* Vivek Pal\n* Sourabh Varshney\n* Chenzhe Diao\n* Abhinav Moudgil\n* Konstantin Sidorov\n* Kirill Mishchenko\n* Kartik Nighania\n* Haritha Nair\n* Moksh Jain\n* Abhishek Laddha\n* Arun Reddy\n* Nishant Mehta\n* Trironk Kiatkungwanglai\n* Vasanth Kalingeri\n* Zhihao Lou\n* Conrad Sanderson\n* Dan Timson\n* N Rajiv Vaidyanathan\n* Roberto Hueso\n* Sayan Goswami\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlpack%2Fensmallen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlpack%2Fensmallen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlpack%2Fensmallen/lists"}