Contents

๐Ÿ”– Artificial intelligence in Julia

DataMining, Data Structures, HMM, ML, NLP, …1

  • ๐Ÿš๏ธ means the package may not support current versions of Julia.
  • ๐Ÿ—๏ธ means the package may be a WIP.

See also

Machine Learning and Neural Networks

General machine learning frameworks and Neural Networks

  • BayesianNonparametrics.jl :: Bayesian nonparametrics in Julia.
  • Boltzmann.jl :: Restricted Boltzmann Machines and Deep Belief Networks in Julia
  • Clustering.jl :: Basic functions for clustering data ==> k-means, dp-means, etc..
  • DecisionTree.jl :: Julia implementation of Decision Tree (CART) and Random Forest algorithms.
  • Discretizers.jl :: A package to support discretization methods and mapping functions for data discretization and label maps.
  • Flux.jl :: A library for machine learning implemented in Julia. Flux model-zoo.
  • FunctionalDataUtils.jl :: Utility functions for the FunctionalData package, mainly from the area of computer vision / machine learning.
  • Glmnet.jl :: Julia wrapper for fitting Lasso/ElasticNet GLM models using a R package glmnet.
  • LIBLINEAR.jl :: Liblinear binding to Julia.
  • JuliaTorch :: Using PyTorch in Julia Language via PyCall.
  • KernelFunctions.jl :: Julia package for kernel functions for machine learning.
  • Knet.jl :: Koรง University deep learning framework - A machine learning module implemented in Julia. KnetNLP. KnetOnnx.jl
  • LearningStrategies.jl :: A generic and modular framework for building custom iterative algorithms in Julia.
  • LIBSVM.jl :: Julia bindings for LIBSVM C library.
  • LossFunctions.jl :: Julia package of loss functions for machine learning. Documentation: http://lossesjl.readthedocs.io/
  • Merlin.jl :: Flexible Deep Learning Framework in Julia.
  • Mitosis.jl :: Automatic probabilistic programming for scientific machine learning and dynamical models.
  • MLDatasets.jl :: Utility package for accessing common Machine Learning datasets in Julia.
  • MLJ.jl :: A Julia machine learning framework by The Alan Turing Institute
  • MLLabelUtils.jl :: Utility package for working with classification targets and label-encodings.
  • MXNet.jl :: Flexible and efficient deep learning in Julia. (merged into main MXNet repo)
  • NetworkLearning.jl :: Baseline collective classification library.
  • NMF.jl :: A Julia package for non-negative matrix factorization (NMF).
  • ONNX.jl :: Read ONNX graphs and load these models in Julia.
  • ParticleFilters.jl :: Simple particle filter implementation in Julia - works with POMDPs.jl models or others.
  • PredictMD.jl :: Uniform interface for machine learning in Julia.
  • PrivateMultiplicativeWeights.jl :: Differentially private synthetic data.
  • ScikitLearn.jl :: Julia implementation of the scikit-learn API via PyCall.jl. Cheatsheet.
  • SpikingNeuralNetworks.jl :: Julia Spiking Neural Network Simulator.
  • SumProductNetworks.jl :: Sum-Product Networks (deep probabilistic networks) package in Julia.
  • TheDataMustFlow.jl :: Julia tools for feeding tabular data into machine learning.
  • TSVD.jl :: Truncated singular value decomposition with partial reorthogonalization.
  • ValueHistories.jl :: Utilities to efficiently track learning curves or other optimization information.
