{ "info": { "author": "Daniel Steinberg, Lachlan McCalman", "author_email": "daniel.steinberg@data61.csiro.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=======\nAboleth\n=======\n\n.. |copy| unicode:: 0xA9\n\n.. image:: https://circleci.com/gh/data61/aboleth/tree/develop.svg?style=svg&circle-token=f02db635cf3a7e998e17273c91f13ffae7dbf088\n :target: https://circleci.com/gh/data61/aboleth/tree/develop\n :alt: circleCI\n\n.. image:: https://readthedocs.org/projects/aboleth/badge/?version=stable\n :target: http://aboleth.readthedocs.io/en/stable/?badge=stable\n :alt: Documentation Status\n\nA bare-bones `TensorFlow `_ framework for\n*Bayesian* deep learning and Gaussian process approximation [1]_ with\nstochastic gradient variational Bayes inference [2]_.\n\n\nFeatures\n--------\n\nSome of the features of Aboleth:\n\n- Bayesian fully-connected, embedding and convolutional layers using SGVB [2]_\n for inference.\n- Random Fourier and arc-cosine features for approximate Gaussian processes.\n Optional variational optimisation of these feature weights as per [1]_.\n- Imputation layers with parameters that are learned as part of a model.\n- Noise Contrastive Priors [3]_ for better out-of-domain uncertainty\n estimation.\n- Very flexible construction of networks, e.g. multiple inputs, ResNets etc.\n- Compatible and interoperable with other neural net frameworks such as `Keras\n `_ (see the `demos\n `_ for more\n information).\n\n\nWhy?\n----\n\nThe purpose of Aboleth is to provide a set of high performance and light weight\ncomponents for building Bayesian neural nets and approximate (deep) Gaussian\nprocess computational graphs. We aim for *minimal* abstraction over pure\nTensorFlow, so you can still assign parts of the computational graph to\ndifferent hardware, use your own data feeds/queues, and manage your own\nsessions etc.\n\nHere is an example of building a simple Bayesian neural net classifier with one\nhidden layer and Normal prior/posterior distributions on the network weights:\n\n.. code-block:: python\n\n import tensorflow as tf\n import aboleth as ab\n\n # Define the network, \">>\" implements function composition,\n # the InputLayer gives a kwarg for this network, and\n # allows us to specify the number of samples for stochastic\n # gradient variational Bayes.\n net = (\n ab.InputLayer(name=\"X\", n_samples=5) >>\n ab.DenseVariational(output_dim=100) >>\n ab.Activation(tf.nn.relu) >>\n ab.DenseVariational(output_dim=1)\n )\n\n X_ = tf.placeholder(tf.float, shape=(None, D))\n Y_ = tf.placeholder(tf.float, shape=(None, 1))\n\n # Build the network, nn, and the parameter regularization, kl\n nn, kl = net(X=X_)\n\n # Define the likelihood model\n likelihood = tf.distributions.Bernoulli(logits=nn).log_prob(Y_)\n\n # Build the final loss function to use with TensorFlow train\n loss = ab.elbo(likelihood, kl, N)\n\n # Now your TensorFlow training code here!\n ...\n\nAt the moment the focus of Aboleth is on supervised tasks, however this is\nsubject to change in subsequent releases if there is interest in this\ncapability.\n\n\nInstallation\n------------\n\n**NOTE**: Aboleth is a *Python 3* library only. Some of the functionality \nwithin it depends on features only found in python 3. Sorry. \n\nTo get up and running quickly you can use pip and get the Aboleth package from\n`PyPI `_::\n\n $ pip install aboleth\n\nFor the best performance on your architecture, we recommend installing\n`TensorFlow from sources\n`_.\n\nOr, to install additional dependencies required by the `demos\n`_::\n\n $ pip install aboleth[demos]\n\nTo install in develop mode with packages required for development we recommend\nyou clone the repository from GitHub::\n\n $ git clone git@github.com:data61/aboleth.git\n\nThen in the directory that you cloned into, issue the following::\n\n $ pip install -e .[dev]\n\n\nGetting Started\n---------------\n\nSee the `quick start guide\n`_ to get started, and\nfor more in depth guide, have a look at our `tutorials\n`_.\nAlso see the `demos\n`_ folder for more\nexamples of creating and training algorithms with Aboleth.\n\nThe full project documentation can be found on `readthedocs\n`_.\n\n\nReferences\n----------\n\n.. [1] Cutajar, K. Bonilla, E. Michiardi, P. Filippone, M. Random Feature \n Expansions for Deep Gaussian Processes. In ICML, 2017.\n.. [2] Kingma, D. P. and Welling, M. Auto-encoding variational Bayes. In ICLR,\n 2014.\n.. [3] Hafner, D., Tran, D., Irpan, A., Lillicrap, T. and Davidson, J., 2018. \n Reliable Uncertainty Estimates in Deep Neural Networks using Noise\n Contrastive Priors. arXiv preprint arXiv:1807.09289.\n\n\nLicense\n-------\n\nCopyright 2017 CSIRO (Data61)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/data61/aboleth", "keywords": "aboleth", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "aboleth", "package_url": "https://pypi.org/project/aboleth/", "platform": "", "project_url": "https://pypi.org/project/aboleth/", "project_urls": { "Homepage": "https://github.com/data61/aboleth" }, "release_url": "https://pypi.org/project/aboleth/0.9.0/", "requires_dist": null, "requires_python": "", "summary": "Bayesian supervised deep learning with TensorFlow", "version": "0.9.0" }, "last_serial": 4291558, "releases": { "0.5.0": [ { "comment_text": "", "digests": { "md5": "8bcdd3ff8744a02fc93906068d0ab56f", "sha256": "a397544ac41a07fd0965ec03e2fd6b7f16eb5a099430291223f1008d0f6cf83e" }, "downloads": -1, "filename": "aboleth-0.5.0.tar.gz", "has_sig": false, "md5_digest": "8bcdd3ff8744a02fc93906068d0ab56f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29556, "upload_time": "2017-09-07T01:44:09", "url": "https://files.pythonhosted.org/packages/c4/77/915a41c765960e6641cbcec454e64a8a0b58f75197882fddd6bc20314925/aboleth-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "d94cb88678d853ffe0796826786133b0", "sha256": "b15da7d6ce926cff6caf61cb63debe1c7daa3dba6b81600c7b420b1cc010f38a" }, "downloads": -1, "filename": "aboleth-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d94cb88678d853ffe0796826786133b0", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 37394, "upload_time": "2017-09-27T08:02:32", "url": "https://files.pythonhosted.org/packages/43/61/3c1d57b191c634339051655638e12a67e14544f2741ef50a51cf09523699/aboleth-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0695648d8f5081c6e6f9b10f0263927", "sha256": "4fc44dada23c0190b821f0ef096ac2d8c80ad21dcc0c7c0caa76547aaebe9d4c" }, "downloads": -1, "filename": "aboleth-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b0695648d8f5081c6e6f9b10f0263927", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29115, "upload_time": "2017-09-27T08:02:27", "url": "https://files.pythonhosted.org/packages/a6/c5/1e171e5ede46ed04af8c2d0a321594f6d5eb0764fcd3ae2d5add427e627c/aboleth-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "4a88ca66141c96b04f46d2efd69f7c3e", "sha256": "2cbcc02e8c744258ccdf4b0013b99be3b23240fb7af205294a93a437581555cf" }, "downloads": -1, "filename": "aboleth-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a88ca66141c96b04f46d2efd69f7c3e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 37670, "upload_time": "2017-10-03T03:43:40", "url": "https://files.pythonhosted.org/packages/20/0d/b98afb4d25fde39d1cd92c49956c56dbe45fe5dfc90aa6105690cd3f52af/aboleth-0.6.1-py2.py3-none-any.whl" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "258879f956478130aa204e748921e4ac", "sha256": "f8bcd5e9962ef734c0d68431e5172af82d513f5fd9f1ff1e9fd0f2da334a9488" }, "downloads": -1, "filename": "aboleth-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "258879f956478130aa204e748921e4ac", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 38121, "upload_time": "2017-10-12T23:17:54", "url": "https://files.pythonhosted.org/packages/57/9b/ef1a94972de224943945ae345d57b7479db48d54f0e923725737d21bcba2/aboleth-0.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e131f5a5d6fad2c5d4da8ab20727012", "sha256": "cde384fa2e18fc224519960bb0d4e6be750a2d6b45b285095567573c37fc8b22" }, "downloads": -1, "filename": "aboleth-0.6.2.tar.gz", "has_sig": false, "md5_digest": "5e131f5a5d6fad2c5d4da8ab20727012", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29699, "upload_time": "2017-10-12T23:17:50", "url": "https://files.pythonhosted.org/packages/26/69/9339b4faca277b93fcc18bcea09ff11be8274a2b5a43a0e12069d5386e5b/aboleth-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "75a2402e21a1fc348994ee8daff2758f", "sha256": "dd63a67e21236c328941ba818ec216fb5855b7b56da51fc514da0e2fccad7f15" }, "downloads": -1, "filename": "aboleth-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75a2402e21a1fc348994ee8daff2758f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 38035, "upload_time": "2017-10-16T00:58:20", "url": "https://files.pythonhosted.org/packages/05/12/879f72835d89d7d3479f013869a10d45a62ad211682c0c822314eadd6bdf/aboleth-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2d8c02f8b3f27efd3154a03118683a1", "sha256": "a0954b2c5a73bacb97ed8e0700c75090894074a86227a1d9ecde44c465240011" }, "downloads": -1, "filename": "aboleth-0.6.3.tar.gz", "has_sig": false, "md5_digest": "b2d8c02f8b3f27efd3154a03118683a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29706, "upload_time": "2017-10-16T00:58:17", "url": "https://files.pythonhosted.org/packages/21/87/8cea1e8059a4d27f6f971ef80f80c216163fbef775efff498715bcdac83a/aboleth-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "ee4f61dd7db23133be2c8007600f0354", "sha256": "fd49738b3638afb5fd93722f3206129d5a763589465ed1b18397f951f425529d" }, "downloads": -1, "filename": "aboleth-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee4f61dd7db23133be2c8007600f0354", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 38356, "upload_time": "2017-10-16T05:49:42", "url": "https://files.pythonhosted.org/packages/5e/5c/9fbf0fec43c8cec34d4ec26adc6a946c5194fae7ff38faab9aa7bdeddf68/aboleth-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae4443dfd6a4bd99081ea950ee7cc807", "sha256": "680e3af696d36718473f5ad254dea3899d6f31624eb6cbe795a91190d95e8739" }, "downloads": -1, "filename": "aboleth-0.6.4.tar.gz", "has_sig": false, "md5_digest": "ae4443dfd6a4bd99081ea950ee7cc807", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29884, "upload_time": "2017-10-16T05:49:38", "url": "https://files.pythonhosted.org/packages/f1/f2/1b8d999af8f97e936e5244490de91e90d848bb8b194f086ff563fdec6947/aboleth-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "a6dd312109f0581c62fc4ee0dbaf6c5a", "sha256": "e936d7fcd314b4ef47e3707731ea9cf278a67212359826da68efcb66d3e491c5" }, "downloads": -1, "filename": "aboleth-0.6.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a6dd312109f0581c62fc4ee0dbaf6c5a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 38221, "upload_time": "2017-10-17T23:47:05", "url": "https://files.pythonhosted.org/packages/99/4c/01c2802f0a6abc23e5929a53c1cb0eae2d6f9b53fe3b7809da698c2d49ac/aboleth-0.6.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eb7a38300dea2c79f9de3e13af12c81", "sha256": "f8b6347b26a482dbf60f46c98a15a87e730bbb7d4c292f736bf1f47291d9e905" }, "downloads": -1, "filename": "aboleth-0.6.5.tar.gz", "has_sig": false, "md5_digest": "3eb7a38300dea2c79f9de3e13af12c81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29837, "upload_time": "2017-10-17T23:47:02", "url": "https://files.pythonhosted.org/packages/1f/a5/a905cd8f121f92f60e9f87f36de62d9e59feb8b545713ab9fb7c4f4ad673/aboleth-0.6.5.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "e1006809c1a1642906bbc5e3b2714ec6", "sha256": "50018740eff3264cd7c184693022115eb56bd59102f473633fcd54d1e2e4c321" }, "downloads": -1, "filename": "aboleth-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e1006809c1a1642906bbc5e3b2714ec6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 41944, "upload_time": "2017-12-14T01:34:28", "url": "https://files.pythonhosted.org/packages/ba/4c/c23e791e09f1cb9ede30bbec07225807d86f510a5eb292be476b682771dd/aboleth-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "243cf5b91e4b75185e42fc9b2f643e8d", "sha256": "b52229740ad7fa4d7d133a9cc7d96106fc9b6478b482823ed0dc6046cc335b96" }, "downloads": -1, "filename": "aboleth-0.7.0.tar.gz", "has_sig": false, "md5_digest": "243cf5b91e4b75185e42fc9b2f643e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33019, "upload_time": "2017-12-14T01:34:26", "url": "https://files.pythonhosted.org/packages/b6/95/cb5e268dd1e84b5c3ffb3a26189b83722417b547b847406310dcfa6a8c08/aboleth-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "1466d6bf7a74310724d58701368be9fc", "sha256": "1d05d2c4331535508df35bd8770ae7d21f168a9b1f2f5d10c8aafb15c1e68426" }, "downloads": -1, "filename": "aboleth-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1466d6bf7a74310724d58701368be9fc", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 42662, "upload_time": "2018-03-20T05:55:49", "url": "https://files.pythonhosted.org/packages/82/47/78fa80ac9dc7856c8d01237524cabf759e08b5bd87cef2bc1674d44591e6/aboleth-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b84499af429208a601661c766022c91", "sha256": "7f5b5caf0ecd39db74707d7df9285b56e4aecce5cf0c78f7383fd47d1628b4d7" }, "downloads": -1, "filename": "aboleth-0.8.0.tar.gz", "has_sig": false, "md5_digest": "8b84499af429208a601661c766022c91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33798, "upload_time": "2018-03-20T05:55:46", "url": "https://files.pythonhosted.org/packages/ee/b0/fa2e666cba841569adbd3190786dcfa6802e8c240431a246ec49c0cb532c/aboleth-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "8b6e869418d7315b310d854250554e21", "sha256": "c27d04df48ef67b8e5f12ff1e6d040f8ec980bd03d290fee1492a7f92e46de87" }, "downloads": -1, "filename": "aboleth-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b6e869418d7315b310d854250554e21", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 44543, "upload_time": "2018-09-20T07:13:53", "url": "https://files.pythonhosted.org/packages/6d/ad/da185c5f075069972fe5e922d5a77ce8d2489126b601531c51ad80ab15e4/aboleth-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5ab7dbf35c735623782ba0e3f613783", "sha256": "130679ae833ed30749165e13355a18629a28bc431264173d6e9cc8e4fd05783e" }, "downloads": -1, "filename": "aboleth-0.9.0.tar.gz", "has_sig": false, "md5_digest": "b5ab7dbf35c735623782ba0e3f613783", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38070, "upload_time": "2018-09-20T07:13:46", "url": "https://files.pythonhosted.org/packages/3c/f5/3d7132dcde836b71ebdd204c104c21170381441c6b67c0d1413d09911a47/aboleth-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8b6e869418d7315b310d854250554e21", "sha256": "c27d04df48ef67b8e5f12ff1e6d040f8ec980bd03d290fee1492a7f92e46de87" }, "downloads": -1, "filename": "aboleth-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b6e869418d7315b310d854250554e21", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 44543, "upload_time": "2018-09-20T07:13:53", "url": "https://files.pythonhosted.org/packages/6d/ad/da185c5f075069972fe5e922d5a77ce8d2489126b601531c51ad80ab15e4/aboleth-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5ab7dbf35c735623782ba0e3f613783", "sha256": "130679ae833ed30749165e13355a18629a28bc431264173d6e9cc8e4fd05783e" }, "downloads": -1, "filename": "aboleth-0.9.0.tar.gz", "has_sig": false, "md5_digest": "b5ab7dbf35c735623782ba0e3f613783", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38070, "upload_time": "2018-09-20T07:13:46", "url": "https://files.pythonhosted.org/packages/3c/f5/3d7132dcde836b71ebdd204c104c21170381441c6b67c0d1413d09911a47/aboleth-0.9.0.tar.gz" } ] }