{"id":19952681,"url":"https://github.com/michaeljwelsh/yannl","last_synced_at":"2025-05-03T19:30:55.975Z","repository":{"id":44668606,"uuid":"86402931","full_name":"MichaelJWelsh/yannl","owner":"MichaelJWelsh","description":"Yet another neural network library","archived":false,"fork":false,"pushed_at":"2017-09-25T15:26:13.000Z","size":1988,"stargazers_count":38,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-07T20:21:22.697Z","etag":null,"topics":["artificial-neural-networks","blas","c-plus-plus","c-plus-plus-11","callbacks","cblas","classification","feedforward-neural-network","matrix","neural-network","portable","regression"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MichaelJWelsh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-28T01:51:32.000Z","updated_at":"2024-03-06T05:54:33.000Z","dependencies_parsed_at":"2022-08-30T06:30:41.401Z","dependency_job_id":null,"html_url":"https://github.com/MichaelJWelsh/yannl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelJWelsh%2Fyannl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelJWelsh%2Fyannl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelJWelsh%2Fyannl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelJWelsh%2Fyannl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichaelJWelsh","download_url":"https://codeload.github.com/MichaelJWelsh/yannl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252241951,"owners_count":21717075,"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":["artificial-neural-networks","blas","c-plus-plus","c-plus-plus-11","callbacks","cblas","classification","feedforward-neural-network","matrix","neural-network","portable","regression"],"created_at":"2024-11-13T01:14:03.630Z","updated_at":"2025-05-03T19:30:55.425Z","avatar_url":"https://github.com/MichaelJWelsh.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yannl\nYannl is a compact, portable, feed-forward artificial neural network library written in C++11. Yannl has no dependencies but can be easily optimized for matrix multiplication via callbacks (see integrating BLAS example for details).\n\n\n## Features\n* **Gradient Descent Algorithms**\n    * batch\n    * mini-batch\n    * stochastic\n* **Activation Functions**\n    * sigmoid\n    * relu\n    * tanh\n    * softmax\n    * linear\n* **Learning Rate Annealing**\n* **L2 Regularization**\n* **Momentum**\n* **Fan-In Weight Initialization**\n* **Serializability**\n\n\n## Installation \u0026 Usage\nTo install, run following command from terminal :\n```\nsudo make\n```\nUse `LIB_PATH` and `INCLUDE_PATH` to install Yannl in a specific directory. By default, Yannl is installed at `/usr/local/lib` and header files are stored at `/usr/local/include`.\n\n\nInclude Yannl in your source via:\n```C++\n#include \u003cyannl.hpp\u003e\n```\nAt compilation, use `-lyannl` flag. i.e.\n```\ng++ foo.cpp -lyannl -std=c++11\n```\n\n## Example\nUse the Makefile in the `examples` folder to run each example. Below is the `realistic_classification` example. \n\n\nThe neural network in this example is trained with a very large artificially generated training set. The goal is for it to be able to tell whether the sum of two numbers is positive or negative. The input is two floating-point numbers, and the output is either {1, 0} (positive), or {0, 1} (negative). After training, it is given seven sets of numbers and outputs a matrix classifying the sum of each set of numbers. In this case, the accuracy is 100%. Finally, the user can input their own data and see whether or not the neural network correctly classifies the sum. \n\n\n![](https://github.com/MichaelJWelsh/yannl/blob/master/example.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeljwelsh%2Fyannl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaeljwelsh%2Fyannl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeljwelsh%2Fyannl/lists"}