WIP or may not work
  • ๐Ÿ—๏ธ SpectralClustering.jl :: Spectral clustering algorithms written in Julia.
  • ๐Ÿ—๏ธ XLATools.jl :: Provides access to XLA and the XRT runtime (in Tensorflow), including the ability to build and compile XLA computations using the IRTools format.
  • ๐Ÿš๏ธ ANN.jl :: Julia artificial neural networks
  • ๐Ÿš๏ธ ayush1999 | Keras.jl :: A package built atop Flux to directly load Keras(.py) models into Flux.
  • ๐Ÿš๏ธ BackpropNeuralNet.jl :: A neural network in Julia.
  • ๐Ÿš๏ธ BNMF.jl :: Gamma Process Non-negative Matrix Factorization (GaP-NMF).
  • ๐Ÿš๏ธ ConfidenceWeighted.jl :: Confidence weighted, a machine learning algorithm.
  • ๐Ÿš๏ธ Contingency.jl :: Assorted techniques for the purpose of enabling automated machine learning.
  • ๐Ÿš๏ธ DAI.jl :: A julia binding to the C++ discrete approximate inference library for graphical models: libDAI.
  • ๐Ÿš๏ธ DecisionTrees.jl :: {NotSupported}
  • ๐Ÿš๏ธ EGR.jl :: The Stochastic Gradient (SG) algorithm for machine learning.
  • ๐Ÿš๏ธ ELM.jl :: Extreme Learning Machines are a variant of Single-Hidden Layer Feedforward Networks (SLFNs) with a significant departure as their weights aren’t iteratively tuned. This boosts the speed of neurals nets heavily.
  • ๐Ÿš๏ธ EmpiricalRiskMinimization.jl :: Empirical Risk Minimization (and modeling) in Julia.
  • ๐Ÿš๏ธ Evizero | KSVM.jl :: Support Vector Machines in pure Julia.
  • ๐Ÿš๏ธ FANN.jl :: A Julia wrapper for the Fast Artificial Neural Network Library (FANN).
  • ๐Ÿš๏ธ FeatureSelection.jl :: Common measures and algorithms for feature selection.
  • ๐Ÿš๏ธ Flimsy.jl :: Gradient based Machine Learning for Julia.
  • ๐Ÿš๏ธ go.jl :: A deep learning based Go bot implemented in Julia.
  • ๐Ÿš๏ธ GradientBoost.jl :: Gradient boosting framework for Julia.
  • ๐Ÿš๏ธ hinton.jl :: Create hinton diagrams in Julia. Hinton diagrams are used to visualize weight matrices in neural networks.
  • ๐Ÿš๏ธ HopfieldNets.jl :: Discrete and continuous Hopfield networks in Julia.
  • ๐Ÿš๏ธ HSIC.jl :: Julia implementations of the Hilbert-Schmidt Independence Criterion (HSIC).
  • ๐Ÿš๏ธ invenia |Keras.jl :: A julia wrapper for keras.io.
  • ๐Ÿš๏ธ JuliaTakingFittingAPIsSeriously :: proof of concept taking the APIs for statistics, machine learning and other infomatics.
  • ๐Ÿš๏ธ JuML.jl :: Machine Learning in Julia.
  • ๐Ÿš๏ธ KaggleDigitRecognizer.jl :: Julia code for Kaggle’s Digit Recognizer competition.
  • ๐Ÿš๏ธ KDTrees.jl :: KD Trees.
  • ๐Ÿš๏ธ Kernels.jl :: A Julia package for Mercer kernels and Gramian matrix calculation/approximation functions used in kernel methods of machine learning.
  • ๐Ÿš๏ธ kNN.jl :: The k-Nearest Neighbors algorithm in Julia.
  • ๐Ÿš๏ธ Ladder.jl :: A reliable leaderboard algorithm for machine learning competitions.
  • ๐Ÿš๏ธ Learn.jl :: Base framework library for machine learning packages.
  • ๐Ÿš๏ธ LearnBase.jl :: Abstractions for Julia Machine Learning Packages.
  • ๐Ÿš๏ธ MachineLearning.jl :: is a Machine Learning library package that consolidates common machine learning algorithms written in pure Julia and presents a consistent API.
  • ๐Ÿš๏ธ MLKernels.jl :: Mercer kernels and Gramian matrix calculation/approximation.
  • ๐Ÿš๏ธ Mocha.jl :: A Deep Learning framework for Julia, inspired by the C++ Deep Learning framework Caffe.
  • ๐Ÿš๏ธ MultiLabelNeuralNetwork.jl :: A simple feed-forward neural network for multi-label classification.
  • ๐Ÿš๏ธ neural.jl :: is a Julia implementation of a neural network, based on Sergio Fierens Ruby version.
  • ๐Ÿš๏ธ NeuralNets.jl :: Generic artificial neural networks in Julia.
  • ๐Ÿš๏ธ neuralnetwork.jl :: an implementation of label neural network.
  • ๐Ÿš๏ธ NeuralNetworks.jl :: Various functions for Neural Networks implemented in Julia.
  • ๐Ÿš๏ธ Ollam.jl :: OLLAM = Online Learning of Linear Adaptatable Models.
  • ๐Ÿš๏ธ OnlineAI.jl :: Machine learning for sequential/streaming data. {Usable: 3, Robust: 3, Active: 3}
  • ๐Ÿš๏ธ Orchestra.jl :: Heterogeneous ensemble learning package for the Julia programming language.
  • ๐Ÿš๏ธ ProjectiveDictionaryPairLearning.jl :: Juia code for the paper S. Gu, L. Zhang, W. Zuo, and X. Feng, โ€œProjective Dictionary Pair Learning for Pattern Classification,โ€ In NIPS 2014.
  • ๐Ÿš๏ธ QuickShiftClustering.jl :: Fast hierarchical medoid clustering
  • ๐Ÿš๏ธ RecurrentNN.jl :: Deep RNN and LSTM in Julia.
  • ๐Ÿš๏ธ RegERMs.jl :: A package implementing several machine learning algorithms in a regularised empirical risk minimisation framework (SVMs, LogReg, Linear Regression) in Julia.
  • ๐Ÿš๏ธ remusao | KSVM.jl :: Kernel Support Vector Machine (SVM) written in Julia.
  • ๐Ÿš๏ธ RNN.jl :: Recurrent Neural Networks.
  • ๐Ÿš๏ธ SALSA.jl :: _S_oftware Lab for _A_dvanced Machine _L_earning and _S_tochastic _A_lgorithms is a native Julia implementation of the well known stochastic algorithms for linear and non-linear Support Vector Machines.
  • ๐Ÿš๏ธ SFA.jl :: Implementation of the standard SFA (Slow Feature Analysis) algorithm (both linear and non-linear signal expansion) in Julia.
  • ๐Ÿš๏ธ SimpleML.jl :: Textbook implementations of some Machine Learning Algorithms in Julia.
  • ๐Ÿš๏ธ SimpleNets :: Simple neural nets implementions in Julia.
  • ๐Ÿš๏ธ SoftConfidenceWeighted.jl :: Exact Soft Confidence-Weighted Learning.
  • ๐Ÿš๏ธ SpikeNet.jl :: A spiking neural network simulator written in Julia.
  • ๐Ÿš๏ธ StackedNets.jl :: A simple interface to deep stacks of neural network units that can be trained using gradient descent over defined error measures.
  • ๐Ÿš๏ธ Strada.jl :: A deep learning library for Julia based on Caffe.
  • ๐Ÿš๏ธ SVMLightLoader.jl :: Loader of svmlight / liblinear format files.
  • ๐Ÿš๏ธ TensorFlow.jl :: A Julia wrapper for TensorFlow, the open source machine learning framework from Google.
  • ๐Ÿš๏ธ tuzzeg | liblinear.jl :: Liblinear binding to Julia.

