{"id":15469142,"url":"https://github.com/jmaces/keras-adf","last_synced_at":"2025-04-23T15:25:06.394Z","repository":{"id":62573935,"uuid":"222938961","full_name":"jmaces/keras-adf","owner":"jmaces","description":"Tensorflow/Keras implementation of Assumed Density Filtering (ADF) based probabilistic neural networks","archived":false,"fork":false,"pushed_at":"2022-08-17T14:44:57.000Z","size":91,"stargazers_count":14,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-09T12:32:42.059Z","etag":null,"topics":["deep-learning","deep-neural-networks","keras","machine-learning","probabilistic-models","tensorflow"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmaces.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":".github/CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-20T13:03:17.000Z","updated_at":"2024-06-05T08:46:07.000Z","dependencies_parsed_at":"2022-11-03T17:45:31.185Z","dependency_job_id":null,"html_url":"https://github.com/jmaces/keras-adf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmaces%2Fkeras-adf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmaces%2Fkeras-adf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmaces%2Fkeras-adf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmaces%2Fkeras-adf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmaces","download_url":"https://codeload.github.com/jmaces/keras-adf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250458633,"owners_count":21433911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","deep-neural-networks","keras","machine-learning","probabilistic-models","tensorflow"],"created_at":"2024-10-02T01:52:12.019Z","updated_at":"2025-04-23T15:25:06.372Z","avatar_url":"https://github.com/jmaces.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"============================================================================\n``keras-adf``: Assumed Density Filtering (ADF) Probabilistic Neural Networks\n============================================================================\n\n.. add project badges here\n.. image:: https://readthedocs.org/projects/keras-adf/badge/?version=latest\n    :target: https://keras-adf.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://github.com/jmaces/keras-adf/actions/workflows/pr-check.yml/badge.svg?branch=master\n    :target: https://github.com/jmaces/keras-adf/actions/workflows/pr-check.yml?branch=master\n    :alt: CI Status\n\n.. image:: https://codecov.io/gh/jmaces/keras-adf/branch/master/graph/badge.svg\n  :target: https://codecov.io/gh/jmaces/keras-adf\n  :alt: Code Coverage\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n    :alt: Code Style: Black\n\n\n.. teaser-start\n\n``keras-adf`` provides implementations for probabilistic\n`Tensorflow \u003chttps://www.tensorflow.org/\u003e`_/`Keras \u003chttps://keras.io/\u003e`_ neural network layers,\nwhich are based on assumed density filtering.\nAssumed density filtering (ADF) is a general concept from Bayesian inference, but in the case of feed-forward neural networks that we consider here\nit is a way to approximately propagate a random distribution through the neural network.\n\nThe layers in this package have the same names and arguments as their corresponding\nKeras version. We use Gaussian distributions for our ADF approximations, which are\ndescribed by their means and (co-)variances. So unlike the standard Keras layers,\neach ``keras-adf`` layer takes two inputs and produces two outputs (one for the means\nand one for the (co-)variances).\n\n.. teaser-end\n\n\n.. example\n\n``keras-adf`` layers can be used exactly like the corresponding `Keras \u003chttps://keras.io/\u003e`_\nlayers within a Keras model. However, as mentioned above, ADF layers take two inputs and produce two outputs\ninstead of one, so it is not possible to simply mix ADF and standard layers within the same model.\n\n.. code-block:: python\n\n    from tensorflow.keras import Input, Model\n    from kerasadf.layers import Dense\n\n    in_mean = Input((10,))\n    in_var = Input((10,))\n    out_mean, out_var  = Dense(10, activation=\"relu\")([in_mean, in_var])\n    model = Model([in_mean, in_var], [out_mean, out_var])\n\nThe `Overview \u003chttps://keras-adf.readthedocs.io/en/latest/overview.html\u003e`_ and\n`Examples \u003chttps://keras-adf.readthedocs.io/en/latest/examples.html\u003e`_ sections\nof our documentation provide more realistic and complete examples.\n\n.. project-info-start\n\nProject Information\n===================\n\n``keras-adf`` is released under the `MIT license \u003chttps://github.com/jmaces/keras-adf/blob/master/LICENSE\u003e`_,\nits documentation lives at `Read the Docs \u003chttps://keras-adf.readthedocs.io/en/latest/\u003e`_,\nthe code on `GitHub \u003chttps://github.com/jmaces/keras-adf\u003e`_,\nand the latest release can be found on `PyPI \u003chttps://pypi.org/project/keras-adf/\u003e`_.\nIt’s tested on Python 2.7 and 3.4+.\n\nIf you'd like to contribute to ``keras-adf`` you're most welcome.\nWe have written a `short guide \u003chttps://github.com/jmaces/keras-adf/blob/master/.github/CONTRIBUTING.rst\u003e`_ to help you get you started!\n\n.. project-info-end\n\n\n.. literature-start\n\nFurther Reading\n===============\n\nAdditional information on the algorithmic aspects of ``keras-adf`` can be found\nin the following works:\n\n\n- Jochen Gast, Stefan Roth,\n  \"Lightweight Probabilistic Deep Networks\",\n  2018\n- Jan Macdonald, Stephan Wäldchen, Sascha Hauch, Gitta Kutyniok,\n  \"A Rate-Distortion Framework for Explaining Neural Network Decisions\",\n  2019\n\n.. literature-end\n\n\nAcknowledgments\n===============\n\nDuring the setup of this project we were heavily influenced and inspired by\nthe works of `Hynek Schlawack \u003chttps://hynek.me/\u003e`_ and in particular his\n`attrs \u003chttps://www.attrs.org/en/stable/\u003e`_ package and blog posts on\n`testing and packaing \u003chttps://hynek.me/articles/testing-packaging/\u003e`_\nand `deploying to PyPI \u003chttps://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/\u003e`_.\nThank you for sharing your experiences and insights.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmaces%2Fkeras-adf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmaces%2Fkeras-adf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmaces%2Fkeras-adf/lists"}