GPU-Accelerated Deep Learning Library in Python

Related tags

Deep Learninghebel
Overview

Hebel

GPU-Accelerated Deep Learning Library in Python

Hebel is a library for deep learning with neural networks in Python using GPU acceleration with CUDA through PyCUDA. It implements the most important types of neural network models and offers a variety of different activation functions and training methods such as momentum, Nesterov momentum, dropout, and early stopping.

I no longer actively develop Hebel. If you are looking for a deep learning framework in Python, I now recommend Chainer.

Models

Right now, Hebel implements feed-forward neural networks for classification and regression on one or multiple tasks. Other models such as Autoencoder, Convolutional neural nets, and Restricted Boltzman machines are planned for the future.

Hebel implements dropout as well as L1 and L2 weight decay for regularization.

Optimization

Hebel implements stochastic gradient descent (SGD) with regular and Nesterov momentum.

Compatibility

Currently, Hebel will run on Linux and Windows, and probably Mac OS X (not tested).

Dependencies

  • PyCUDA
  • numpy
  • PyYAML
  • skdata (only for MNIST example)

Installation

Hebel is on PyPi, so you can install it with

pip install hebel

Getting started

Study the yaml configuration files in examples/ and run

python train_model.py examples/mnist_neural_net_shallow.yml

The script will create a directory in examples/mnist where the models and logs are saved.

Read the Getting started guide at hebel.readthedocs.org/en/latest/getting_started.html for more information.

Documentation

hebel.readthedocs.org

Contact

Maintained by Hannes Bretschneider ([email protected]). If your are using Hebel, please let me know whether you find it useful and file a Github issue if you find any bugs or have feature requests.

Citing

http://dx.doi.org/10.5281/zenodo.10050

If you make use of Hebel in your research, please cite it. The BibTeX reference is

@article{Bretschneider:10050,
  author        = "Hannes Bretschneider",
  title         = "{Hebel - GPU-Accelerated Deep Learning Library in Python}",
  month         = "May",
  year          = "2014",
  doi           = "10.5281/zenodo.10050",
  url           = "https://zenodo.org/record/10050",
}

What's with the name?

Hebel is the German word for lever, one of the oldest tools that humans use. As Archimedes said it: "Give me a lever long enough and a fulcrum on which to place it, and I shall move the world."