Resources

Natural language processing (NLP)

๐Ÿ“– Natural language processing

WIP or may not work
  • ๐Ÿš๏ธ allen :: A syntacto-semantic natural language parser.
  • ๐Ÿš๏ธ DPL.jl :: Projective Dictionary Pair Learning - code for the paper S. Gu, L. Zhang, W. Zuo, and X. Feng, โ€œProjective Dictionary Pair Learning for Pattern Classification,โ€ In NIPS 20144. https://sites.google.com/site/shuhanggu/home
  • ๐Ÿš๏ธ GoodTuring.jl :: A Julia implementation of Simple Good Turing smoothing, largely adapted from @maxbane.
  • ๐Ÿš๏ธ KUparser.jl :: Dependency parsing with word vectors.
  • ๐Ÿš๏ธ LTSV.jl :: Labeled Tab Separated Values (LTSV) parser.
  • ๐Ÿš๏ธ MeCab.jl :: Julia binding of Japanese morphological analyzer MeCab.
  • ๐Ÿš๏ธ NGram.jl :: Implement the NGram model.
  • ๐Ÿš๏ธ Parsimonious.jl :: A PEG parser generator.
  • ๐Ÿš๏ธ PEGParser.jl :: A PEG Parser for Julia with Packrat capabilties, inspired by pyparsing, parsimonious, boost::spirit, as well as several others.
  • ๐Ÿš๏ธ PyLexYacc.jl :: An interface to Python Lex-Yacc package that uses reflection for most of its processing.
  • ๐Ÿš๏ธ SimpleParser.jl :: A very simple hackable parser and lexer for simple languages.
  • ๐Ÿš๏ธ Stemmers.jl :: Interface for text stemmer implementations.
  • ๐Ÿš๏ธ Sumup.jl :: Automatic multi-documents, multi-topics summarization based on topic extraction.
  • ๐Ÿš๏ธ Text.jl :: Numerous tools for text processing.
  • ๐Ÿš๏ธ Treekenize.jl :: Parser with beginners and enders and infix.

English NLP

  • EnglishText.jl :: Utilities for English-language quirks in Julia.
  • Why.jl :: A simple function, why(), which gives randomly generated answers.

Reinforcement Learning

๐Ÿ“– Reinforcement Learning

WIP or may not work
  • ๐Ÿš๏ธ DeepQLearning.jl :: An implementation of DeepMind’s Deep Q Learning algorithm described in Playing Atari with Deep Reinforcement Learning.
  • ๐Ÿš๏ธ ReinforcementLearning.jl by @benhamner :: A Reinforcement Learning package.

Speech recognition

  • MFCC.jl :: Standard Mel Frequency Cepstral Coefficients feature extraction for speech analysis.
  • WORLD.jl :: A Julia wrapper for WORLD - a high-quality speech analysis, modification and synthesis system.
WIP or may not work
  • ๐Ÿš๏ธ MelGeneralizedCepstrums.jl :: It provides a mel generalized cepstrum analysis for spectrum envelope estimation, which includes linear predicition, mel-cepstrum, generalized cepstrum and mel-generalized cepstrum analysis for Julia.
  • ๐Ÿš๏ธ SpeechBase.jl.
  • ๐Ÿš๏ธ SPTK.jl :: A Julia wrapper for the Speech Signal Processing Toolkit (SPTK), based on the modified version of SPTK.
  • ๐Ÿš๏ธ SynthesisFilters.jl :: Speech Synthesis Filters.

  1. Julia.jl is under COPYRIGHT ยฉ 2012-Now SVAKSHA, dual-licensed for the data (ODbL-v1.0+) and the software (AGPLv3+), respectively. ↩︎