An open library of computer vision algorithms

Overview

VLFeat -- Vision Lab Features Library

Version 0.9.21

The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. Algorithms incldue Fisher Vector, VLAD, SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, SLIC superpixes, quick shift superpixels, large scale SVM training, and many others. It is written in C for efficiency and compatibility, with interfaces in MATLAB for ease of use, and detailed documentation throughout. It supports Windows, Mac OS X, and Linux.

VLFeat is distributed under the BSD license (see the COPYING file).

The documentation is available online and shipped with the library as doc/index.html. See also:

Quick start with MATLAB

To start using VLFeat as a MATLAB toolbox, download the latest VLFeat binary package. Note that the pre-compiled binaries require MATLAB 2009B and later. Unpack it, for example by using WinZIP (Windows), by double clicking on the archive (Mac), or by using the command line (Linux and Mac):

> tar xzf vlfeat-X.Y.Z-bin.tar.gz

Here X.Y.Z denotes the latest version. Start MATLAB and run the VLFeat setup command:

> run <VLFEATROOT>/toolbox/vl_setup

Here <VLFEATROOT> should be replaced with the path to the VLFeat directory created by unpacking the archive. All VLFeat demos can now be run in a row by the command:

> vl_demo

Check out the individual demos by editing this file: edit vl_demo.

Octave support

The toolbox should be laregly compatible with GNU Octave, an open source MATLAB equivalent. However, the binary distribution does not ship with pre-built GNU Octave MEX files. To compile them use

> cd <vlfeat directory>
> make MKOCTFILE=<path to the mkoctfile program>

Changes

  • 0.9.21 Maintenance release. Bugfixes.
  • 0.9.20 Maintenance release. Bugfixes.
  • 0.9.19 Maintenance release. Minor bugfixes and fixes compilation with MATLAB 2014a.
  • 0.9.18 Several bugfixes. Improved documentation, particularly of the covariant detectors. Minor enhancements of the Fisher vectors.
  • 0.9.17 Rewritten SVM implementation, adding support for SGD and SDCA optimisers and various loss functions (hinge, squared hinge, logistic, etc.) and improving the interface. Added infrastructure to support multi-core computations using OpenMP (MATLAB 2009B or later required). Added OpenMP support to KD-trees and KMeans. Added new Gaussian Mixture Models, VLAD encoding, and Fisher Vector encodings (also with OpenMP support). Added LIOP feature descriptors. Added new object category recognition example code, supporting several standard benchmarks off-the-shelf.
  • 0.9.16 Added VL_COVDET. This function implements the following detectors: DoG, Hessian, Harris Laplace, Hessian Laplace, Multiscale Hessian, Multiscale Harris. It also implements affine adaptation, estiamtion of feature orientation, computation of descriptors on the affine patches (including raw patches), and sourcing of custom feature frame.
  • 0.9.15 Added VL_HOG (HOG features). Added VL_SVMPEGASOS and a vastly improved SVM implementation. Added VL_IHASHSUM (hashed counting). Improved INTHIST (integral histogram). Added VL_CUMMAX. Improved the implementation of VL_ROC and VL_PR(). Added VL_DET() (Detection Error Trade-off (DET) curves). Improved the verbosity control to AIB. Added support for Xcode 4.3, improved support for past and future Xcode versions. Completed the migration of the old test code in toolbox/test, moving the functionality to the new unit tests toolbox/xtest.
  • 0.9.14 Added SLIC superpixels. Added VL_ALPHANUM(). Improved Windows binary package and added support for Visual Studio 2010. Improved the documentation layout and added a proper bibliography. Bugfixes and other minor improvements. Moved from the GPL to the less restrictive BSD license.
  • 0.9.13 Fixed Windows binary package.
  • 0.9.12 Fixes vl_compile and the architecture string on Linux 32 bit.
  • 0.9.11 Fixes a compatibility problem on older Mac OS X versions. A few bugfixes are included too.
  • 0.9.10 Improves the homogeneous kernel map. Plenty of small tweaks and improvements. Make maci64 the default architecture on the Mac.
  • 0.9.9 Added: sift matching example. Extended Caltech-101 classification example to use kd-trees.
  • 0.9.8 Added: image distance transform, PEGASOS, floating point K-means, homogeneous kernel maps, a Caltech-101 classification example. Improved documentation.
  • 0.9.7 Changed the Mac OS X binary distribution to require a less recent version of Mac OS X (10.5).
  • 0.9.6 Changed the GNU/Linux binary distribution to require a less recent version of the C library.
  • 0.9.5 Added kd-tree and new SSE-accelerated vector/histogram comparison code. Improved dense SIFT (dsift) implementation. Added Snow Leopard and MATLAB R2009b support.
  • 0.9.4 Added quick shift. Renamed dhog to dsift and improved implementation and documentation. Improved tutorials. Added 64 bit Windows binaries. Many other small changes.
  • 0.9.3 Namespace change (everything begins with a vl_ prefix now). Many other changes to provide compilation support on Windows with MATLAB 7.
  • beta-3 Completes to the ikmeans code.
  • beta-2 Many additions.
  • beta-1 Initial public release.
