🔅 Shapash makes Machine Learning models transparent and understandable by everyone

Overview

tests pypi downloads pyversion license doc

🎉 What's new ?

Version New Feature Description Tutorial
1.6.x Explainability Quality Metrics
To help increase confidence in explainability methods, you can evaluate the relevance of your explainability using 3 metrics: Stability, Consistency and Compacity
1.5.x ACV Backend
A new way of estimating Shapley values using ACV. More info about ACV here.
1.4.x Groups of features
demo
You can now regroup features that share common properties together.
This option can be useful if your model has a lot of features.
1.3.x Shapash Report
demo
A standalone HTML report that constitutes a basis of an audit document.

🔍 Overview

Shapash is a Python library which aims to make machine learning interpretable and understandable by everyone. It provides several types of visualization that display explicit labels that everyone can understand.

Data Scientists can understand their models easily and share their results. End users can understand the decision proposed by a model using a summary of the most influential criteria.

Shapash also contributes to data science auditing by displaying usefull information about any model and data in a unique report.

🤝 Contributors

🏆 Awards

🔥 Features

  • Display clear and understandable results: plots and outputs use explicit labels for each feature and its values

  • Allow Data Scientists to quickly understand their models by using a webapp to easily navigate between global and local explainability, and understand how the different features contribute: Live Demo Shapash-Monitor

  • Summarize and export the local explanation

Shapash proposes a short and clear local explanation. It allows each user, whatever their Data background, to understand a local prediction of a supervised model thanks to a summarized and explicit explanation

  • Evaluate the quality of your explainability using different metrics

  • Easily share and discuss results with non-Data users

  • Deploy interpretability part of your project: From model training to deployment (API or Batch Mode)

  • Contribute to the auditability of your model by generating a standalone HTML report of your projects. Report Example

We hope that this report will bring a valuable support to auditing models and data related to a better AI governance. Data Scientists can now deliver to anyone who is interested in their project a document that freezes different aspects of their work as a basis of an audit report. This document can be easily shared across teams (internal audit, DPO, risk, compliance...).

⚙️ How Shapash works

Shapash is an overlay package for libraries dedicated to the interpretability of models. It uses Shap or Lime backend to compute contributions. Shapash builds on the different steps necessary to build a machine learning model to make the results understandable

🛠 Installation

Shapash is intended to work with Python versions 3.6 to 3.9. Installation can be done with pip:

pip install shapash

In order to generate the Shapash Report some extra requirements are needed. You can install these using the following command :

pip install shapash[report]

If you encounter compatibility issues you may check the corresponding section in the Shapash documentation here.

🕐 Quickstart

The 4 steps to display results:

  • Step 1: Declare SmartExplainer Object

    You can declare features dict here to specify the labels to display

from shapash.explainer.smart_explainer import SmartExplainer
xpl = SmartExplainer(features_dict=house_dict) # optional parameter
  • Step 2: Compile Model, Dataset, Encoders, ...

    There are 2 mandatory parameters in compile method: Model and Dataset

xpl.compile(
    x=Xtest,
    model=regressor,
    preprocessing=encoder, # Optional: compile step can use inverse_transform method
    y_pred=y_pred, # Optional
    postprocessing=postprocess # Optional: see tutorial postprocessing
)
  • Step 3: Display output

    There are several outputs and plots available. for example, you can launch the web app:

app = xpl.run_app()

Live Demo Shapash-Monitor

  • Step 4: Generate the Shapash Report

    This step allows to generate a standalone html report of your project using the different splits of your dataset and also the metrics you used:

xpl.generate_report(
    output_file='path/to/output/report.html',
    project_info_file='path/to/project_info.yml',
    x_train=Xtrain,
    y_train=ytrain,
    y_test=ytest,
    title_story="House prices report",
    title_description="""This document is a data science report of the kaggle house prices tutorial project.
        It was generated using the Shapash library.""",
    metrics=[{‘name’: ‘MSE’, ‘path’: ‘sklearn.metrics.mean_squared_error’}]
)

