The nnlib2 library and nnlib2Rcpp R package for implementing neural networks
The nnlib2 library and nnlib2Rcpp R package for implementing neural networks - Published in JOSS (2021)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: arxiv.org, joss.theoj.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
An R package for Neural Nets created using nnlib2
Basic Info
- Host: GitHub
- Owner: VNNikolaidis
- License: other
- Language: C++
- Default Branch: master
- Size: 1.99 MB
Statistics
- Stars: 13
- Watchers: 1
- Forks: 4
- Open Issues: 0
- Releases: 17
Metadata Files
README.md
nnlib2Rcpp
An R package providing access to Neural Networks created using nnlib2.
A tool for creating custom neural networks in C++ and using them in R. The Artificial Neural Networks (ANN), also called Artificial Neural Systems (ANS) or simply Neural Networks (NN) are created using the 'nnlib2' C++ library.
Currently also includes predefined versions of BP, Autoencoder, MAM, LVQ (supervised and unsupervised).
All NNs are created using 'nnlib2' (a C++ library of classes for implementing NNs) and interfaced with R via RCpp.
The package also provides the NN R module (Class "NN") which allows creation and control of custom NNs configurations and topologies from R. These NNs consist of components (predefined or user-defined) usually defined via 'nnlib2'. To add new user-defined NN components (layers, nodes, connections, sets of connections etc) to the package see the "NN" component documentation (type ?NN in R). Note: defining components via 'nnlib2' requires some familiarity with C++.
To install:
(a) From CRAN Repository (recommended): The CRAN (stable) version of this package can be installed the usual way, i.e. by invoking the following R command:
install.packages("nnlib2Rcpp")
(b) From GitHub: To add the GitHub (latest) version of this package to your R installation, use the following R commands:
library(devtools)
install_github("VNNikolaidis/nnlib2Rcpp")
(c) From r-universe: To add the package (corresponding to the latest GitHub release version) to your R installation, use the following R command:
install.packages('nnlib2Rcpp', repos = 'https://vnnikolaidis.r-universe.dev')
Once installed, for package help (including documentation and examples for each function or class provided by nnlib2Rcpp) use the following R command:
help(package='nnlib2Rcpp')
while the package vignette (containing information on adding custom components) can be viewed using the following R command:
vignette("intro", package='nnlib2Rcpp')
The package vignette is also available in PDF format here:
https://github.com/VNNikolaidis/nnlib2Rcpp/blob/master/support/manual.pdf
A reference manual in PDF format (for the last version in CRAN) can be found here:
https://cran.r-project.org/web/packages/nnlib2Rcpp/nnlib2Rcpp.pdf
For information on citing this package use the following R command:
citation("nnlib2Rcpp")
For copyright information see LICENSE.md file or DESCRIPTION+LICENSE files (as imposed by package format for CRAN submissions).
The ‘nnlib2’ library used (and included) in this package is a collection of C++ base classes and templates for creating NNs. This library is also available as a standalone project, in GitHub repository (https://github.com/VNNikolaidis/nnlib2). For a (simplified) class-diagram of significant nnlib2 classes and templates see: https://github.com/VNNikolaidis/nnlib2/blob/master/misc/diagram%20of%20main%20classes.png
For implementing new NN components and models in nnlib2 that can be used in nnlib2Rcpp, see also:
https://r-posts.com/creating-custom-neural-networks-with-nnlib2rcpp/ ( permalink: https://wp.me/p8rgs6-sh )
Instructions on using 'nnlib2' and 'nnlib2Rcpp' can also be found in the package vingette, also available in PDF format here:
https://github.com/VNNikolaidis/nnlib2Rcpp/blob/master/support/manual.pdf
Link to related paper in the Journal of Open Source Software:
Future goals for this project (iF AND WHEN time permits) include:
- implement additional neural network components and models using 'nnlib2' classes and templates (and thus new neural network components compatible with "NN" module in nnlib2Rcpp).
- create a library of 'classic' neural network components and models.
- add parallelism to ‘nnlib2’ component base classes (possibly via OpenMP, CUDA etc.).
- replace custom data structures in 'nnlib2' with STL containers.
- add support for package 'nn2poly' (https://arxiv.org/pdf/2406.01588) to the package.
- other performance enhancements.
Let us know if interested to contribute.
We invite anyone to contribute to this software and/or provide feedback, suggestions, report issues or problems.
To contact us, please use the issues option in GitHub or email (vnnikolaidis AT gmail.com).
JOSS Publication
The nnlib2 library and nnlib2Rcpp R package for implementing neural networks
Tags
neural networks CppGitHub Events
Total
- Release event: 1
- Push event: 1
- Create event: 1
Last Year
- Release event: 1
- Push event: 1
- Create event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Vasilis N. Nikolaidis | 3****s | 201 |
| Dirk Eddelbuettel | e****d@d****g | 1 |
| Arfon Smith | a****n | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 9
- Average time to close issues: 7 days
- Average time to close pull requests: about 3 hours
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 5.57
- Average comments per pull request: 0.22
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- schnorr (3)
- drag05 (2)
- tpq (2)
Pull Request Authors
- VNNikolaidis (7)
- eddelbuettel (1)
- arfon (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 427 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 17
- Total maintainers: 1
cran.r-project.org: nnlib2Rcpp
A Tool for Creating Custom Neural Networks in C++ and using Them in R
- Homepage: https://github.com/VNNikolaidis/nnlib2Rcpp
- Documentation: http://cran.r-project.org/web/packages/nnlib2Rcpp/nnlib2Rcpp.pdf
- License: MIT + file LICENSE
-
Latest release: 0.2.9
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- Rcpp * imports
- methods * imports
- R.rsp * suggests
