PyExplainer: A Local Rule-Based Model-Agnostic Technique (Explainable AI)

Overview

PyExplainer logo

codecov Documentation Status PyPI version Anaconda-Server Badge Language grade: Python Language grade: JavaScript Binder DOI

PyExplainer is a local rule-based model-agnostic technique for generating explanations (i.e., why a commit is predicted as defective) of Just-In-Time (JIT) defect prediction defect models.

Through a case study of two open-source software projects, we find that our PyExplainer produces (1) synthetic neighbous that are 41%-45% more similar to an instance to be explained; (2) 18%-38% more accurate local models; and (3) explanations that are 69%-98% more unique and 17%-54% more consistent with the actual characteristics of defect-introducing commits in the future than LIME (a state-of-the-art model-agnostic technique).

This work is published at the International Conference on Automated Software Engineering 2021 (ASE2021): "PyExplainer: Explaining the Predictions ofJust-In-Time Defect Models". Preprint

@inproceedings{PyExplainer,
 author = {Pornprasit, Chanathip and Tantithamthavorn, Chakkrit and Jiarpakdee, Jirayus and Fu, Micheal and Thongtanunam, Patanamon}, 
 title = {PyExplainer: Explaining the Predictions ofJust-In-Time Defect Models},
 booktitle = {Proceedings of th International Conference on Automated Software Engineering (ASE)},
 year = {2021},
 numpages = {12},
}

alt text

Quick Start

You can try our PyExplainer directly without installation at this online JupyterNotebook (just open and run TUTORIAL.ipynb). The tutorial video below demonstrates how to use our PyExplainer in this JupyterNotebook.

In the JupyterNotebook:

  • Run cells from step 1 to step 3 to create an interactive visualization in jupyter notebook cell (like the example above). You can change the input feature values of ML model at slide bar.
  • Run the cells in appendix section if you would like to get more detail about variable used to build PyExplainer

Tutorial

See the instructions below how to install our PyExplainer Python Package.

Table of Contents

Installation

Dependencies

- python >= "3.6"
- scikit-learn >= "0.24.2"
- numpy >= "1.20.1"
- scipy >= "1.6.1"
- ipywidgets >= "7.6.3"
- ipython >= "7.21.0"
- pandas >= "1.2.5"
- statsmodels >= "0.12.2"

Install PyExplainer Python Package

Installing pyexplainer is easily done using pip, simply run the following command. This will also install the necessary dependencies.

pip install pyexplainer

See this PyExplainer python package documentation for how to install our PyExplainer from source and its dependencies.

If you are with conda, run the command below in your conda environment

conda install -c conda-forge pyexplainer

Contributions

We welcome and recognize all contributions. You can see a list of current contributors in the contributors tab.

Please click here for more information about making a contribution to this project.

Documentation

The official documentation is hosted on Read the Docs

License

MIT License, click here for more information.

Credits

This package was created with Cookiecutter and the UBC-MDS/cookiecutter-ubc-mds project template, modified from the pyOpenSci/cookiecutter-pyopensci project template and the audreyr/cookiecutter-pypackage.