Comments
  • Contributing PyCUDA routines

    Contributing PyCUDA routines

    Heya

    I stumbled across this project looking for some PyCUDA routines that operate on matrices per-row or per-column. It seems you have a bunch of handy routines for this, which is awesome, e.g. row-wise maximum, add_vec_to_mat etc.

    Would you be willing to contribute them back to PyCUDA? a lot of these routines seem like they'd definitely be useful more widely. And perhaps offering the contribution might give the PyCUDA guys some inspiration or a kick in the arse to create a more general partial reductions API (like numpy's axis=0 arguments) and broadcasting behaviour for element-wise operations on GPUArrays? (I would attempt this myself but my CUDA-fu is weak)

    Just a thought anyway. I would suggest it to them myself but the licencing is different (GPL vs MIT)

    Cheers!

    opened by mjwillson 6
  • [WIP][HEP3] Implement convolution for DNA sequence

    [WIP][HEP3] Implement convolution for DNA sequence

    I am merging my code for training conv-nets from DNA sequence into Hebel. This should be done by the end of January 2015. Please follow this issue if you are interested in using Hebel for learning from DNA sequence or would like to test it.

    Hebel Enhancement Proposal 
    opened by hannes-brt 3
  • Compiling issues with MacOSX

    Compiling issues with MacOSX

    I am trying to compile in Mac OSX yosemite and it seems hebel is not running. i installed PyCUDA and other libraries needed but stuck at this error.

    $ python hebel_test.py Traceback (most recent call last): File "hebel_test.py", line 18, in hebel.init(0) File "/Users/prabhubalakrishnan/Desktop/hebel/hebel/init.py", line 131, in init from pycuda import gpuarray, driver, curandom File "/Library/Python/2.7/site-packages/pycuda-2014.1-py2.7-macosx-10.10-intel.egg/pycuda/gpuarray.py", line 3, in import pycuda.elementwise as elementwise File "/Library/Python/2.7/site-packages/pycuda-2014.1-py2.7-macosx-10.10-intel.egg/pycuda/elementwise.py", line 34, in from pytools import memoize_method File "/Library/Python/2.7/site-packages/pytools-2014.3.5-py2.7.egg/pytools/init.py", line 5, in from six.moves import range, zip, intern, input ImportError: cannot import name intern

    How to fix?

    opened by olddocks 3
  • Global name 'hidden_inputs' is not defined

    Global name 'hidden_inputs' is not defined

    When running optimizer.run(100), an error occurred: global name 'hidden_inputs' is not defined in line 323 of ./hebel/hebel/models/neurals_net.py

    Where to define the global variable 'hidden_inputs'? Thanks!

    opened by Robert0812 3
  • AttributeError: python: undefined symbol: cuPointerGetAttribute

    AttributeError: python: undefined symbol: cuPointerGetAttribute

    [email protected]:~/github/hebel$ echo $LD_LIBRARY_PATH /usr/local/cuda:/usr/local/cuda/bin:/usr/local/cuda/lib64:/home/ubgpu/torch/install/lib:/home/ubgpu/torch/install/lib [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ python train_model.py examples/mnist_neural_net_shallow.yml Traceback (most recent call last): File "train_model.py", line 39, in run_from_config(yaml_src) File "/home/ubgpu/github/hebel/hebel/config.py", line 41, in run_from_config config = load(yaml_src) File "/home/ubgpu/github/hebel/hebel/config.py", line 92, in load proxy_graph = yaml.load(string, **kwargs) File "/usr/local/lib/python2.7/dist-packages/yaml/init.py", line 71, in load return loader.get_single_data() File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 39, in get_single_data return self.construct_document(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 48, in construct_document for dummy in generator: File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 398, in construct_yaml_map value = self.construct_mapping(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 90, in construct_object data = constructor(self, tag_suffix, node) File "/home/ubgpu/github/hebel/hebel/config.py", line 318, in multi_constructor mapping = loader.construct_mapping(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 90, in construct_object data = constructor(self, tag_suffix, node) File "/home/ubgpu/github/hebel/hebel/config.py", line 318, in multi_constructor mapping = loader.construct_mapping(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 90, in construct_object data = constructor(self, tag_suffix, node) File "/home/ubgpu/github/hebel/hebel/config.py", line 323, in multi_constructor classname = try_to_import(tag_suffix) File "/home/ubgpu/github/hebel/hebel/config.py", line 251, in try_to_import exec('import %s' % modulename) File "", line 1, in File "/home/ubgpu/github/hebel/hebel/layers/init.py", line 17, in from .dummy_layer import DummyLayer File "/home/ubgpu/github/hebel/hebel/layers/dummy_layer.py", line 17, in from .hidden_layer import HiddenLayer File "/home/ubgpu/github/hebel/hebel/layers/hidden_layer.py", line 25, in from ..pycuda_ops import linalg File "/home/ubgpu/github/hebel/hebel/pycuda_ops/linalg.py", line 32, in from . import cublas File "/home/ubgpu/github/hebel/hebel/pycuda_ops/cublas.py", line 47, in import cuda File "/home/ubgpu/github/hebel/hebel/pycuda_ops/cuda.py", line 36, in from cudadrv import * File "/home/ubgpu/github/hebel/hebel/pycuda_ops/cudadrv.py", line 233, in _libcuda.cuPointerGetAttribute.restype = int File "/usr/lib/python2.7/ctypes/init.py", line 378, in getattr func = self.getitem(name) File "/usr/lib/python2.7/ctypes/init.py", line 383, in getitem func = self._FuncPtr((name_or_ordinal, self)) AttributeError: python: undefined symbol: cuPointerGetAttribute [email protected]:~/github/hebel$

    opened by andyyuan78 2
  • OSError: CUDA runtime library not found

    OSError: CUDA runtime library not found

    [email protected]:~/github/hebel$ sudo pip install pyCUDA Requirement already satisfied (use --upgrade to upgrade): pyCUDA in /usr/local/lib/python2.7/dist-packages Requirement already satisfied (use --upgrade to upgrade): decorator>=3.2.0 in /usr/local/lib/python2.7/dist-packages (from pyCUDA) Requirement already satisfied (use --upgrade to upgrade): pytools>=2011.2 in /usr/local/lib/python2.7/dist-packages (from pyCUDA) Requirement already satisfied (use --upgrade to upgrade): pytest>=2 in /usr/local/lib/python2.7/dist-packages (from pyCUDA) Requirement already satisfied (use --upgrade to upgrade): appdirs>=1.4.0 in /usr/local/lib/python2.7/dist-packages (from pytools>=2011.2->pyCUDA) Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from pytools>=2011.2->pyCUDA) Requirement already satisfied (use --upgrade to upgrade): py>=1.4.25 in /usr/local/lib/python2.7/dist-packages (from pytest>=2->pyCUDA) [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ python Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information.

    quit() [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ sudo pip install PyCUDA Requirement already satisfied (use --upgrade to upgrade): PyCUDA in /usr/local/lib/python2.7/dist-packages Requirement already satisfied (use --upgrade to upgrade): decorator>=3.2.0 in /usr/local/lib/python2.7/dist-packages (from PyCUDA) Requirement already satisfied (use --upgrade to upgrade): pytools>=2011.2 in /usr/local/lib/python2.7/dist-packages (from PyCUDA) Requirement already satisfied (use --upgrade to upgrade): pytest>=2 in /usr/local/lib/python2.7/dist-packages (from PyCUDA) Requirement already satisfied (use --upgrade to upgrade): appdirs>=1.4.0 in /usr/local/lib/python2.7/dist-packages (from pytools>=2011.2->PyCUDA) Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from pytools>=2011.2->PyCUDA) Requirement already satisfied (use --upgrade to upgrade): py>=1.4.25 in /usr/local/lib/python2.7/dist-packages (from pytest>=2->PyCUDA) [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ echo $PYTHONPATH /usr/local/lib/python2.7/dist-packages [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ [email protected]:~/github/hebel$ python train_model.py examples/mnist_neural_net_shallow.yml Traceback (most recent call last): File "train_model.py", line 39, in run_from_config(yaml_src) File "/home/ubgpu/github/hebel/hebel/config.py", line 41, in run_from_config config = load(yaml_src) File "/home/ubgpu/github/hebel/hebel/config.py", line 92, in load proxy_graph = yaml.load(string, **kwargs) File "/usr/local/lib/python2.7/dist-packages/yaml/init.py", line 71, in load return loader.get_single_data() File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 39, in get_single_data return self.construct_document(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 48, in construct_document for dummy in generator: File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 398, in construct_yaml_map value = self.construct_mapping(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 90, in construct_object data = constructor(self, tag_suffix, node) File "/home/ubgpu/github/hebel/hebel/config.py", line 318, in multi_constructor mapping = loader.construct_mapping(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 90, in construct_object data = constructor(self, tag_suffix, node) File "/home/ubgpu/github/hebel/hebel/config.py", line 318, in multi_constructor mapping = loader.construct_mapping(node) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 90, in construct_object data = constructor(self, tag_suffix, node) File "/home/ubgpu/github/hebel/hebel/config.py", line 323, in multi_constructor classname = try_to_import(tag_suffix) File "/home/ubgpu/github/hebel/hebel/config.py", line 251, in try_to_import exec('import %s' % modulename) File "", line 1, in File "/home/ubgpu/github/hebel/hebel/layers/init.py", line 17, in from .dummy_layer import DummyLayer File "/home/ubgpu/github/hebel/hebel/layers/dummy_layer.py", line 17, in from .hidden_layer import HiddenLayer File "/home/ubgpu/github/hebel/hebel/layers/hidden_layer.py", line 25, in from ..pycuda_ops import linalg File "/home/ubgpu/github/hebel/hebel/pycuda_ops/linalg.py", line 32, in from . import cublas File "/home/ubgpu/github/hebel/hebel/pycuda_ops/cublas.py", line 47, in import cuda File "/home/ubgpu/github/hebel/hebel/pycuda_ops/cuda.py", line 35, in from cudart import * File "/home/ubgpu/github/hebel/hebel/pycuda_ops/cudart.py", line 60, in raise OSError('CUDA runtime library not found') OSError: CUDA runtime library not found

    opened by andyyuan78 1
  • AttributeError: 'NoneType' object has no attribute 'cudaGetErrorString'

    AttributeError: 'NoneType' object has no attribute 'cudaGetErrorString'

    at commit a7f4cbb91c029c344921db76850bf9dc8eb47af4 with python 2.7.6 I try: 'python train_model.py examples/mnist_neural_net_shallow.yml' And i get the following

    Traceback (most recent call last):
      File "train_model.py", line 39, in <module>
        run_from_config(yaml_src)
      File "/Users/epic/Documents/git/hebel/hebel/config.py", line 41, in run_from_config
        config = load(yaml_src)
      File "/Users/epic/Documents/git/hebel/hebel/config.py", line 92, in load
        proxy_graph = yaml.load(string, **kwargs)
      File "/usr/local/lib/python2.7/site-packages/yaml/__init__.py", line 71, in load
        return loader.get_single_data()
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 39, in get_single_data
        return self.construct_document(node)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 48, in construct_document
        for dummy in generator:
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 398, in construct_yaml_map
        value = self.construct_mapping(node)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 208, in construct_mapping
        return BaseConstructor.construct_mapping(self, node, deep=deep)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 133, in construct_mapping
        value = self.construct_object(value_node, deep=deep)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 90, in construct_object
        data = constructor(self, tag_suffix, node)
      File "/Users/epic/Documents/git/hebel/hebel/config.py", line 318, in multi_constructor
        mapping = loader.construct_mapping(node)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 208, in construct_mapping
        return BaseConstructor.construct_mapping(self, node, deep=deep)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 133, in construct_mapping
        value = self.construct_object(value_node, deep=deep)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 90, in construct_object
        data = constructor(self, tag_suffix, node)
      File "/Users/epic/Documents/git/hebel/hebel/config.py", line 318, in multi_constructor
        mapping = loader.construct_mapping(node)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 208, in construct_mapping
        return BaseConstructor.construct_mapping(self, node, deep=deep)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 133, in construct_mapping
        value = self.construct_object(value_node, deep=deep)
      File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 90, in construct_object
        data = constructor(self, tag_suffix, node)
      File "/Users/epic/Documents/git/hebel/hebel/config.py", line 323, in multi_constructor
        classname = try_to_import(tag_suffix)
      File "/Users/epic/Documents/git/hebel/hebel/config.py", line 251, in try_to_import
        exec('import %s' % modulename)
      File "<string>", line 1, in <module>
      File "/Users/epic/Documents/git/hebel/hebel/layers/__init__.py", line 17, in <module>
        from .dummy_layer import DummyLayer
      File "/Users/epic/Documents/git/hebel/hebel/layers/dummy_layer.py", line 17, in <module>
        from .hidden_layer import HiddenLayer
      File "/Users/epic/Documents/git/hebel/hebel/layers/hidden_layer.py", line 25, in <module>
        from ..pycuda_ops import linalg
      File "/Users/epic/Documents/git/hebel/hebel/pycuda_ops/linalg.py", line 32, in <module>
        from . import cublas
      File "/Users/epic/Documents/git/hebel/hebel/pycuda_ops/cublas.py", line 47, in <module>
        import cuda
      File "/Users/epic/Documents/git/hebel/hebel/pycuda_ops/cuda.py", line 35, in <module>
        from cudart import *
      File "/Users/epic/Documents/git/hebel/hebel/pycuda_ops/cudart.py", line 142, in <module>
        _libcudart.cudaGetErrorString.restype = ctypes.c_char_p
    AttributeError: 'NoneType' object has no attribute 'cudaGetErrorString'
    
    opened by epichub 1
  • Report a tiny bug in running example script

    Report a tiny bug in running example script

    Example script data_providers.py imports skdata by
    from skdata.mnist.view import OfficialVectorClassification

    It should be skdata.mnist.views, otherwise errors occur.

    opened by Robert0812 1
  • Missing packages added.

    Missing packages added.

    It's not enough to specify root package (i.e. hebel) in packages argument of setup.py. In order to successfully install hebel, subpackages must be listed as well.

    opened by mnowotka 0
  • docs: fix simple typo, initalized -> initialized

    docs: fix simple typo, initalized -> initialized

    There is a small typo in hebel/layers/hidden_layer.py, hebel/layers/linear_regression_layer.py, hebel/layers/logistic_layer.py, hebel/layers/softmax_layer.py.

    Should read initialized rather than initalized.

    Semi-automated pull request generated by https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

    opened by timgates42 0
  • Small documentation enhancement request

    Small documentation enhancement request

    Hi there, I really appreciate Hebel. It was a good first step for me to "take the plunge" into using GPU.

    I struggled a bit after going through the example (MNIST) script. In particular, it wasn't clear how to have the model predict new data (i.e., data you don't have targets for).

    The first (small) stumble was what to with the DataProvider. I just put in dummy zero targets. Perhaps targets could be an optional field somehow?

    A more thorny issue was how to actually do the predictions. I couldn't for the life of me figure out how to feed the DataProvider data into the feed_forward without getting the error:

      File "/usr/local/lib/python2.7/dist-packages/hebel/models/neural_net.py", line 422, in feed_forward
        prediction=prediction))
      File "/usr/local/lib/python2.7/dist-packages/hebel/layers/input_dropout.py", line 96, in feed_forward
        return (input_data * (1 - self.dropout_probability),)
    TypeError: unsupported operand type(s) for *: 'MiniBatchDataProvider' and 'float'
    

    This was my original attempt:

    # After loading in the data . . .
    Xv = Xv.astype(np.float32)
    yv = pd.get_dummies(yv).values.astype(np.float32)
    valid_data = MiniBatchDataProvider(Xv, yv, batch_size=5000)
    

    I finally resorted to useing a gpu array which worked:

    from pycuda import gpuarray
    valid_data = gpuarray.to_gpu(Xt)
    y_pred = model.feed_forward(valid_data, return_cache=False, prediction=True).get()
    

    The .get() at the end of the last statement was also something I had to figure out going through code.

    Having an example in the documentation would be helpful.

    opened by walterreade 1
Releases(v0.02.1)
Owner
Hannes Bretschneider
Postdoctoral Fellow in the Blencowe Lab at University of Toronto
Hannes Bretschneider
Code release for the ICML 2021 paper "PixelTransformer: Sample Conditioned Signal Generation".

PixelTransformer Code release for the ICML 2021 paper "PixelTransformer: Sample Conditioned Signal Generation". Project Page Installation Please insta

Shubham Tulsiani 24 Dec 17, 2022
NOD: Taking a Closer Look at Detection under Extreme Low-Light Conditions with Night Object Detection Dataset

NOD (Night Object Detection) Dataset NOD: Taking a Closer Look at Detection under Extreme Low-Light Conditions with Night Object Detection Dataset, BM

Igor Morawski 17 Nov 05, 2022
A package related to building quasi-fibration symmetries

qf A package related to building quasi-fibration symmetries. If you'd like to learn more about how it works, see the brief explanation and References

Paolo Boldi 1 Dec 01, 2021
vit for few-shot classification

Few-Shot ViT Requirements PyTorch (= 1.9) TorchVision timm (latest) einops tqdm numpy scikit-learn scipy argparse tensorboardx Pretrained Checkpoints

Martin Dong 26 Nov 30, 2022
[CVPR 2022] Official Pytorch code for OW-DETR: Open-world Detection Transformer

OW-DETR: Open-world Detection Transformer (CVPR 2022) [Paper] Akshita Gupta*, Sanath Narayan*, K J Joseph, Salman Khan, Fahad Shahbaz Khan, Mubarak Sh

Akshita Gupta 127 Dec 27, 2022
Robustness via Cross-Domain Ensembles

Robustness via Cross-Domain Ensembles [ICCV 2021, Oral] This repository contains tools for training and evaluating: Pretrained models Demo code Traini

Visual Intelligence & Learning Lab, Swiss Federal Institute of Technology (EPFL) 27 Dec 23, 2022
Official Implementation of CVPR 2022 paper: "Mimicking the Oracle: An Initial Phase Decorrelation Approach for Class Incremental Learning"

(CVPR 2022) Mimicking the Oracle: An Initial Phase Decorrelation Approach for Class Incremental Learning ArXiv This repo contains Official Implementat

Yujun Shi 24 Nov 01, 2022
Meaningful titles for tabs and PDF downloads! Also supports tab search.

arxiv-utils If you are a researcher that reads a lot on ArXiv, you'll benefit a lot from this web extension. Renames the title of PDF page to the pape

Johnson 174 Dec 20, 2022
DeepLab resnet v2 model in pytorch

pytorch-deeplab-resnet DeepLab resnet v2 model implementation in pytorch. The architecture of deepLab-ResNet has been replicated exactly as it is from

Isht Dwivedi 601 Dec 22, 2022
Tensors and neural networks in Haskell

Hasktorch Hasktorch is a library for tensors and neural networks in Haskell. It is an independent open source community project which leverages the co

hasktorch 920 Jan 04, 2023
Anchor-free Oriented Proposal Generator for Object Detection

Anchor-free Oriented Proposal Generator for Object Detection Gong Cheng, Jiabao Wang, Ke Li, Xingxing Xie, Chunbo Lang, Yanqing Yao, Junwei Han, Intro

jbwang1997 56 Nov 15, 2022
Python library for computer vision labeling tasks. The core functionality is to translate bounding box annotations between different formats-for example, from coco to yolo.

PyLabel pip install pylabel PyLabel is a Python package to help you prepare image datasets for computer vision models including PyTorch and YOLOv5. I

PyLabel Project 176 Jan 01, 2023
SpeechBrain is an open-source and all-in-one speech toolkit based on PyTorch.

The SpeechBrain Toolkit SpeechBrain is an open-source and all-in-one speech toolkit based on PyTorch. The goal is to create a single, flexible, and us

SpeechBrain 5.1k Jan 02, 2023
Code for paper ECCV 2020 paper: Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization in the Loop.

Who Left the Dogs Out? Evaluation and demo code for our ECCV 2020 paper: Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization

Benjamin Biggs 29 Dec 28, 2022
A simple pygame dino game which can also be trained and played by a NEAT KI

Dino Game AI Game The game itself was developed with the Pygame module pip install pygame You can also play it yourself by making the dino jump with t

Kilian Kier 7 Dec 05, 2022
Instance-based label smoothing for improving deep neural networks generalization and calibration

Instance-based Label Smoothing for Neural Networks Pytorch Implementation of the algorithm. This repository includes a new proposed method for instanc

Mohamed Maher 1 Aug 13, 2022
Unsupervised Feature Ranking via Attribute Networks.

FRANe Unsupervised Feature Ranking via Attribute Networks (FRANe) converts a dataset into a network (graph) with nodes that correspond to the features

7 Sep 29, 2022
Improving Calibration for Long-Tailed Recognition (CVPR2021)

MiSLAS Improving Calibration for Long-Tailed Recognition Authors: Zhisheng Zhong, Jiequan Cui, Shu Liu, Jiaya Jia [arXiv] [slide] [BibTeX] Introductio

DV Lab 116 Dec 20, 2022
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

Microsoft 8.4k Jan 01, 2023
PyTorch implementation for Partially View-aligned Representation Learning with Noise-robust Contrastive Loss (CVPR 2021)

2021-CVPR-MvCLN This repo contains the code and data of the following paper accepted by CVPR 2021 Partially View-aligned Representation Learning with

XLearning Group 33 Nov 01, 2022