Report Example

  • Step 5: From training to deployment : SmartPredictor Object

    Shapash provides a SmartPredictor object to deploy the summary of local explanation for the operational needs. It is an object dedicated to deployment, lighter than SmartExplainer with additional consistency checks. SmartPredictor can be used with an API or in batch mode. It provides predictions, detailed or summarized local explainability using appropriate wording.

predictor = xpl.to_smartpredictor()

See the tutorial part to know how to use the SmartPredictor object

📖 Tutorials

This github repository offers a lot of tutorials to allow you to start more concretely in the use of Shapash.

More Precise Overview

More details about charts and plots

The different ways to use Encoders and Dictionaries

Better displaying data with postprocessing

How to use shapash with Shap, Lime or ACV

Evaluate the quality of your explainability

Generate the Shapash Report

Deploy local explainability in production

Comments
  • [QUESTION] - Imputers in ColumnTransformer preprocessing

    [QUESTION] - Imputers in ColumnTransformer preprocessing

    Description of Problem:

    I want to make use of a Imputer (SimpleImputer) inside column transformer. I don't see any compatibility with Imputers.

    Overview of the Solution:

    Not sure how to add it yet.

    Sorry but I don't see any issue with label question.

    opened by fjpa121197 6
  • Add support for Python 3.10

    Add support for Python 3.10

    Description of Problem: Currently only Python 3.6 to 3.9 seem to be officially supported.

    Overview of the Solution: Drop support for 3.6 which is EOL, add support of 3.10. Check dependencies, run tests, adapt GitHub workflow to 3.10, etc.

    opened by quassy 6
  • Problem with XGBoost contributions computation

    Problem with XGBoost contributions computation

    Code

    import numpy as np
    import pandas as pd
    
    import xgboost
    
    import shap
    from shapash.explainer.smart_explainer import SmartExplainer
    
    X,y = shap.datasets.nhanesi()
    X_display,y_display = shap.datasets.nhanesi(display=True) # human readable feature values
    y = np.array(y)
    X = X.drop('Unnamed: 0', axis=1)
    
    xgb_train = xgboost.DMatrix(X, label=y)
    
    params_train = {
        "eta": 0.002,
        "max_depth": 3,
        "objective": "survival:cox",
        "subsample": 0.5,
    }
    
    model = xgboost.train(params_train, xgb_train, num_boost_round=5)
    
    # Smart explainer creation
    xpl = SmartExplainer()
    xpl.compile(
        x=X,
        model=model
    )
    

    Error:

    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-23-8abc6cc3f74d> in <module>
         28 # Smart explainer creation
         29 xpl = SmartExplainer()
    ---> 30 xpl.compile(
         31     x=X,
         32     model=model,
    
    ~/.local/lib/python3.8/site-packages/shapash/explainer/smart_explainer.py in compile(self, x, model, explainer, contributions, y_pred, preprocessing, postprocessing)
        192             raise ValueError("You have to specify just one of these arguments: explainer, contributions")
        193         if contributions is None:
    --> 194             contributions, explainer = shap_contributions(model, self.x_init, self.check_explainer(explainer))
        195         adapt_contrib = self.adapt_contributions(contributions)
        196         self.state = self.choose_state(adapt_contrib)
    
    ~/.local/lib/python3.8/site-packages/shapash/utils/shap_backend.py in shap_contributions(model, x_df, explainer)
         55 
         56     if str(type(model)) not in list(sum((simple_tree_model,catboost_model,linear_model,svm_model),())):
    ---> 57         raise ValueError(
         58             """
         59             model not supported by shapash, please compute contributions
    
    ValueError: 
                model not supported by shapash, please compute contributions
                by yourself before using shapash
    

    Hint:

    str(type(model))
    "<class 'xgboost.core.Booster'>"
    

    Python version : 3.8

    Shapash version : 1.1.0 XGBoost version : 1.0.0

    Operating System : Linux

    bug shapash 1.1.0 
    opened by guillaume-vignal 4
  • Switch from SmartPredictor to SmartExplainer

    Switch from SmartPredictor to SmartExplainer

    Hi Team,

    Is it possible to generate local explanations on the new data added to SmartPredictor object? I went through all the tutorials and I understand that when we are satisfied with the explainability results given by Shapash, we can use the SmartPredictor object for deployment. But my question is how can we get local explanation chart after deployment on the new data that is coming in? I hope my question is clear.

    Thanks, Chetan

    enhancement shapash 1.2.0 
    opened by chetanambi 4
  • :bug: some navigation bugs in demo webapp (bugs not present in local webapp)

    :bug: some navigation bugs in demo webapp (bugs not present in local webapp)

    In this demo Webapp, there are some bugs when navigate : https://shapash-demo.ossbymaif.fr/ https://shapash-demo2.ossbymaif.fr/

    When there are filters and you click on features in "features importance", in contribution plot, some plots do not correspond anymore to the feature and selection.

    These errors are not reproducible on a local webapp, there must be a problem when deploying the exposed demos

    opened by ThomasBouche 3
  • Probability output

    Probability output

    Dear all, Many thanks for developing shapash, I have one question regarding the probability that is shown in the web app. Is it referring to the probability of the selected class or the probability of the positive class. If its the former, how someone can output the probability of the positive class.

    Best regards Nikos

    opened by npapan69 3
  • C extension was not built during install!

    C extension was not built during install!

    Hello,

    I try to reproduce tutorial01-Shapash-Overview-Launch-WebApp.ipynb with my own dataset and model (RandomForestClassifier) but I have this error C extension was not built during install! when I run the .compile.

    Thanks, Pauline.

    opened by paulineolivierMFG 3
  • explanation with lime backend returns 'lime_tabular' not defined error

    explanation with lime backend returns 'lime_tabular' not defined error

    Hello, I tried to build an explanation with lime backend but got the following error: My code:

    from shapash.explainer.smart_explainer import SmartExplainer
    import lime.lime_tabular
    xpl = SmartExplainer(model=rf, backend='lime')
    xpl.compile(x=X_i)
    

    =>

    File c:\Users\X\AppData\Local\Programs\Python\Python39\lib\site-packages\shapash\backend\lime_backend.py:39, in LimeBackend.run_explainer(self, x)
    ...
    ---> [39](file:///c%3A/Users/X/AppData/Local/Programs/Python/Python39/lib/site-packages/shapash/backend/lime_backend.py?line=38) explainer = lime_tabular.LimeTabularExplainer(
    ...
    
    NameError: name 'lime_tabular' is not defined
    

    I am using: Python version : 3.9.12 Lime version: 0.2.0.1

    Shapash version : 2.0.1

    Operating System : Windows 10

    Should I import or install a particular lime version to make it work? Thanks, Thomas

    opened by thlevy 2
  • SHAPASH support - Random forest binary classification

    SHAPASH support - Random forest binary classification

    Doesn't shapash support random forest for binary classification?

    When I run my code, I got the below error

    ValueError: 
                model not supported by shapash, please compute contributions
                by yourself before using shapash
    
    opened by SSMK-wq 2
  • Add option to suppress deprecation warnings in html report

    Add option to suppress deprecation warnings in html report

    Description of Problem:

    When generating the html report, a lot of deprecation warnings are present

    Overview of the Solution:

    One possible solution is to add an argument to the generate_report function of the SmartExplainer class, to give the option to suppress these warnings with this snippet:

    ` import warnings

    warnings.filterwarnings("ignore", category=DeprecationWarning) `

    opened by jlwdl 2
  • ImportError: Numba could not be imported.

    ImportError: Numba could not be imported.

    Python version : Python 3.8.3

    Shapash version : Version: 1.4.4

    Operating System : Windows 10

    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    ~\AppData\Roaming\Python\Python38\site-packages\numba\core\typeconv\typeconv.py in <module>
          3     # Numba, if it fails to import, provide some feedback
    ----> 4     from numba.core.typeconv import _typeconv
          5 except ImportError as e:
    
    ImportError: DLL load failed while importing _typeconv: The specified module could not be found.
    
    During handling of the above exception, another exception occurred:
    
    ImportError                               Traceback (most recent call last)
    <ipython-input-11-9cd225270d78> in <module>
    ----> 1 from shapash.explainer.smart_explainer import SmartExplainer
          2 # xpl = SmartExplainer(features_dict=house_dict)
          3 
          4 # xpl.compile(
          5 #     x=Xtest,
    
    D:\installed_softwares\anaconda\lib\site-packages\shapash\explainer\smart_explainer.py in <module>
         14 from shapash.utils.utils import get_host_name
         15 from shapash.utils.threading import CustomThread
    ---> 16 from shapash.utils.shap_backend import shap_contributions, check_explainer, get_shap_interaction_values
         17 from shapash.utils.check import check_model, check_label_dict, check_ypred, check_contribution_object,\
         18     check_postprocessing, check_features_name
    
    D:\installed_softwares\anaconda\lib\site-packages\shapash\utils\shap_backend.py in <module>
         14 import pandas as pd
         15 import numpy as np
    ---> 16 import shap
         17 from shapash.utils.model_synoptic import simple_tree_model, catboost_model, linear_model, svm_model
         18 
    
    D:\installed_softwares\anaconda\lib\site-packages\shap\__init__.py in <module>
         10     warnings.warn("As of version 0.29.0 shap only supports Python 3 (not 2)!")
         11 
    ---> 12 from ._explanation import Explanation, Cohorts
         13 
         14 # explainers
    
    D:\installed_softwares\anaconda\lib\site-packages\shap\_explanation.py in <module>
         10 from slicer import Slicer, Alias, Obj
         11 # from ._order import Order
    ---> 12 from .utils._general import OpChain
         13 
         14 # slicer confuses pylint...
    
    D:\installed_softwares\anaconda\lib\site-packages\shap\utils\__init__.py in <module>
    ----> 1 from ._clustering import hclust_ordering, partition_tree, partition_tree_shuffle, delta_minimization_order, hclust
          2 from ._general import approximate_interactions, potential_interactions, sample, safe_isinstance, assert_import, record_import_error
          3 from ._general import shapley_coefficients, convert_name, format_value, ordinal_str, OpChain
          4 from ._show_progress import show_progress
          5 from ._masked_model import MaskedModel, make_masks
    
    D:\installed_softwares\anaconda\lib\site-packages\shap\utils\_clustering.py in <module>
          2 import scipy as sp
          3 from scipy.spatial.distance import pdist
    ----> 4 from numba import jit
          5 import sklearn
          6 import warnings
    
    ~\AppData\Roaming\Python\Python38\site-packages\numba\__init__.py in <module>
         22 
         23 # Re-export typeof
    ---> 24 from numba.misc.special import (
         25     typeof, prange, pndindex, gdb, gdb_breakpoint, gdb_init,
         26     literally, literal_unroll,
    
    ~\AppData\Roaming\Python\Python38\site-packages\numba\misc\special.py in <module>
          1 import numpy as np
          2 
    ----> 3 from numba.core.typing.typeof import typeof
          4 from numba.core.typing.asnumbatype import as_numba_type
          5 
    
    ~\AppData\Roaming\Python\Python38\site-packages\numba\core\typing\__init__.py in <module>
    ----> 1 from .context import BaseContext, Context
          2 from .templates import (signature, make_concrete_template, Signature,
          3                         fold_arguments)
    
    ~\AppData\Roaming\Python\Python38\site-packages\numba\core\typing\context.py in <module>
          9 import numba
         10 from numba.core import types, errors
    ---> 11 from numba.core.typeconv import Conversion, rules
         12 from numba.core.typing import templates
         13 from .typeof import typeof, Purpose
    
    ~\AppData\Roaming\Python\Python38\site-packages\numba\core\typeconv\rules.py in <module>
          1 import itertools
    ----> 2 from .typeconv import TypeManager, TypeCastingRules
          3 from numba.core import types
          4 
          5 
    
    ~\AppData\Roaming\Python\Python38\site-packages\numba\core\typeconv\typeconv.py in <module>
         15            "possible please include the following in your error report:\n\n"
         16            "sys.executable: %s\n")
    ---> 17     raise ImportError(msg % (url, reportme, str(e), sys.executable))
         18 
         19 from numba.core.typeconv import castgraph, Conversion
    
    ImportError: Numba could not be imported.
    If you are seeing this message and are undertaking Numba development work, you may need to re-run:
    
    python setup.py build_ext --inplace
    
    (Also, please check the development set up guide https://numba.pydata.org/numba-doc/latest/developer/contributing.html.)
    
    If you are not working on Numba development:
    
    Please report the error message and traceback, along with a minimal reproducer
    at: https://github.com/numba/numba/issues/new
    
    If more help is needed please feel free to speak to the Numba core developers
    directly at: https://gitter.im/numba/numba
    
    Thanks in advance for your help in improving Numba!
    
    The original error was: 'DLL load failed while importing _typeconv: The specified module could not be found.'
    --------------------------------------------------------------------------------
    If possible please include the following in your error report:
    
    sys.executable: D:\installed_softwares\anaconda\python.exe
    
    
    opened by avinash-mishra 2
  • Shapash Webapp displays incorrect plot when server process > 1

    Shapash Webapp displays incorrect plot when server process > 1

    Shapash Webapp displays incorrect plot when server process > 1

    In the case the webapp is exposed with processes > 1 in the uwsgi configuration, the app does not behave as expected. For instance:

    • the selection of a feature triggers the display of a subset
    • maximizing the feature selector plot change the selected feature
    • etc.

    Python version : 3.9

    Shapash version : tested on 2.2, may affect other versions

    Operating System : Any

    How to reproduce:

    app = xpl.smartapp.app
    app.run_server(debug=False, host="0.0.0.0", port=8080, processes=2, threaded=False)
    
    bug 
    opened by ThomasBouche 1
  • Using ACV algorithm to compute contributions for coalitions of features

    Using ACV algorithm to compute contributions for coalitions of features

    Description of Problem:

    Shapash can use ACV as a backend to compute feature contribution. ACV has the advantage of being able to directly compute shapley values for coalition of features. In that case, their are no individual contributions for the individual features, just one for the coalition

    Shapash already has a features_groups argument for the smart explainer that sum contributions of features for the group (as it should for SHAP or LIME backend). Nevertheless, the coalition property of ACV is not used in that case.

    Overview of the Solution:

    The feature_groups allows the user to group contributions by summing them but also to display individual contributions for the group (like in the webapp).

    If we use the feature_groups argument to compute contributions for coalitions, this won't be possible for ACV. To keep the app as it is, we should add a new argument (like "acv_feature_coalition") that can be used only with acv as a backend and used in the acv_tree algorithm in acv_backend.py.

    shapley_values = acvtree.shap_values(X, C=acv_feature_coalition)

    Also I would suggest letting the user choose between regular shapley values computed with the acvtree.shap_values and the active shapley values computed with acvtree.shap_values_acv_adap

    opened by cyrlemaire 1
  • Adding support for PyTorch models

    Adding support for PyTorch models

    Description of Problem:

    • PyTorch is a great multi-purpose neural network development framework.
    • Deep learning algorithms are getting easier to train, understand, deploy and manage and can be used with great efficiency in enterprise contexts.
    • SHAP values can be computed for neural nets and serve for model explainability purposes.

    Overview of the Solution:

    • Integrate the DeepLIFT algorithm (Deep SHAP), and the possibility to visualize the estimated values in the SHAPASH GUI.

    Examples:

    Blockers:

    • Not all explainability methods will be suitable, this is a limitation rather than a blocker

    Definition of Done:

    • PyTorch models trained on tabular data (regression or classification use cases) can be used with SHAPASH
    opened by corridordigital 0
  • Support MultiIndex in the Web App

    Support MultiIndex in the Web App

    First of all, thank you for the great library! Investigating shap values with it is pretty comfortable.

    Description of Problem: The Shapax App does not support DataFrames with MultiIndexes. MultiIndexes are useful for querying tables coming from other structured data formats. At the xpl.run_app() step an error occurs at https://github.com/MAIF/shapash/blob/master/shapash/webapp/smart_app.py#L149.

    Overview of the Solution: Use reset_index() instead of assigning the index to a column named index. If need be, store the names of the index columns for differentiating them from the remaining dataframe.

    Examples:

    Blockers:

    Definition of Done:

    opened by davibicudo 3
  • Question - Plot headings

    Question - Plot headings

    I was going through the documentation and came across the below plot and its header

    image

    Here, for the local explanation id = 3, we see that SHAPASH graph plots as header as

    Response: 1 - Proba = 0.2521

    This is confusing. Does it mean the model predicted probability for this record was 0.7479 (obtained by subtracting 1-0.2521)?

    Or is the model predicted probability of this class was 0.2521?

    Which is the probability that was predicted by the model that we build?

    and what does SHAPASH do here/why does it subtract from 1?

    opened by SSMK-wq 1
Releases(v2.2.0)
  • v2.2.0(Oct 25, 2022)

    These 2 new features are designed to select samples in the Webapp

    • With a new tab "Dataset Filter" to filter more easily with the characteristics of the features
    • With a graph that represents the "True values vs Predicted values"

    ✨ Features #389 Webapp: Improve the top menu for class selection #388 Create to tab which contains prediction picking graph and connexion with other graph https://github.com/MAIF/shapash/issues/387 add responsive titles, subtitles, axis titles and axis labels to each graph https://github.com/MAIF/shapash/issues/386 Add explanation button and popup https://github.com/MAIF/shapash/issues/385 Adapt the labels of graphs according to their size https://github.com/MAIF/shapash/issues/384 Add tab that contains dataset filters https://github.com/MAIF/shapash/issues/378 Adding a plot to the webapp and interactivity with other plots https://github.com/MAIF/shapash/issues/377 Add of a prediction error distribution graph

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Sep 15, 2022)

  • v2.1.0(Sep 6, 2022)

    New support in Python version :arrow_up: Support to Python 3.10 #297 :arrow_down: Stop to support Python 3.6 #297

    Upgrade dependencies :arrow_up: scikit-learn>=0.24.0 #297 :arrow_up: acv-exp>=1.2.0 #297 :arrow_up: category_encoders>=2.2.2 #372

    Source code(tar.gz)
    Source code(zip)
  • v2.0.2(Aug 25, 2022)

  • v2.0.1(May 9, 2022)

  • v2.0.0(Apr 19, 2022)

    Features Refactoring attributes of compile methods and init. #347 Refactoring implementation for new backends #348, #346

    Other Features Upgrade Dash version : #343 Improve requirements in setup.py : #337

    Bug fixes Fix for Werkzeug compatibility : #342 Fix requirements for python 3.6 : #339

    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Mar 11, 2022)

    Features Give user possibility to change colour scheme of plots #290, #295

    Features

    • Fix ACV version : #298
    • Add ignore warnings to report : #303
    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Jan 14, 2022)

  • v1.6.0(Dec 6, 2021)

    Features Evaluate the relevance of your explainability using 3 metrics: Stability, Consistency and Compacity

    • Stability #234
    • Compacity #242
    • Consistency #252

    New backend added to Shapash : LIME #255

    Bug fixes

    • Multiple lime fixe (#263, #265, #267)
    • replace parameter for acv backend #262
    • fix remove files when generate report fail #250

    Internal

    • Update data loader with urldowload #269
    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Sep 27, 2021)

  • v1.4.4(Jul 19, 2021)

  • v1.4.2(Jun 18, 2021)

  • v1.4.1(Jun 18, 2021)

  • v1.4.0(Jun 16, 2021)

    • Groups of features compatible with:
      • Features importance plot (#188)
      • Contribution plot (#188)
      • Local plot (#207)
      • WebApp (#203)
      • SmartPredictor (#212)
    • New tutorial to illustrate how to use groups of features (#211)
    • New plot : correlation plot (#210) used in the Shapash report
    • Added compatibility with python version 3.9
    Source code(tar.gz)
    Source code(zip)
  • v1.3.2(Apr 15, 2021)

  • v1.3.1(Apr 13, 2021)

    • Standalone report (#137) Standalone HTML file that contains the following information :
      • General information about the project
      • Dataset description
      • Model library, parameters, and other specifications
      • Dataset analysis
      • Global explainability of the model
      • Model performance
    • Digit counter breaks on 0 (#156)
    • Switch from SmartPredictor to SmartExplainer (#132)
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Mar 10, 2021)

    • WebApp Features: Title (#118), sort features in mask (#117), run app without prediction (#135)
    • Interaction plot: Plot (#124), calculation of top interactions (#120, #122)
    • BugFix: Xgboost (#127), Pickle (#131, #133)
    Source code(tar.gz)
    Source code(zip)
An Open Source Machine Learning Framework for Everyone

Documentation TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries, a

null 170.1k Jan 4, 2023
An Open Source Machine Learning Framework for Everyone

Documentation TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries, a

null 170.1k Jan 5, 2023
An Open Source Machine Learning Framework for Everyone

Documentation TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries, a

null 153.2k Feb 13, 2021
QuickAI is a Python library that makes it extremely easy to experiment with state-of-the-art Machine Learning models.

QuickAI is a Python library that makes it extremely easy to experiment with state-of-the-art Machine Learning models.

null 152 Jan 2, 2023
Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

Machine Learning From Scratch About Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The purpose

Erik Linder-Norén 21.8k Jan 9, 2023
Transparent Transformer Segmentation

Transparent Transformer Segmentation Introduction This repository contains the data and code for IJCAI 2021 paper Segmenting transparent object in the

谢恩泽 140 Jan 2, 2023
RGB-D Local Implicit Function for Depth Completion of Transparent Objects

RGB-D Local Implicit Function for Depth Completion of Transparent Objects [Project Page] [Paper] Overview This repository maintains the official imple

NVIDIA Research Projects 43 Dec 12, 2022
SciKit-Learn Laboratory (SKLL) makes it easy to run machine learning experiments.

SciKit-Learn Laboratory This Python package provides command-line utilities to make it easier to run machine learning experiments with scikit-learn. O

ETS 528 Nov 25, 2022
Scripts of Machine Learning Algorithms from Scratch. Implementations of machine learning models and algorithms using nothing but NumPy with a focus on accessibility. Aims to cover everything from basic to advance.

Algo-ScriptML Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The goal of this project is not t

Algo Phantoms 81 Nov 26, 2022
This is a Machine Learning Based Hand Detector Project, It Uses Machine Learning Models and Modules Like Mediapipe, Developed By Google!

Machine Learning Hand Detector This is a Machine Learning Based Hand Detector Project, It Uses Machine Learning Models and Modules Like Mediapipe, Dev

Popstar Idhant 3 Feb 25, 2022
Deduplicating Training Data Makes Language Models Better

Deduplicating Training Data Makes Language Models Better This repository contains code to deduplicate language model datasets as descrbed in the paper

Google Research 431 Dec 27, 2022
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

This is the Vowpal Wabbit fast online learning code. Why Vowpal Wabbit? Vowpal Wabbit is a machine learning system which pushes the frontier of machin

Vowpal Wabbit 8.1k Jan 6, 2023
ktrain is a Python library that makes deep learning and AI more accessible and easier to apply

Overview | Tutorials | Examples | Installation | FAQ | How to Cite Welcome to ktrain News and Announcements 2020-11-08: ktrain v0.25.x is released and

Arun S. Maiya 1.1k Jan 2, 2023
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 1, 2023
A deep learning library that makes face recognition efficient and effective

Distributed Arcface Training in Pytorch This is a deep learning library that makes face recognition efficient, and effective, which can train tens of

Sajjad Aemmi 10 Nov 23, 2021
How the Deep Q-learning method works and discuss the new ideas that makes the algorithm work

Deep Q-Learning Recommend papers The first step is to read and understand the method that you will implement. It was first introduced in a 2013 paper

null 1 Jan 25, 2022
Visualizer for neural network, deep learning, and machine learning models

Netron is a viewer for neural network, deep learning and machine learning models. Netron supports ONNX (.onnx, .pb, .pbtxt), Keras (.h5, .keras), Tens

Lutz Roeder 21k Jan 6, 2023
Machine learning and Deep learning models, deploy on telegram (the best social media)

Semi Intelligent BOT The project involves : Classifying fake news Classifying objects such as aeroplane, automobile, bird, cat, deer, dog, frog, horse

MohammadReza Norouzi 5 Mar 6, 2022