Comments
  • cannot run

    cannot run "import ipywidgets as widgets"

    When I import pyexplainer_pyexplainer, there is an error as shown below

    image

    I tried using pip install ipywidgets and conda install ipywidgets but both methods cannot fix the issue.

    Do you have any idea to solve this issue?

    opened by oathaha 9
  • getting error while running

    getting error while running "explain" function

    Hello, I am trying to use pyexplainer for input as text data of bug reports. I have performed text vectorizer. and after that while performing this step: created_rules = py_explainer.explain(X_explain=X_explain, y_explain=y_explain, search_function='crossoverinterpolation', random_state=0, reuse_local_model=True)

    I am getting this error: Traceback (most recent call last): File "sh_project.py", line 49, in created_rules = py_explainer.explain(X_explain=X_explain, File "/mnt/c/Users/shrad/Documents/PyExplainer/pyexplainer/pyexplainer_pyexplainer.py", line 554, in explain synthetic_object = self.generate_instance_crossover_interpolation( File "/mnt/c/Users/shrad/Documents/PyExplainer/pyexplainer/pyexplainer_pyexplainer.py", line 848, in generate_instance_crossover_interpolation X_train_i = X_train_i.loc[:, self.indep] File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 961, in getitem return self._getitem_tuple(key) File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1149, in _getitem_tuple return self._getitem_tuple_same_dim(tup) File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 827, in _getitem_tuple_same_dim
    retval = getattr(retval, self.name)._getitem_axis(key, axis=i) File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1191, in _getitem_axis return self._getitem_iterable(key, axis=axis) File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1327, in _get_listlike_indexer
    keyarr, indexer = ax._get_indexer_strict(key, axis_name) File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5782, in _get_indexer_strict
    self._raise_if_missing(keyarr, indexer, axis_name) File "/home/shraddha/.local/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5842, in _raise_if_missing
    raise KeyError(f"None of [{key}] are in the [{axis_name}]") KeyError: "None of [Index(['bookmarks option',\n '[FIX]Not correctly retrieving post data when saving a page or frame generated from a form POST',\n 'Show URI in status bar onmouseover of Back/Forward menu items',\n 'Localization problems with Bookmarks Sorted By menu & History Sorted By menu',\n 'UI to allow external handlers for internal types',\n 'Mozilla should support X11 session management',\n 'POST result page should not appear in global history or history autocomplete results',\n 'Non-responding Windows UNC share hangs bookmark menu',\n 'want infinite Back', 'Use favicons on webpage shortcuts in Windows'],\n dtype='object', name='Title')] are in the [columns]"

    Can anyone please help, what does this error indicate?

    opened by ShraddhaDevaiya 6
  • Getting error while running tutorial.ipynb in the browser

    Getting error while running tutorial.ipynb in the browser

    Hello, I was trying to run code from the tutorial.ipynb but while running it on the web, in the first step, I am getting the following error: image

    Can you please help to solve this? is there a chance that with Binder build, it couldn't install dependencies?

    opened by ShraddhaDevaiya 4
  • Bump ipython from 7.16.1 to 7.16.3

    Bump ipython from 7.16.1 to 7.16.3

    Bumps ipython from 7.16.1 to 7.16.3.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 3
  • Bump ipython from 7.21.0 to 7.31.1 in /docs

    Bump ipython from 7.21.0 to 7.31.1 in /docs

    Bumps ipython from 7.21.0 to 7.31.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 3
  • import RuleFit error

    import RuleFit error

    I found that the below code from 'pyexplainer_pyexplainer.py' that import RuleFit triggers an import error from pyexplainer.rulefit import RuleFit

    Here is the error message image

    I found that using this code can solve the problem from rulefit import RuleFit

    I found this error because I want to import pyexplainer_pyexplainer.py directly from pyexplainer directory, to ensure that I use the latest code for my experiment.

    So my request is changing from pyexplainer.rulefit import RuleFit to from rulefit import RuleFit in master branch.

    opened by oathaha 3
  • return local model

    return local model

    I think it would be beneficial for user if local model of explain() function is included in returned dictionary.

    The current code looks like this

    rule_obj = {'synthetic_data': synthetic_instances,
                        'synthetic_predictions': synthetic_predictions,
                        'X_explain': X_explain,
                        'y_explain': y_explain,
                        'indep': self.indep,
                        'dep': self.dep,
                        'top_k_positive_rules': top_k_positive_rules,
                        'top_k_negative_rules': top_k_negative_rules}
    

    but I think it should looks like this

    rule_obj = {'synthetic_data': synthetic_instances,
                        'synthetic_predictions': synthetic_predictions,
                        'X_explain': X_explain,
                        'y_explain': y_explain,
                        'indep': self.indep,
                        'dep': self.dep,
                        'local_model': local_rulefit_model,
                        'top_k_positive_rules': top_k_positive_rules,
                        'top_k_negative_rules': top_k_negative_rules}
    
    opened by oathaha 3
  • Bump mistune from 0.8.4 to 2.0.3

    Bump mistune from 0.8.4 to 2.0.3

    Bumps mistune from 0.8.4 to 2.0.3.

    Release notes

    Sourced from mistune's releases.

    Version 2.0.2

    Fix escape_url via lepture/mistune#295

    Version 2.0.1

    Fix XSS for image link syntax.

    Version 2.0.0

    First release of Mistune v2.

    Version 2.0.0 RC1

    In this release, we have a Security Fix for harmful links.

    Version 2.0.0 Alpha 1

    This is the first release of v2. An alpha version for users to have a preview of the new mistune.

    Changelog

    Sourced from mistune's changelog.

    Changelog

    Here is the full history of mistune v2.

    Version 2.0.4

    
    Released on Jul 15, 2022
    
    • Fix url plugin in <a> tag
    • Fix * formatting

    Version 2.0.3

    Released on Jun 27, 2022

    • Fix table plugin
    • Security fix for CVE-2022-34749

    Version 2.0.2

    
    Released on Jan 14, 2022
    

    Fix escape_url

    Version 2.0.1

    Released on Dec 30, 2021

    XSS fix for image link syntax.

    Version 2.0.0

    
    Released on Dec 5, 2021
    

    This is the first non-alpha release of mistune v2.

    Version 2.0.0rc1

    Released on Feb 16, 2021

    Version 2.0.0a6

    
    </tr></table> 
    

    ... (truncated)

    Commits
    • 3f422f1 Version bump 2.0.3
    • a6d4321 Fix asteris emphasis regex CVE-2022-34749
    • 5638e46 Merge pull request #307 from jieter/patch-1
    • 0eba471 Fix typo in guide.rst
    • 61e9337 Fix table plugin
    • 76dec68 Add documentation for renderer heading when TOC enabled
    • 799cd11 Version bump 2.0.2
    • babb0cf Merge pull request #295 from dairiki/bug.escape_url
    • fc2cd53 Make mistune.util.escape_url less aggressive
    • 3e8d352 Version bump 2.0.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Bump notebook from 6.4.3 to 6.4.12

    Bump notebook from 6.4.3 to 6.4.12

    Bumps notebook from 6.4.3 to 6.4.12.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Bump notebook from 6.4.5 to 6.4.10

    Bump notebook from 6.4.5 to 6.4.10

    Bumps notebook from 6.4.5 to 6.4.10.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Bump poetry from 1.1.7 to 1.1.9

    Bump poetry from 1.1.7 to 1.1.9

    Bumps poetry from 1.1.7 to 1.1.9.

    Release notes

    Sourced from poetry's releases.

    1.1.9

    Fixed

    1.1.8

    Fixed

    • Fixed an error with repository prioritization when specifying secondary repositories. (#4241)
    • Fixed the detection of the system environment when the setting virtualenvs.create is deactivated. (#4330, #4407)
    • Fixed the evaluation of relative path dependencies. (#4246)
    • Fixed environment detection for Python 3.10 environments. (#4387)
    • Fixed an error in the evaluation of in/not in markers (python-poetry/poetry-core#189)
    Changelog

    Sourced from poetry's changelog.

    [1.1.9] - 2021-09-18

    Fixed

    [1.1.8] - 2021-08-19

    Fixed

    • Fixed an error with repository prioritization when specifying secondary repositories. (#4241)
    • Fixed the detection of the system environment when the setting virtualenvs.create is deactivated. (#4330#4407)
    • Fixed the evaluation of relative path dependencies. (#4246)
    • Fixed environment detection for Python 3.10 environments. (#4387)
    • Fixed an error in the evaluation of in/not in markers (python-poetry/poetry-core#189)

    [1.2.0a2] - 2021-08-01

    Added

    • Poetry now supports dependency groups. (#4260)
    • The install command now supports a --sync option to synchronize the environment with the lock file. (#4336)

    Changed

    • Improved the way credentials are retrieved to better support keyring backends. (#4086)
    • The --remove-untracked option of the install command is now deprecated in favor of the new --sync option. (#4336)
    • The user experience when installing dependency groups has been improved. (#4336)

    Fixed

    • Fixed performance issues when resolving dependencies. (#3839)
    • Fixed an issue where transitive dependencies of directory or VCS dependencies were not installed or otherwise removed. (#4202)
    • Fixed the behavior of the init command in non-interactive mode. (#2899)
    • Fixed the detection of the system environment when the setting virtualenvs.create is deactivated. (#4329)
    • Fixed the display of possible solutions for some common errors. (#4332)
    Commits
    • 69bd682 Bump version to 1.1.9
    • 9d8aed4 Update lock file
    • a9e59ed Merge pull request #4507 from python-poetry/1.1-fix-system-env-detection
    • 459c8c9 Fix system env detection
    • 634bb23 Merge pull request #4420 from pietrodn/fix/hash-check-backport-1.1
    • d033cba style: linting
    • 8268795 Merge pull request #4444 from python-poetry/1.1-fix-archive-hash-generation
    • 8238cab Fix archive hash generation
    • 8956a0c fix: python 2.7 syntax
    • 435ff81 Throw a RuntimeError on hash mismatch in Chooser._get_links (#3885)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Questions about the results obtained by XAI method

    Questions about the results obtained by XAI method

    I found a strange phenomenon. For the same model, the same training sample and test sample, other operations are identical. Theoretically, the values obtained by using the XAI method (like Saliency) to evaluate the interpretability of the model should be the same. However, I retrained a new model, and the interpretability values obtained are completely different from those obtained from the previous model. Does anyone know why this happens? The interpretability value is completely unstable, and the results cannot be reproduced. Unless I completely save this model after training it, and then reload this parameter, the results will be the same. Does anyone know why

    opened by 9527-ly 0
  • Not getting an expected output

    Not getting an expected output

    Hello, I am using the pyexplainer to explain the data regarding the bug report. following is my input data :

    image

    and the feature data is like this:

    image

    and for this pyexplainer is giving output like this:

    image

    which doesn't seem like an explanation. can you please suggest, am I missing anything?

    opened by ShraddhaDevaiya 9
Owner
AI Wizards for Software Management (AWSM) Research Group
AI Wizards for Software Management (AWSM) Research Group
PyTorch implementation of Graph Convolutional Networks in Feature Space for Image Deblurring and Super-resolution, IJCNN 2021.

GCResNet PyTorch implementation of Graph Convolutional Networks in Feature Space for Image Deblurring and Super-resolution, IJCNN 2021. The code will

11 May 19, 2022
Unsupervised Learning of Video Representations using LSTMs

Unsupervised Learning of Video Representations using LSTMs Code for paper Unsupervised Learning of Video Representations using LSTMs by Nitish Srivast

Elman Mansimov 341 Dec 20, 2022
Official implementation of paper "Query2Label: A Simple Transformer Way to Multi-Label Classification".

Introdunction This is the official implementation of the paper "Query2Label: A Simple Transformer Way to Multi-Label Classification". Abstract This pa

Shilong Liu 274 Dec 28, 2022
Fine-tuning StyleGAN2 for Cartoon Face Generation

Cartoon-StyleGAN 🙃 : Fine-tuning StyleGAN2 for Cartoon Face Generation Abstract Recent studies have shown remarkable success in the unsupervised imag

Jihye Back 520 Jan 04, 2023
Combining Diverse Feature Priors

Combining Diverse Feature Priors This repository contains code for reproducing the results of our paper. Paper: https://arxiv.org/abs/2110.08220 Blog

Madry Lab 5 Nov 12, 2022
Range Image-based LiDAR Localization for Autonomous Vehicles Using Mesh Maps

Range Image-based 3D LiDAR Localization This repo contains the code for our ICRA2021 paper: Range Image-based LiDAR Localization for Autonomous Vehicl

Photogrammetry & Robotics Bonn 208 Dec 15, 2022
Code for Private Recommender Systems: How Can Users Build Their Own Fair Recommender Systems without Log Data? (SDM 2022)

Private Recommender Systems: How Can Users Build Their Own Fair Recommender Systems without Log Data? (SDM 2022) We consider how a user of a web servi

joisino 20 Aug 21, 2022
A Python module for parallel optimization of expensive black-box functions

blackbox: A Python module for parallel optimization of expensive black-box functions What is this? A minimalistic and easy-to-use Python module that e

Paul Knysh 426 Dec 08, 2022
An Implementation of SiameseRPN with Feature Pyramid Networks

SiameseRPN with FPN This project is mainly based on HelloRicky123/Siamese-RPN. What I've done is just add a Feature Pyramid Network method to the orig

3 Apr 16, 2022
Official repository for MixFaceNets: Extremely Efficient Face Recognition Networks

MixFaceNets This is the official repository of the paper: MixFaceNets: Extremely Efficient Face Recognition Networks. (Accepted in IJCB2021) https://i

Fadi Boutros 51 Dec 13, 2022
Personals scripts using ageitgey/face_recognition

HOW TO USE pip3 install requirements.txt Add some pictures of known people in the folder 'people' : a) Create a folder called by the name of the perso

Antoine Bollengier 1 Jan 06, 2022
RLBot Python bindings for the Rust crate rl_ball_sym

RLBot Python bindings for rl_ball_sym 0.6 Prerequisites: Rust & Cargo Build Tools for Visual Studio RLBot - Verify that the file %localappdata%\RLBotG

Eric Veilleux 2 Nov 25, 2022
Code to accompany our paper "Continual Learning Through Synaptic Intelligence" ICML 2017

Continual Learning Through Synaptic Intelligence This repository contains code to reproduce the key findings of our path integral approach to prevent

Ganguli Lab 82 Nov 03, 2022
Fast and customizable reconnaissance workflow tool based on simple YAML based DSL.

Fast and customizable reconnaissance workflow tool based on simple YAML based DSL, with support of notifications and distributed workload of that work

Américo Júnior 3 Mar 11, 2022
[ACL 2022] LinkBERT: A Knowledgeable Language Model 😎 Pretrained with Document Links

LinkBERT: A Knowledgeable Language Model Pretrained with Document Links This repo provides the model, code & data of our paper: LinkBERT: Pretraining

Michihiro Yasunaga 264 Jan 01, 2023
A stable algorithm for GAN training

DRAGAN (Deep Regret Analytic Generative Adversarial Networks) Link to our paper - https://arxiv.org/abs/1705.07215 Pytorch implementation (thanks!) -

195 Oct 10, 2022
The code for 'Deep Residual Fourier Transformation for Single Image Deblurring'

Deep Residual Fourier Transformation for Single Image Deblurring Xintian Mao, Yiming Liu, Wei Shen, Qingli Li and Yan Wang News 2021.12.5 Release Deep

145 Jan 05, 2023
Implementation for Shape from Polarization for Complex Scenes in the Wild

sfp-wild Implementation for Shape from Polarization for Complex Scenes in the Wild project website | paper Code and dataset will be released soon. Int

Chenyang LEI 41 Dec 23, 2022
simple demo codes for Learning to Teach with Dynamic Loss Functions

Learning to Teach with Dynamic Loss Functions This repo contains the simple demo for the NeurIPS-18 paper: Learning to Teach with Dynamic Loss Functio

Lijun Wu 15 Dec 30, 2021