Accord.NET

Last updated
Accord.NET
Original author(s) César Roberto de Souza
Initial releaseMay 20, 2010;13 years ago (2010-05-20) [1]
Stable release
3.8.0 / October 22, 2017;6 years ago (2017-10-22)
Preview release
3.8.0 / October 22, 2017;6 years ago (2017-10-22)
Repository
Written inC#
Operating system Cross-platform
Type Framework
License LGPLv3 and partly GPLv3
Website www.accord-framework.net

Accord.NET is a framework for scientific computing in .NET. The source code of the project is available under the terms of the Gnu Lesser Public License, version 2.1.

Contents

The framework comprises a set of libraries that are available in source code as well as via executable installers and NuGet packages. The main areas covered include numerical linear algebra, numerical optimization, statistics, machine learning, artificial neural networks, signal and image processing, and support libraries (such as graph plotting and visualization). [2] [3] The project was originally created to extend the capabilities of the AForge.NET Framework, but has since incorporated AForge.NET inside itself. Newer releases have united both frameworks under the Accord.NET name.

The Accord.NET Framework has been featured in multiple books such as Mastering .NET Machine Learning [4] by PACKT publishing and F# for Machine Learning Applications, [5] featured in QCON San Francisco, [6] and currently accumulates more than 1,500 forks in GitHub. [7]

Multiple scientific publications have been published with the use of the framework. [8] [9] [10] [11] [12] [13]

See also

Related Research Articles

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines. Though more often considered an academic discipline, computer science is closely related to computer programming.

Computer vision tasks include methods for acquiring, processing, analyzing and understanding digital images, and extraction of high-dimensional data from the real world in order to produce numerical or symbolic information, e.g. in the forms of decisions. Understanding in this context means the transformation of visual images into descriptions of the world that make sense to thought processes and can elicit appropriate action. This image understanding can be seen as the disentangling of symbolic information from image data using models constructed with the aid of geometry, physics, statistics, and learning theory.

Computational science, also known as scientific computing, technical computing or scientific computation (SC), is a division of science that uses advanced computing capabilities to understand and solve complex physical problems. This includes

In parallel computing, an embarrassingly parallel workload or problem is one where little or no effort is needed to separate the problem into a number of parallel tasks. This is often the case where there is little or no dependency or need for communication between those parallel tasks, or for results between them.

<span class="mw-page-title-main">OpenCV</span> Computer vision library

OpenCV is a library of programming functions mainly for real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage, then Itseez. The library is cross-platform and licensed as free and open-source software under Apache License 2. Starting in 2011, OpenCV features GPU acceleration for real-time operations.

The Conference on Computer Vision and Pattern Recognition (CVPR) is an annual conference on computer vision and pattern recognition, which is regarded as one of the most important conferences in its field. According to Google Scholar Metrics (2022), it is the highest impact computing venue.

AForge.NET is a computer vision and artificial intelligence library originally developed by Andrew Kirillov for the .NET Framework.

The following tables provide a comparison of linear algebra software libraries, either specialized or general purpose libraries with significant linear algebra coverage.

Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty.

Ilastik is a user-friendly free open source software for image classification and segmentation. No previous experience in image processing is required to run the software.

<span class="mw-page-title-main">MNIST database</span> Database of handwritten digits

The MNIST database is a large database of handwritten digits that is commonly used for training various image processing systems. The database is also widely used for training and testing in the field of machine learning. It was created by "re-mixing" the samples from NIST's original datasets. The creators felt that since NIST's training dataset was taken from American Census Bureau employees, while the testing dataset was taken from American high school students, it was not well-suited for machine learning experiments. Furthermore, the black and white images from NIST were normalized to fit into a 28x28 pixel bounding box and anti-aliased, which introduced grayscale levels.

Eclipse Deeplearning4j is a programming library written in Java for the Java virtual machine (JVM). It is a framework with wide support for deep learning algorithms. Deeplearning4j includes implementations of the restricted Boltzmann machine, deep belief net, deep autoencoder, stacked denoising autoencoder and recursive neural tensor network, word2vec, doc2vec, and GloVe. These algorithms all include distributed parallel versions that integrate with Apache Hadoop and Spark.

Feature engineering or feature extraction or feature discovery is the process of extracting features from raw data to support training a downstream statistical model.

<span class="mw-page-title-main">TensorFlow</span> Machine learning software library

TensorFlow is a free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.

