High-quality implementations of standard and SOTA methods on a variety of tasks.

Overview

Uncertainty Baselines

Tests

The goal of Uncertainty Baselines is to provide a template for researchers to build on. The baselines can be a starting point for any new ideas, applications, and/or for communicating with other uncertainty and robustness researchers. This is done in three ways:

  1. Provide high-quality implementations of standard and state-of-the-art methods on standard tasks.
  2. Have minimal dependencies on other files in the codebase. Baselines should be easily forkable without relying on other baselines and generic modules.
  3. Prescribe best practices for uncertainty and robustness benchmarking.

Motivation. There are many uncertainty and robustness implementations across GitHub. However, they are typically one-off experiments for a specific paper (many papers don't even have code). There are no clear examples that uncertainty researchers can build on to quickly prototype their work. Everyone must implement their own baseline. In fact, even on standard tasks, every project differs slightly in their experiment setup, whether it be architectures, hyperparameters, or data preprocessing. This makes it difficult to compare properly against baselines.

Installation

To install the latest development version, run

pip install "git+https://github.com/google/uncertainty-baselines.git#egg=uncertainty_baselines"

There is not yet a stable version (nor an official release of this library). All APIs are subject to change. Installing uncertainty_baselines does not automatically install any backend. For TensorFlow, you will need to install TensorFlow ( tensorflow or tf-nightly), TensorFlow Addons (tensorflow- addons or tfa-nightly), and TensorBoard (tensorboard or tb-nightly). See the extra dependencies one can install in setup.py.

Usage

Baselines

The baselines/ directory includes all the baselines, organized by their training dataset. For example, baselines/cifar/determinstic.py is a Wide ResNet 28-10 obtaining 96.0% test accuracy on CIFAR-10.

Launching with TPUs. You often need TPUs to reproduce baselines. There are three options:

  1. Colab. Colab offers free TPUs. This is the most convenient and budget-friendly option. You can experiment with a baseline by copying its script and running it from scratch. This works well for simple experimentation. However, be careful relying on Colab long-term: TPU access isn't guaranteed, and Colab can only go so far for managing multiple long experiments.

  2. Google Cloud. This is the most flexible option. First, you'll need to create a virtual machine instance (details here).

    Here's an example to launch the BatchEnsemble baseline on CIFAR-10. We assume a few environment variables which are set up with the cloud TPU (details here).

    export BUCKET=gs://bucket-name
    export TPU_NAME=ub-cifar-batchensemble
    export DATA_DIR=$BUCKET/tensorflow_datasets
    export OUTPUT_DIR=$BUCKET/model
    
    python baselines/cifar/batchensemble.py \
        --tpu=$TPU_NAME \
        --data_dir=$DATA_DIR \
        --output_dir=$OUTPUT_DIR

    Note the TPU's accelerator type must align with the number of cores for the baseline (num_cores flag). In this example, BatchEnsemble uses a default of num_cores=8. So the TPU must be set up with accelerator_type=v3-8.

  3. Change the flags. For example, go from 8 TPU cores to 8 GPUs, or reduce the number of cores to train the baseline.

    python baselines/cifar/batchensemble.py \
        --data_dir=/tmp/tensorflow_datasets \
        --output_dir=/tmp/model \
        --use_gpu=True \
        --num_cores=8

    Results may be similar, but ultimately all bets are off. GPU vs TPU may not make much of a difference in practice, especially if you use the same numerical precision. However, changing the number of cores matters a lot. The total batch size during each training step is often determined by num_cores, so be careful!

Datasets

The ub.datasets module consists of datasets following the TensorFlow Datasets API. They add minimal logic such as default data preprocessing. Note: in ipython/colab notebook, one may need to activate tf earger execution mode tf.compat.v1.enable_eager_execution().

import uncertainty_baselines as ub

# Load CIFAR-10, holding out 10% for validation.
dataset_builder = ub.datasets.Cifar10Dataset(split='train',
                                             validation_percent=0.1)
train_dataset = dataset_builder.load(batch_size=FLAGS.batch_size)
for batch in train_dataset:
  # Apply code over batches of the data.

You can also use get to instantiate datasets from strings (e.g., commandline flags).

dataset_builder = ub.datasets.get(dataset_name, split=split, **dataset_kwargs)

To use the datasets in Jax and PyTorch:

for batch in tfds.as_numpy(ds):
  train_step(batch)

Note that tfds.as_numpy calls tensor.numpy(). This invokes an unnecessary copy compared to tensor._numpy().

for batch in iter(ds):
  train_step(jax.tree_map(lambda y: y._numpy(), batch))

Models

The ub.models module consists of models following the tf.keras.Model API.

import uncertainty_baselines as ub

model = ub.models.wide_resnet(input_shape=(32, 32, 3),
                              depth=28,
                              width_multiplier=10,
                              num_classes=10,
                              l2=1e-4)

You can also use get to instantiate models from strings (e.g., commandline flags).

model = ub.models.get(model_name, batch_size=FLAGS.batch_size)

Metrics

We define metrics used across datasets below. All results are reported by roughly 3 significant digits and averaged over 10 runs.

  1. # Parameters. Number of parameters in the model to make predictions after training.

  2. Test Accuracy. Accuracy over the test set. For a dataset of N input-output pairs (xn, yn) where the label yn takes on 1 of K values, the accuracy is

    1/N \sum_{n=1}^N 1[ \argmax{ p(yn | xn) } = yn ],

    where 1 is the indicator function that is 1 when the model's predicted class is equal to the label and 0 otherwise.

  3. Test Cal. Error. Expected calibration error (ECE) over the test set (Naeini et al., 2015). ECE discretizes the probability interval [0, 1] under equally spaced bins and assigns each predicted probability to the bin that encompasses it. The calibration error is the difference between the fraction of predictions in the bin that are correct (accuracy) and the mean of the probabilities in the bin (confidence). The expected calibration error averages across bins.

    For a dataset of N input-output pairs (xn, yn) where the label yn takes on 1 of K values, ECE computes a weighted average

    \sum_{b=1}^B n_b / N | acc(b) - conf(b) |,

    where B is the number of bins, n_b is the number of predictions in bin b, and acc(b) and conf(b) is the accuracy and confidence of bin b respectively.

  4. Test NLL. Negative log-likelihood over the test set (measured in nats). For a dataset of N input-output pairs (xn, yn), the negative log-likelihood is

    -1/N \sum_{n=1}^N \log p(yn | xn).

    It is equivalent up to a constant to the KL divergence from the true data distribution to the model, therefore capturing the overall goodness of fit to the true distribution (Murphy, 2012). It can also be intepreted as the amount of bits (nats) to explain the data (Grunwald, 2004).

  5. Train/Test Runtime. Training runtime is the total wall-clock time to train the model, including any intermediate test set evaluations. Test Runtime refers to the time it takes to run a forward pass on the GPU/TPU, i.e., the duration for which the device is not idle. Note that Test Runtime does not include time on the coordinator: this is more precise in comparing baselines because including the coordinator adds overhead in GPU/TPU scheduling and data fetching---producing high variance results.

Viewing metrics. Uncertainty Baselines writes TensorFlow summaries to the model_dir which can be consumed by TensorBoard. This includes the TensorBoard hyperparameters plugin, which can be used to analyze hyperparamter tuning sweeps.

If you wish to upload to the PUBLICLY READABLE tensorboard.dev, use:

tensorboard dev upload --logdir MODEL_DIR --plugins "scalars,graphs,hparams" --name "My experiment" --description "My experiment details"

References

If you'd like to cite Uncertainty Baselines, use the following BibTeX entry.

Z. Nado, N. Band, M. Collier, J. Djolonga, M. Dusenberry, S. Farquhar, A. Filos, M. Havasi, R. Jenatton, G. Jerfel, J. Liu, Z. Mariet, J. Nixon, S. Padhy, J. Ren, T. Rudner, Y. Wen, F. Wenzel, K. Murphy, D. Sculley, B. Lakshminarayanan, J. Snoek, Y. Gal, and D. Tran. Uncertainty Baselines: Benchmarks for uncertainty & robustness in deep learning, arXiv preprint arXiv:2106.04015, 2021.

@article{nado2021uncertainty,
  author = {Zachary Nado and Neil Band and Mark Collier and Josip Djolonga and Michael Dusenberry and Sebastian Farquhar and Angelos Filos and Marton Havasi and Rodolphe Jenatton and Ghassen Jerfel and Jeremiah Liu and Zelda Mariet and Jeremy Nixon and Shreyas Padhy and Jie Ren and Tim Rudner and Yeming Wen and Florian Wenzel and Kevin Murphy and D. Sculley and Balaji Lakshminarayanan and Jasper Snoek and Yarin Gal and Dustin Tran},
  title = {{Uncertainty Baselines}:  Benchmarks for Uncertainty \& Robustness in Deep Learning},
  journal = {arXiv preprint arXiv:2106.04015},
  year = {2021},
}

Papers using Uncertainty Baselines

The following papers have used code from Uncertainty Baselines:

  1. A Simple Fix to Mahalanobis Distance for Improving Near-OOD Detection
  2. BatchEnsemble: An Alternative Approach to Efficient Ensembles and Lifelong Learning
  3. DEUP: Direct Epistemic Uncertainty Prediction
  4. Distilling Ensembles Improves Uncertainty Estimates
  5. Efficient and Scalable Bayesian Neural Nets with Rank-1 Factors
  6. Exploring the Uncertainty Properties of Neural Networks' Implicit Priors in the Infinite-Width Limit
  7. Hyperparameter Ensembles for Robustness and Uncertainty Quantification
  8. Measuring Calibration in Deep Learning
  9. Measuring and Improving Model-Moderator Collaboration using Uncertainty Estimation
  10. Neural networks with late-phase weights
  11. On the Practicality of Deterministic Epistemic Uncertainty
  12. Prediction-Time Batch Normalization for Robustness under Covariate Shift
  13. Refining the variational posterior through iterative optimization
  14. Revisiting One-vs-All Classifiers for Predictive Uncertainty and Out-of-Distribution Detection in Neural Networks
  15. Simple and Principled Uncertainty Estimation with Deterministic Deep Learning via Distance Awareness
  16. Training independent subnetworks for robust prediction

Contributing

Adding a Baseline

  1. Write a script that loads the fixed training dataset and model. Typically, this is forked from other baselines.
  2. After tuning, set the default flag values to the best hyperparameters.
  3. Add the baseline's performance to the table of results in the corresponding README.md.

Adding a Dataset

  1. Add the bibtex reference to references.md.
  2. Add the dataset definition to the datasets/ dir. Every file should have a subclass of datasets.base.BaseDataset, which at a minimum requires implementing a constructor, a tfds.core.DatasetBuilder, and _create_process_example_fn.
  3. Add a test that at a minimum constructs the dataset and checks the shapes of elements.
  4. Add the dataset to datasets/datasets.py for easy access.
  5. Add the dataset class to datasets/__init__.py.

For an example of adding a dataset, see this pull request.

Adding a Model

  1. Add the bibtex reference to references.md.

  2. Add the model definition to the models/ dir. Every file should have a create_model function with the following signature:

    def create_model(
        batch_size: int,
        ...
        **unused_kwargs: Dict[str, Any])
        -> tf.keras.models.Model:
  3. Add a test that at a minimum constructs the model and does a forward pass.

  4. Add the model to models/models.py for easy access.

  5. Add the create_model function to models/__init__.py.

Comments
  • Add segmentation model based on vit16 architecture.

    Add segmentation model based on vit16 architecture.

    Include segmentation model based on vit16+ architecture (https://arxiv.org/abs/2105.05633) following internal implementation in https://github.com/google-research/scenic.

    cla: yes 
    opened by ekellbuch 9
  • package tries to install all tf-nightly versions for each and everyday for this year!

    package tries to install all tf-nightly versions for each and everyday for this year!

    I want to do some experiments on the project so I'm trying to install the package into a virtual environment.

    It tries to install tf-nightly builds for each and every day this year (like 100 versions of the same package). Given that each nightly build for tf is around 450mb this quickly eats up my limited storage and only after it fills that 50gb, it stops downloading tf nightly builds and finishes up the installation that github package.

    tf_nightly_issue

    opened by cagdemir 7
  • Couldn't reproduce MIMO accuracy on CIFAR-100

    Couldn't reproduce MIMO accuracy on CIFAR-100

    Hi @dustinvtran and others, thank you for the repository! @VoronkovaDasha and me are trying to reproduce results of MIMO on WideResNet28x10 + CIFAR-100 to compare the performance with other methods. However, so far we have not been able to do it; the accuracy values we get are a notch lower than they should be. We use 1 GPU.

    For CIFAR-100 the paper reports accuracy 82.0, NLL 0.690 for an ensemble of size 3.

    Here is what we get:

    python3 /dashavoronkova8/ens_project/mimo/cifar.py --output_dir '/dashavoronkova8/ens_project/mimo/cifar' --seed 0 --use_gpu --dataset cifar100 --per_core_batch_size 512 --num_cores 1 --batch_repetitions 4 --corruptions_interval -1 --ensemble_size 3 --width_multiplier 10 --base_learning_rate 0.1 --train_epochs 250 --lr_decay_ratio 0.1 --lr_warmup_epochs 0 --num_bins 15 --input_repetition_probability 0. --l2 3e-4 --checkpoint_interval 50

    Train Loss: 1.3752, Accuracy: 99.94% Test NLL: 0.7143, Accuracy: 80.85% Member 0 Test Loss: 0.9081, Accuracy: 77.92% Member 1 Test Loss: 0.9205, Accuracy: 77.65% Member 2 Test Loss: 0.9248, Accuracy: 77.64%

    The same experiment with another seed:

    Train Loss: 1.3718, Accuracy: 99.95% Test NLL: 0.7147, Accuracy: 80.73% Member 0 Test Loss: 0.9152, Accuracy: 77.83% Member 1 Test Loss: 0.9257, Accuracy: 77.55% Member 2 Test Loss: 0.9209, Accuracy: 77.52%

    Now with lr_warmup_epochs=1.

    python3 /dashavoronkova8/ens_project/mimo/cifar.py --output_dir '/dashavoronkova8/ens_project/mimo/cifar' --seed 0 --use_gpu --dataset cifar100 --per_core_batch_size 512 --num_cores 1 --batch_repetitions 4 --corruptions_interval -1 --ensemble_size 3 --width_multiplier 10 --base_learning_rate 0.1 --train_epochs 250 --lr_decay_ratio 0.1 --lr_warmup_epochs 1 --num_bins 15 --input_repetition_probability 0. --l2 3e-4 --checkpoint_interval 50

    Train Loss: 1.3739, Accuracy: 99.95% Test NLL: 0.7198, Accuracy: 80.76% Member 0 Test Loss: 0.9486, Accuracy: 77.09% Member 1 Test Loss: 0.9144, Accuracy: 77.73% Member 2 Test Loss: 0.9117, Accuracy: 77.74%

    I wonder what is the culprit here? Are the script parameters OK?

    opened by alexlyzhov 7
  • Hyperparams for batchensemble on cifar

    Hyperparams for batchensemble on cifar

    Hi,

    Thanks for open-sourcing this codebase and working on this project! I am trying to reproduce results from the table here https://github.com/google/uncertainty-baselines/tree/master/baselines/cifar , I am especially interested in Batch Ensemble model. Can you please share hyperparameters to get to that results?

    I believe https://github.com/google/uncertainty-baselines/issues/67 is a related issue, but if you decide to share hyperparams only for batch ensemble for now, that would be a huge help for me.

    opened by zajaczajac 7
  • Help wanted with fresh colab run of bert_sngp on clinc

    Help wanted with fresh colab run of bert_sngp on clinc

    Hi,

    I wanted to try out SNGP with the script as provided in baselines. Current command with custom flags:

    python3 uncertainty-baselines/baselines/clinc_intent/sngp.py --data_dir "/root/tensorflow_datasets/clinc_oos/0.1.0" --use_gpu --bert_dir "./bert3/cased_L-12_H-768_A-12"
    

    I first had some issues to get CLINC_OOS data in the right, expected format, but managed to fix that. Now I am stuck trying to get a BERT checkpoint loaded correctly with the flags provided.

    It might help others as well to get a working "collab-fresh" example, so I am sharing my progress so far: https://colab.research.google.com/drive/1HVMcZm7opre4FRaaoXRAocXMw4WSrhvD?usp=sharing

    Can anyone provide short assistance to get a proper BERT checkpoint loaded? I'm happy to share the final (cleaned) working example, once I can get it to run end-to-end on a fresh environment :)

    Cheers,

    Jordy

    opened by Jordy-VL 6
  • Active Learning

    Active Learning

    A UB code style version of the AL notebook. There are several small open todos in the code, but for the majority we (Andreas+me) thought it's time to share and obtain some feedback on the approach.

    This script obtains ~80-90% accuracy with ~150 CIFAR-10 samples.

    Open todo:

    • ~~A test following deterministic_test.py.~~
    • ~~Follow pylint style from the repo~~
    • ~~Add docstrings~~

    Left for follow up PR: Proper LR schedule and early stopping - this will improve performance significantly.

    Joint work with @BlackHC (Andreas).

    cla: yes 
    opened by y0ast 5
  • Reproducing accuracy

    Reproducing accuracy

    hey! Can you share a configuration to reproduce the reported results of the BE on the WRN 28-10 on cifar100. If I run the script as is, accuracies are worse. So this script: https://github.com/google/uncertainty-baselines/blob/master/baselines/cifar/batchensemble.py

    Thank you!

    opened by Johswald 5
  • Example code for computing Mahalanobis score in TF-2

    Example code for computing Mahalanobis score in TF-2

    Hi, Is there an example code (or colab) to compute Mahalanobis score as presented in the following paper: A Simple Fix to Mahalanobis Distance for Improving Near-OOD Detection?

    Thanks.

    opened by aqibsaeed 4
  • ImportError: cannot import name 'Cifar10HDataset'

    ImportError: cannot import name 'Cifar10HDataset'

    I have installed uncertanity-baselines but failed to load it due to the following error:

    import uncertainty_baselines as ub
    ImportError: cannot import name 'Cifar10HDataset'
    

    Has anyone experienced a similar issue or have an idea how to solve it?

    opened by ItamarKanter 4
  • Issue with Dependencies and Colab

    Issue with Dependencies and Colab

    Hello, I'm trying to use the batch ensemble model with Colab. I Tried to to pip install the repository, but it raises the below errors while downloading:

    ERROR: tensorflow 2.5.0 has requirement keras-nightly~=2.5.0.dev, but you'll have keras-nightly 2.7.0.dev2021070800 which is incompatible.
    ERROR: tf-nightly 2.7.0.dev20210708 has requirement grpcio<2.0,>=1.37.0, but you'll have grpcio 1.34.1 which is incompatible.
    

    When I try to import uncertainty_baselines I get this error:

    ImportError: cannot import name '__version__' from 'keras' (/usr/local/lib/python3.7/dist-packages/keras/__init__.py)

    I've tried to fix the versions as below:

    !pip install keras-nightly==2.5.0.dev2021020510
    !pip install grpcio==1.34.0
    !pip install tensorflow==2.5.0
    !pip install tf-nightly==2.7.0.dev20210708
    

    and after that: !pip install "git+https://github.com/google/uncertainty-baselines.git#egg=uncertainty_baselines"

    but it didn't work.

    Is it possible to specify what versions can solve this dependencies issue?

    Edition:

    My main target is to able to run the batch ensemble model. I've seen an older thread which mentioned this pip install: !pip install "git+https://github.com/google/uncertainty-baselines.git#egg=uncertainty_baselines[models]"

    it doesn't raise any error (only warning):

    WARNING:absl:Submodule datasets was found, but will not be loaded due to AttributeError within it while importing.
    /usr/local/lib/python3.7/dist-packages/edward2/__init__.py:34: UserWarning: JAX backend for Edward2 is not available.
      warnings.warn("JAX backend for Edward2 is not available.")
    WARNING:absl:Submodule models was found, but will not be loaded due to AttributeError within it while importing.
    /usr/local/lib/python3.7/dist-packages/tensorflow_addons/utils/ensure_tf_install.py:43: UserWarning: You are currently using a nightly version of TensorFlow (2.6.0-dev20210501). 
    TensorFlow Addons offers no support for the nightly versions of TensorFlow. Some things might work, some other might not. 
    If you encounter a bug, do not file an issue on GitHub.
      UserWarning,
    

    but when I try to build the model with this part of code:

    import uncertainty_baselines as ub
    
    model = ub.models.wide_resnet(input_shape=(32, 32, 3),
                                  depth=28,
                                  width_multiplier=10,
                                  num_classes=10,
                                  l2=1e-4)
    

    this error occurs: AttributeError: module 'uncertainty_baselines' has no attribute 'models'

    Thanks a lot!

    opened by tomersein 4
  • Diabetic retinopathy tuning for deterministic, dropout, VI, and radial BNN models.

    Diabetic retinopathy tuning for deterministic, dropout, VI, and radial BNN models.

    Diabetic retinopathy tuning for deterministic, dropout, VI, and radial BNN models.

    COPYBARA_INTEGRATE_REVIEW=https://github.com/google/uncertainty-baselines/pull/301 from google:retinopathy-radial-bnn 731e3503266783af84de30ca6700ed60f1bd5268

    cla: yes 
    opened by znado 4
  • Adds support for hyperparameter sweeping with Vizier. Also adds a flag to control whether or not to make adjustments to the TF Keras ResNet model to be more like the PyTorch ResNet model.

    Adds support for hyperparameter sweeping with Vizier. Also adds a flag to control whether or not to make adjustments to the TF Keras ResNet model to be more like the PyTorch ResNet model.

    Adds support for hyperparameter sweeping with Vizier. Also adds a flag to control whether or not to make adjustments to the TF Keras ResNet model to be more like the PyTorch ResNet model.

    opened by copybara-service[bot] 1
  • Change how data splits are created to allow more flexibility. Specifically, allow for leave-one-out training and training with a large number of splits of fixed size (for initial bias estimation).

    Change how data splits are created to allow more flexibility. Specifically, allow for leave-one-out training and training with a large number of splits of fixed size (for initial bias estimation).

    Change how data splits are created to allow more flexibility. Specifically, allow for leave-one-out training and training with a large number of splits of fixed size (for initial bias estimation).

    opened by copybara-service[bot] 1
Owner
Google
Google ❤️ Open Source
Google
Awesome Deep Graph Clustering is a collection of SOTA, novel deep graph clustering methods

ADGC: Awesome Deep Graph Clustering ADGC is a collection of state-of-the-art (SOTA), novel deep graph clustering methods (papers, codes and datasets).

yueliu1999 297 Dec 27, 2022
Implementation of Uniformer, a simple attention and 3d convolutional net that achieved SOTA in a number of video classification tasks

Uniformer - Pytorch Implementation of Uniformer, a simple attention and 3d convolutional net that achieved SOTA in a number of video classification ta

Phil Wang 90 Nov 24, 2022
Official repository for "Restormer: Efficient Transformer for High-Resolution Image Restoration". SOTA for motion deblurring, image deraining, denoising (Gaussian/real data), and defocus deblurring.

Restormer: Efficient Transformer for High-Resolution Image Restoration Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan,

Syed Waqas Zamir 906 Dec 30, 2022
E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation

E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation E2EC: An End-to-End Contour-based Method for High-Quality H

zhangtao 146 Dec 29, 2022
Deep generative modeling for time-stamped heterogeneous data, enabling high-fidelity models for a large variety of spatio-temporal domains.

Neural Spatio-Temporal Point Processes [arxiv] Ricky T. Q. Chen, Brandon Amos, Maximilian Nickel Abstract. We propose a new class of parameterizations

Facebook Research 75 Dec 19, 2022
A PyTorch-based open-source framework that provides methods for improving the weakly annotated data and allows researchers to efficiently develop and compare their own methods.

Knodle (Knowledge-supervised Deep Learning Framework) - a new framework for weak supervision with neural networks. It provides a modularization for se

null 93 Nov 6, 2022
aka "Bayesian Methods for Hackers": An introduction to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)

Bayesian Methods for Hackers Using Python and PyMC The Bayesian method is the natural approach to inference, yet it is hidden from readers behind chap

Cameron Davidson-Pilon 25.1k Jan 2, 2023
Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Pytorch Lightning 1.4k Jan 1, 2023
Pre-trained Deep Learning models and demos (high quality and extremely fast)

OpenVINO™ Toolkit - Open Model Zoo repository This repository includes optimized deep learning models and a set of demos to expedite development of hi

OpenVINO Toolkit 3.4k Dec 31, 2022
NUANCED is a user-centric conversational recommendation dataset that contains 5.1k annotated dialogues and 26k high-quality user turns.

NUANCED: Natural Utterance Annotation for Nuanced Conversation with Estimated Distributions Overview NUANCED is a user-centric conversational recommen

Facebook Research 18 Dec 28, 2021
A data annotation pipeline to generate high-quality, large-scale speech datasets with machine pre-labeling and fully manual auditing.

About This repository provides data and code for the paper: Scalable Data Annotation Pipeline for High-Quality Large Speech Datasets Development (subm

Appen Repos 86 Dec 7, 2022
PyTorch Implementation of PortaSpeech: Portable and High-Quality Generative Text-to-Speech

PortaSpeech - PyTorch Implementation PyTorch Implementation of PortaSpeech: Portable and High-Quality Generative Text-to-Speech. Model Size Module Nor

Keon Lee 279 Jan 4, 2023
BDDM: Bilateral Denoising Diffusion Models for Fast and High-Quality Speech Synthesis

Bilateral Denoising Diffusion Models (BDDMs) This is the official PyTorch implementation of the following paper: BDDM: BILATERAL DENOISING DIFFUSION M

null 172 Dec 23, 2022
Implementation of STAM (Space Time Attention Model), a pure and simple attention model that reaches SOTA for video classification

STAM - Pytorch Implementation of STAM (Space Time Attention Model), yet another pure and simple SOTA attention model that bests all previous models in

Phil Wang 109 Dec 28, 2022
Optimizing DR with hard negatives and achieving SOTA first-stage retrieval performance on TREC DL Track (SIGIR 2021 Full Paper).

Optimizing Dense Retrieval Model Training with Hard Negatives Jingtao Zhan, Jiaxin Mao, Yiqun Liu, Jiafeng Guo, Min Zhang, Shaoping Ma This repo provi

Jingtao Zhan 99 Dec 27, 2022
[ICCV 2021] Official Pytorch implementation for Discriminative Region-based Multi-Label Zero-Shot Learning SOTA results on NUS-WIDE and OpenImages

Discriminative Region-based Multi-Label Zero-Shot Learning (ICCV 2021) [arXiv][Project page >> coming soon] Sanath Narayan*, Akshita Gupta*, Salman Kh

Akshita Gupta 54 Nov 21, 2022
[ICCV 2021] Official Pytorch implementation for Discriminative Region-based Multi-Label Zero-Shot Learning SOTA results on NUS-WIDE and OpenImages

Discriminative Region-based Multi-Label Zero-Shot Learning (ICCV 2021) [arXiv][Project page >> coming soon] Sanath Narayan*, Akshita Gupta*, Salman Kh

Akshita Gupta 54 Nov 21, 2022