Comments
  • build error in ubuntu 11.10

    build error in ubuntu 11.10

    Hi, I just tried to compile the package and got this weird linker error. Any thought?

    $ make MK toolbox/mex/mexa64/ CC toolbox/mex/mexa64/vl_mser.d CC toolbox/mex/mexa64/vl_erfill.d CC toolbox/mex/mexa64/vl_localmax.d CC toolbox/mex/mexa64/vl_pegasos.d CC toolbox/mex/mexa64/vl_ihashfind.d CC toolbox/mex/mexa64/vl_homkermap.d CC toolbox/mex/mexa64/vl_alldist.d CC toolbox/mex/mexa64/vl_alldist2.d CC toolbox/mex/mexa64/vl_binsearch.d CC toolbox/mex/mexa64/vl_simdctrl.d CC toolbox/mex/mexa64/vl_binsum.d CC toolbox/mex/mexa64/vl_ihashsum.d CC toolbox/mex/mexa64/vl_kdtreebuild.d CC toolbox/mex/mexa64/vl_samplinthist.d CC toolbox/mex/mexa64/vl_getpid.d CC toolbox/mex/mexa64/vl_twister.d CC toolbox/mex/mexa64/vl_kdtreequery.d CC toolbox/mex/mexa64/vl_inthist.d CC toolbox/mex/mexa64/vl_lbp.d CC toolbox/mex/mexa64/vl_version.d CC toolbox/mex/mexa64/vl_rodr.d CC toolbox/mex/mexa64/vl_irodr.d CC toolbox/mex/mexa64/vl_quickshift.d CC toolbox/mex/mexa64/vl_imwbackwardmx.d CC toolbox/mex/mexa64/vl_tpsumx.d CC toolbox/mex/mexa64/vl_imdisttf.d CC toolbox/mex/mexa64/vl_imintegral.d CC toolbox/mex/mexa64/vl_imsmooth.d CC toolbox/mex/mexa64/vl_dsift.d CC toolbox/mex/mexa64/vl_ubcmatch.d CC toolbox/mex/mexa64/vl_siftdescriptor.d CC toolbox/mex/mexa64/vl_sift.d CC toolbox/mex/mexa64/vl_aibhist.d CC toolbox/mex/mexa64/vl_aib.d CC toolbox/mex/mexa64/vl_ikmeanspush.d CC toolbox/mex/mexa64/vl_ikmeans.d CC toolbox/mex/mexa64/vl_hikmeans.d CC toolbox/mex/mexa64/vl_kmeans.d CC toolbox/mex/mexa64/vl_hikmeanspush.d MK bin/glnxa64/ MK bin/glnxa64/objs/ CC bin/glnxa64/test_vec_comp.d CC bin/glnxa64/test_threads.d CC bin/glnxa64/test_stringop.d CC bin/glnxa64/test_rand.d CC bin/glnxa64/test_qsort-def.d CC bin/glnxa64/test_nan.d CC bin/glnxa64/test_mathop.d CC bin/glnxa64/test_mathop_abs.d CC bin/glnxa64/test_imopv.d CC bin/glnxa64/test_host.d CC bin/glnxa64/test_heap-def.d CC bin/glnxa64/test_getopt_long.d CC bin/glnxa64/sift.d CC bin/glnxa64/mser.d CC bin/glnxa64/aib.d CC bin/glnxa64/objs/stringop.d CC bin/glnxa64/objs/sift.d CC bin/glnxa64/objs/rodrigues.d CC bin/glnxa64/objs/random.d CC bin/glnxa64/objs/quickshift.d CC bin/glnxa64/objs/pgm.d CC bin/glnxa64/objs/pegasos.d CC bin/glnxa64/objs/mser.d CC bin/glnxa64/objs/mathop_sse2.d CC bin/glnxa64/objs/mathop.d CC bin/glnxa64/objs/lbp.d CC bin/glnxa64/objs/kmeans.d CC bin/glnxa64/objs/kdtree.d CC bin/glnxa64/objs/imopv_sse2.d CC bin/glnxa64/objs/imopv.d CC bin/glnxa64/objs/ikmeans.d CC bin/glnxa64/objs/host.d CC bin/glnxa64/objs/homkermap.d CC bin/glnxa64/objs/hikmeans.d CC bin/glnxa64/objs/getopt_long.d CC bin/glnxa64/objs/generic.d CC bin/glnxa64/objs/dsift.d CC bin/glnxa64/objs/array.d CC bin/glnxa64/objs/aib.d CC bin/glnxa64/objs/aib.o CC bin/glnxa64/objs/array.o CC bin/glnxa64/objs/dsift.o CC bin/glnxa64/objs/generic.o CC bin/glnxa64/objs/getopt_long.o CC bin/glnxa64/objs/hikmeans.o CC bin/glnxa64/objs/homkermap.o CC bin/glnxa64/objs/host.o CC bin/glnxa64/objs/ikmeans.o CC bin/glnxa64/objs/imopv.o CC bin/glnxa64/objs/imopv_sse2.o CC bin/glnxa64/objs/kdtree.o CC bin/glnxa64/objs/kmeans.o vl/kmeans.c:546:11: warning: variable ‘allDone’ set but not used [-Wunused-but-set-variable] vl/kmeans.c:546:11: warning: variable ‘allDone’ set but not used [-Wunused-but-set-variable] CC bin/glnxa64/objs/lbp.o CC bin/glnxa64/objs/mathop.o CC bin/glnxa64/objs/mathop_sse2.o CC bin/glnxa64/objs/mser.o CC bin/glnxa64/objs/pegasos.o CC bin/glnxa64/objs/pgm.o CC bin/glnxa64/objs/quickshift.o CC bin/glnxa64/objs/random.o CC bin/glnxa64/objs/rodrigues.o CC bin/glnxa64/objs/sift.o CC bin/glnxa64/objs/stringop.o CC bin/glnxa64/libvl.so CC bin/glnxa64/aib ******* Offending Command: cc '-std=c99' '-Wall' '-Wextra' '-Wno-unused-function' '-Wno-long-long' '-Wno-variadic-macros' '-I.' '-DNDEBUG' '-O3' '-lm' '-Wl,--rpath,$ORIGIN/' '-Lbin/glnxa64' '-lvl' 'src/aib.c' '-o' 'bin/glnxa64/aib' ******* Error Code: 1 ******* Command Output: /tmp/cclyk1YX.o: In function main': aib.c:(.text.startup+0x43d): undefined reference tovl_aib_new' aib.c:(.text.startup+0x448): undefined reference to vl_aib_process' aib.c:(.text.startup+0x47d): undefined reference tovl_aib_delete' collect2: ld returned 1 exit status make: *** [bin/glnxa64/aib] Error 1

    opened by kyamagu 12
  • "Invalid MEX-file" and "Missing dependent shared libraries", Matlab 2017a, MacOS 10.12

    I got the error below after I upgrade Matlab from 2016b to 2017a: Invalid MEX-file

    '.../MATLAB/vlfeat/vlfeat-0.9.20/toolbox/mex/mexmaci64/vl_version.mexmaci64':
    Missing dependent shared libraries:
    '@loader_path/libvl.dylib' required by
    '.../MATLAB/vlfeat/vlfeat-0.9.20/toolbox/mex/mexmaci64/vl_version.mexmaci64'
    

    Plus a bunch of missing symbols like:

    Missing symbol '___tolower' required by
    '.../MATLAB/vlfeat/vlfeat-0.9.20/toolbox/mex/mexmaci64/vl_version.mexmaci64'
    

    I did not make any change on vlfeat folder, and 'libvl.dylib' is right under the '/toolbox/mex/mexmaci64/' folder.

    Is someone able to run vlfeat with Matlab 2017a on MacOS?

    opened by thelittlekid 10
  • vl_imsmooth problem

    vl_imsmooth problem

    Hi,

    I got this error when I compute vl_phow

    "Attempt to execute SCRIPT vl_imsmooth as a function"

    Someone gave this solution: You are getting this error because your path ".../vlfeat-0.9.16/toolbox/imop/vl_imsmooth.m" has a higher precedence than " ...../vlfeat-0.9.16/toolbox/mex/mexa64/vl_imsmooth.mexa64" so you can simply run

    pathtool

    I tried it, but it doesn't work. Thanks

    novi

    opened by n-patricia 9
  • Bug with vl_fisher.c

    Bug with vl_fisher.c

    In vlfeat-0.9.19\toolbox\fisher\vl_fisher, Line 151:

    OUT(ENC) = mxCreateNumericMatrix (dimension * numClusters * 2, 1, classID, mxREAL) ;

    the returned fisher code will always be one column, no matter how many columns exist in the input feature matrix!

    opened by zhuwj 6
  • sift from command line out of memory

    sift from command line out of memory

    I am using sift from command line on mac and got the following error message:

    sift(490,0x7fff89999380) malloc: *** mach_vm_map(size=4342377827252789248) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    sift(490,0x7fff89999380) malloc: *** mach_vm_map(size=17369511309011156992) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    sift: err: Could not allocate enough memory. (2)
    

    The code I am working on is (Python):

    params="--edge-thresh 10 --peak-thresh 5"
    
    if imagename[-3:] != 'pgm':
      # create a pgm file
      im = Image.open(imagename).convert('L')
      im.save('tmp.pgm')
      imagename = 'tmp.pgm'
    
    cmmd = str("sift " + imagename + " --output=" + resultname + " " + params)
    os.system(cmmd)
    

    Image using is of size: 1280 × 1000, 333 KB.

    Anyone has idea about how to solve this problem? Thanks.

    opened by JasonDoingGreat 5
  • Results different between x86 and AVX implementation?

    Results different between x86 and AVX implementation?

    Hi,

    we're seeing different results / features detected in v0.9.20 depending on whether we set STD_CFLAGS to x86-64 or broadwell.

    We're using covdet feature detection + sift featue descriptors.

    Is it expected that the AVX and non-AVX implementations give different results?

    Thanks!

    opened by nh2 5
  • vl_covdet_extract_laplacian_scales_for_frame uses the wrong peak threshold

    vl_covdet_extract_laplacian_scales_for_frame uses the wrong peak threshold

    The function vl_covdet_extract_laplacian_scales_for_frame() in covdet.c (around line 2043) uses VL_COVDET_DOG_DEF_PEAK_THRESHOLD as the peak threshold instead of self->peakThreshold.

    opened by mbrubake 5
  • Compiling using clang-503.0.40 on OSX 10.9.3 and Matlab 2014a

    Compiling using clang-503.0.40 on OSX 10.9.3 and Matlab 2014a

    OK, so I was trying to compile vlfeat on OSX 10.9.3 with XCode 5.1.1 and clang-503.0.40 for Matlab 2014a and I encountered two different errors:

    1. Unable to find Matlab executable

    Symptoms

    Running make info yields:

    ** MATLAB support
    MATLAB support disabled (MEX not found)
            mex_src = ./toolbox/aib/vl_aib.c ./toolbox/aib/vl_aibhist.c ...
            mex_tgt = toolbox/mex/mexmaci64/vl_aib.mexmaci64 toolbox/mex/mexmaci64/vl_aibhist.mexmaci64 ...
            mex_dep = toolbox/mex/mexmaci64/vl_aib.d toolbox/mex/mexmaci64/vl_aibhist.d ...
              m_src = ./toolbox/aib/vl_aib.m ./toolbox/aib/vl_aibcut.m ...
              m_lnk = toolbox/noprefix/aib.m toolbox/noprefix/aibcut.m ...
            mex_dll = toolbox/mex/mexmaci64/libvl.dylib
        MATLAB_PATH = 
         MATLAB_EXE = /bin/matlab
                MEX = mex
    ...
    

    which obviously shows that Matlab couldn't be found.

    Running mex on the command line yields:

    Not enough input arguments.
    

    So matlab is definitely on the path.

    Solution

    Run:

    make MATLAB_PATH=/Applications/MATLAB_R2014a.app

    2. Linker error (-exported_symbols_list)

    Symptoms

    Detected compiler: clang 50100
    Clang does not support OpenMP yet, disabling.
                MEX toolbox/mex/mexmaci64/vl_aib.mexmaci64
    Building with 'Xcode with Clang'.
    ld: can't open -exported_symbols_list file: /Applications/MATLAB_R2014a.app/extern/lib/$Arch/$MAPFILE
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
    make: *** [toolbox/mex/mexmaci64/vl_aib.mexmaci64] Error 255
    

    Seems like $Arch and $MAPFILE are not properly set?

    Solution

    --- make/matlab.mak
    +++ make/matlab.mak
    @@ -122,7 +122,7 @@
     -arch x86_64 \
     -Wl,-syslibroot,$(SDKROOT) \
     -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) \
    --bundle -Wl,-exported_symbols_list,$(MATLAB_PATH)/extern/lib/\$$Arch/\$$MAPFILE \
    +-bundle -Wl,-exported_symbols_list,$(MATLAB_PATH)/extern/lib/maci64/mexFunction.map \
     $(if $(DISABLE_OPENMP),,-L$(MATLAB_PATH)/sys/os/$(ARCH)/) \
     $(call escape,$(STD_LDFLAGS))'
     endif
    

    This also appears on L105 for the 32-bit Mac compilation. Not sure why this isn't set? But setting it explicitly definitely seems to work.

    opened by patricksnape 4
  • error while loading shared libraries: libvl.so

    error while loading shared libraries: libvl.so

    I try to use g++ to compile the simplest "Hello World" program of vlfeat. My system is Ubuntu 12.04 LTS 64-bit.

    I can compile successfully, but when I run it, it failed with message like this: "error while loading shared libraries: libvl.so: cannot open shared object file: No such file or directory"

    Anyone tell me how to fix it?

    opened by zyzhong 3
  • Add static library creation

    Add static library creation

    I'm using vlfeat in a hadoop pipes process, thus instead of installing vlfeat shared libraries on all hadoop nodes i just create a static library of vlfeat and compile it into the rest of my code.

    Maybe somebody else would like to have option for static library and not just shared library of vlfeat

    opened by vigsterkr 3
  • AVX gets disabled by Makefile for gcc version 8

    AVX gets disabled by Makefile for gcc version 8

    The output of make command reveals that AVX gets disabled when using gcc version 8.

    $ make
    ...
    Detected compiler: gcc 8
    GCC <= 4.6.0 detected, disabling AVX.
    ...
    $ gcc --version
    gcc (Debian 8.3.0-6) 8.3.0
    

    The following line in Makefile needs an update for newer versions of gcc.

    opened by thelinuxmaniac 2
  • Markup leaking into HTML

    Markup leaking into HTML

    Hi there! When sifting through the documentation, I found several places where markup seams to leak through into the HTML output, for example here(Formulas in the Technical Details section) or here (throughout the text). The unhandled markup shows like this: The poses \(u,u'\) of \(R=u[R_0]\) and \(R' = u'[R_0]\) are then related ... \[ \mathrm{DoG}_{\sigma(o,s)} = I_{\sigma(o,s+1)} - I_{\sigma(o,s)} \] ... I'm using Firefox 104.0 (64-Bit) on Ubuntu 20.04, but I doubt it's a browser issue.

    opened by kfjahnke 0
  • Add vcpkg installation instructions

    Add vcpkg installation instructions

    vlfeat is available as a port in vcpkg, a C++ library manager that simplifies installation for vlfeat and other project dependencies. Documenting the install process here will help users get started by providing a single set of commands to build vlfeat, ready to be included in their projects.

    We also test whether our library ports build in various configurations (dynamic, static) on various platforms (OSX, Linux, Windows: x86, x64) to keep a wide coverage for users.

    I'm a maintainer for vcpkg, and here is what the port script looks like. We try to keep the library maintained as close as possible to the original library. :)

    opened by JonLiu1993 0
  • vl_kdtreequery() and vl_kdtreebuild()

    vl_kdtreequery() and vl_kdtreebuild()

    When I wrote codes like this: [index, distance] = vl_kdtreequery(kdtree, X, Q, 'NumNeighbors', 10); I got an error: error: vl_kdtreequery: Unknown option 'NumNeighbors'. Then I read the source code. And I found there are two global variables with the same name 'options' in file 'vl_kdtreequery.c' and 'vl_kdtreebuild.c', which makes the bug. I think you can rename them.

    opened by mzy-0624 0
  • `vl_covdet_extract_orientations()` does not check OOM condition of `vl_covdet_extract_orientations_for_frame()`

    `vl_covdet_extract_orientations()` does not check OOM condition of `vl_covdet_extract_orientations_for_frame()`

    In https://github.com/vlfeat/vlfeat/blob/1b9075fc42fe54b42f0e937f8b9a230d8e2c7701/vl/covdet.c#L2877-L2880

    vl_covdet_extract_orientations_for_frame() is called and its return value is not checked, despite the called function's docs:

    The function returns @c NULL if memory is insufficient.

    Thus vl_covdet_extract_orientations() can silently continue despite allocation failure.


    A proper fix requires an API change:

    The type signature of vl_covdet_extract_orientations() needs to be changed to be able to report allocation failure, because it calls a function that can fail to allocate.

    I suggest that like vl_covdet_put_image(), it should return int with semantics:

    The function fails by returing ::VL_ERR_ALLOC if the memory is insufficient.

    opened by nh2 1
  • pgm file judging condiction

    pgm file judging condiction

    I found an isseu about sift command. I ran the command sift tmp.pgm --output --output=im0.sift --edge-thresh 10 --peak-thresh 5 --verbose in linux, the size of the output file was always 0 KB. So I have to debug the code, and I found the sift process runs into the following error judging condiction in pgm.c.

      # line 236
      if(! (max_value >= 65536)) {
        return vl_set_last_error(VL_ERR_PGM_INV_META, "Invalid PGM meta information");
      }
    

    the max_value of my tmp.pgm is 255. It means the max grey level of my gray image is 255. So I modify the code as follow and it work. I wonder if this is a mistake.

      # line 236
      if(max_value >= 65536) {
        return vl_set_last_error(VL_ERR_PGM_INV_META, "Invalid PGM meta information");
      }
    
    opened by AnthonyYao1 0
Open Source Computer Vision Library

OpenCV: Open Source Computer Vision Library Resources Homepage: https://opencv.org Courses: https://opencv.org/courses Docs: https://docs.opencv.org/m

OpenCV 65.6k Jan 1, 2023
Yggdrasil Decision Forests (YDF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models.

Yggdrasil Decision Forests (YDF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models. The library is developed in C++ and available in C++, CLI (command-line-interface, i.e. shell commands) and in TensorFlow under the name TensorFlow Decision Forests (TF-DF).

Google 268 Jan 9, 2023
Caffe: a fast open framework for deep learning.

Caffe Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR)/The Berke

Berkeley Vision and Learning Center 33k Jan 1, 2023
Edge ML Library - High-performance Compute Library for On-device Machine Learning Inference

Edge ML Library (EMLL) offers optimized basic routines like general matrix multiplications (GEMM) and quantizations, to speed up machine learning (ML) inference on ARM-based devices. EMLL supports fp32, fp16 and int8 data types. EMLL accelerates on-device NMT, ASR and OCR engines of Youdao, Inc.

NetEase Youdao 180 Jan 7, 2023
A lightweight C++ machine learning library for embedded electronics and robotics.

Fido Fido is an lightweight, highly modular C++ machine learning library for embedded electronics and robotics. Fido is especially suited for robotic

The Fido Project 413 Dec 17, 2022
A C++ standalone library for machine learning

Flashlight: Fast, Flexible Machine Learning in C++ Quickstart | Installation | Documentation Flashlight is a fast, flexible machine learning library w

Facebook Research 4.7k Jan 8, 2023
libsvm websitelibsvm - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] website

Libsvm is a simple, easy-to-use, and efficient software for SVM classification and regression. It solves C-SVM classification, nu-SVM classification,

Chih-Jen Lin 4.3k Jan 2, 2023
mlpack: a scalable C++ machine learning library --

a fast, flexible machine learning library Home | Documentation | Doxygen | Community | Help | IRC Chat Download: current stable version (3.4.2) mlpack

mlpack 4.2k Dec 30, 2022
oneAPI Data Analytics Library (oneDAL)

Intel® oneAPI Data Analytics Library Installation | Documentation | Support | Examples | Samples | How to Contribute Intel® oneAPI Data Analytics Libr

oneAPI-SRC 534 Dec 30, 2022
A C library for product recommendations/suggestions using collaborative filtering (CF)

Recommender A C library for product recommendations/suggestions using collaborative filtering (CF). Recommender analyzes the feedback of some users (i

Ghassen Hamrouni 254 Dec 29, 2022
RNNLIB is a recurrent neural network library for sequence learning problems. Forked from Alex Graves work http://sourceforge.net/projects/rnnl/

Origin The original RNNLIB is hosted at http://sourceforge.net/projects/rnnl while this "fork" is created to repeat results for the online handwriting

Sergey Zyrianov 879 Dec 26, 2022
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow

eXtreme Gradient Boosting Community | Documentation | Resources | Contributors | Release Notes XGBoost is an optimized distributed gradient boosting l

Distributed (Deep) Machine Learning Community 23.6k Dec 30, 2022
FoLiA library for C++

Libfolia: FoLiA Library for C++ Libfolia (c) CLS/ILK 2010 - 2021 Centre for Language Studies, Radboud University Nijmegen Induction of Linguistic Know

Language Machines 14 Dec 31, 2021
MITIE: library and tools for information extraction

MITIE: MIT Information Extraction This project provides free (even for commercial use) state-of-the-art information extraction tools. The current rele

null 2.8k Dec 29, 2022
Flashlight is a C++ standalone library for machine learning

Flashlight is a fast, flexible machine learning library written entirely in C++ from the Facebook AI Research Speech team and the creators of Torch and Deep Speech.

null 4.7k Jan 8, 2023
An optimized neural network operator library for chips base on Xuantie CPU.

简介 CSI-NN2 是 T-HEAD 提供的一组针对无剑 SoC 平台的神经网络库 API。抽象了各种常用的网络层的接口,并且提供一系列已优化的二进制库。 CSI-NN2 的特性: 开源 c 代码版本的参考实现。 提供玄铁 CPU 的汇编优化实现。

T-Head Semiconductor Co., Ltd. 32 Jan 5, 2023
C++ NN 🧠 A simple Neural Network library written in C++

C++ NN ?? A simple Neural Network library written in C++ Installation ??

Rohith 8 Dec 13, 2022
ML++ - A library created to revitalize C++ as a machine learning front end

ML++ Machine learning is a vast and exiciting discipline, garnering attention from specialists of many fields. Unfortunately, for C++ programmers and

marc 1k Dec 31, 2022