The following table compares notable software frameworks, libraries and computer programs for deep learning.

<span class="mw-page-title-main">Qiskit</span> Open-source software development kit

Qiskit is an open-source software development kit (SDK) for working with quantum computers at the level of circuits, pulses, and algorithms. It provides tools for creating and manipulating quantum programs and running them on prototype quantum devices on IBM Quantum Platform or on simulators on a local computer. It follows the circuit model for universal quantum computation, and can be used for any quantum hardware that follows this model.

Differentiable programming is a programming paradigm in which a numeric computer program can be differentiated throughout via automatic differentiation. This allows for gradient-based optimization of parameters in the program, often via gradient descent, as well as other learning approaches that are based on higher order derivative information. Differentiable programming has found use in a wide variety of areas, particularly scientific computing and machine learning. One of the early proposals to adopt such a framework in a systematic fashion to improve upon learning algorithms was made by the Advanced Concepts Team at the European Space Agency in early 2016.

Stefan Roth is a German computer scientist, professor of computer science and dean of the department of computer science of the Technische Universität Darmstadt. He heads the Visual Inference Lab.

<span class="mw-page-title-main">Infer.NET</span> Microsoft open source library

Infer.NET is a free and open source .NET software library for machine learning. It supports running Bayesian inference in graphical models and can also be used for probabilistic programming.

References

  1. "Machine learning, computer vision, statistics and general scientific computing for .NET: Accord-net/framework". GitHub . 2018-12-21.
  2. Greg Duncan. Portable Image and Video processing with help from AForge.NET and Accord.NET. Channel 9, November 2014. Web extract
  3. Accord project on Open Hub. Web extract
  4. "Mastering .NET Machine Learning". www.packtpub.com.
  5. "F# for Machine Learning Essentials". www.packtpub.com.
  6. "NET Machine Learning: F# and Accord.NET". InfoQ.
  7. Accord.NET Framework project on GitHub
  8. Blamey, Ben; Crick, Tom; Oatley, Giles (2013). "'The First Day of Summer': Parsing Temporal Expressions with Distributed Semantics" (PDF). Research and Development in Intelligent Systems XXX (PDF). Springer, Cham. pp. 389–402. doi:10.1007/978-3-319-02621-3_29. ISBN   978-3-319-02620-6.
  9. Mueller, Wojciech; Nowakowski, Krzysztof; Tomczak, Robert J.; Kujawa, Sebastian; Rudowicz-Nawrocka, Janina; Idziaszek, Przemysław; Zawadzki, Adrian (2013-07-19). "IT system supporting acquisition of image data used in the identification of grasslands". In Wang, Yulin; Yi, Xie (eds.). Fifth International Conference on Digital Image Processing (ICDIP 2013). Vol. 8878. International Society for Optics and Photonics. pp. 88781T–88781T–4. doi:10.1117/12.2031602. S2CID   368511.
  10. Arriaga, Julio; Kossan, George; Cody, Martin; Vallejo, Edgar; Taylor, Charles (2013). "Acoustic sensor arrays for understanding bird communication. Identifying Cassin's Vireos using SVMs and HMMs". Advances in Artificial Life, ECAL 2013: 827–828. CiteSeerX   10.1.1.474.7109 . doi:10.7551/978-0-262-31709-2-ch120. ISBN   9780262317092.
  11. Keramitsoglou, I.; Kiranoudis, C. T.; Weng, Q. (September 2013). "Downscaling Geostationary Land Surface Temperature Imagery for Urban Analysis". IEEE Geoscience and Remote Sensing Letters. 10 (5): 1253–1257. Bibcode:2013IGRSL..10.1253K. doi:10.1109/lgrs.2013.2257668. ISSN   1545-598X. S2CID   8990560.
  12. Afif, Mohammed H.; Hedar, Abdel-Rahman; Hamid, Taysir H. Abdel; Mahdy, Yousef B. (2012-12-08). "Support Vector Machines with Weighted Powered Kernels for Data Classification". Advanced Machine Learning Technologies and Applications. Communications in Computer and Information Science. Vol. 322. pp. 369–378. doi:10.1007/978-3-642-35326-0_37. ISBN   978-3-642-35325-3.
  13. De Souza, Cesar Roberto (2017). "Procedural Generation of Videos to Train Deep Action Recognition Networks". Computer Vision and Pattern Recognition (CVPR). 2017: 4757–4767. arXiv: 1612.00881 via CVPR Open Access.