{ "info": { "author": "Dennis Torres", "author_email": "djtorres0@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Keras NALU (Neural Arithmetic Logic Units)\n\n[![CircleCI](https://circleci.com/gh/genesant/keras-nalu/tree/master.svg?style=shield)](https://circleci.com/gh/genesant/keras-nalu/tree/master)\n\nKeras implementation of a NALU layer (Neural Arithmetic Logic Units).\nSee: https://arxiv.org/pdf/1808.00508.pdf.\n\n## Installation\n\n```\npip install keras-nalu\n```\n\n## Usage\n\n```py\nfrom keras.layers import Input\nfrom keras.models import Model\nfrom keras.optimizers import RMSprop\nfrom keras_nalu.nalu import NALU\n\n# Your dataset\nX_test = ... # Interpolation data\nY_test = ... # Interpolation data\n\nX_validation = ... # Extrapolation data (validation)\nY_validation = ... # Extrapolation data (validation)\n\nX_test = ... # Extrapolation data (test)\nY_test = ... # Extrapolation data (test)\n\n# Hyper parameters\nepoch_count = 1000\nlearning_rate = 0.05\nsequence_len = 100\n\ninputs = Input(shape=(sequence_len, ))\nhidden = NALU(units=2)(inputs)\nhidden = NALU(units=2)(hidden)\noutputs = NALU(units=1)(hidden)\n\nmodel = Model(inputs=inputs, outputs=outputs)\nmodel.summary()\nmodel.compile(loss='mse', optimizer=RMSprop(lr=learning_rate))\n\nmodel.fit(\n batch_size=256,\n epochs=epoch_count,\n validation_data=(X_validation, Y_validation),\n x=X_train,\n y=Y_train,\n)\n\nextrapolation_loss = model.evaluate(\n batch_size=256,\n x=X_test,\n y=Y_test,\n)\n```\n\n## Options\n\n### cell\n\nCell to use in the NALU layer. May be 'a' (addition/subtraction), 'm' (multiplication/division/power), or None which, will apply a gating function to toggle between 'a' or 'm'.\n\n- Default: `None`\n- Type: `?('a' | 'm' | None)`\n\n### e\n\nEpsilon value added to inputs in order to prevent calculating the log of zero.\n\n- Default: `1e-7`\n- Type: `?float`\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/genesant/keras-nalu", "keywords": "keras,nalu", "license": "MIT", "maintainer": "Dennis Torres", "maintainer_email": "djtorres0@gmail.com", "name": "keras-nalu", "package_url": "https://pypi.org/project/keras-nalu/", "platform": "", "project_url": "https://pypi.org/project/keras-nalu/", "project_urls": { "Homepage": "https://github.com/genesant/keras-nalu", "Repository": "https://github.com/genesant/keras-nalu" }, "release_url": "https://pypi.org/project/keras-nalu/1.3.0/", "requires_dist": [ "keras (>=2.2,<3.0)" ], "requires_python": ">=3.5,<4.0", "summary": "Keras implementation of a NALU layer", "version": "1.3.0" }, "last_serial": 5239495, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d79f02286adda10ae83cd2d216411758", "sha256": "ad567f3db2caf9e0cd69f3adea9791c9e607bc71fd1ec0ffd958f28a3f416e4b" }, "downloads": -1, "filename": "keras_nalu-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d79f02286adda10ae83cd2d216411758", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 5158, "upload_time": "2019-04-03T20:44:42", "url": "https://files.pythonhosted.org/packages/99/60/7523692eed0bb97478414cddcbbbf81040f53972928881550d13ce9f871c/keras_nalu-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbb5f98c48c1f61d11ee9028d454761a", "sha256": "d4b92bf4d5f7a67bb672e106408b3f9ff801ddcbaaeb6630b5997d78f9221a9e" }, "downloads": -1, "filename": "keras-nalu-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bbb5f98c48c1f61d11ee9028d454761a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 1905, "upload_time": "2019-04-03T20:44:41", "url": "https://files.pythonhosted.org/packages/90/d1/5ac509d444cc34e3aefd446269fb1c80065b34e81b98e4648b310e47e926/keras-nalu-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "95b653992da440d15f0a745c12ade8f3", "sha256": "7c77afaffc561b9a2b79d6bb90e9e3a5c6f2034ff243ca058238e0909d843f37" }, "downloads": -1, "filename": "keras_nalu-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "95b653992da440d15f0a745c12ade8f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5163, "upload_time": "2019-04-03T20:52:58", "url": "https://files.pythonhosted.org/packages/a7/4b/4f70f17f9a3d63ea3b4359e988ec33f6b5048cdb6806b893e8df16f64562/keras_nalu-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56d49208bc00139cd102ba7ed6276a79", "sha256": "5fcab978fa44e2fd1694c3ea2b685615038844002e0e397ce6b83c0fb035e5b1" }, "downloads": -1, "filename": "keras-nalu-1.0.1.tar.gz", "has_sig": false, "md5_digest": "56d49208bc00139cd102ba7ed6276a79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 1915, "upload_time": "2019-04-03T20:52:56", "url": "https://files.pythonhosted.org/packages/c6/ef/f2f1a053a4b18b86fcafa1f607b75b0ce2d2bfd6815ee0ec612ef867b3f9/keras-nalu-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "be08ad40c6a5c3b2a542f30e8c204c40", "sha256": "45d41380b8248ebd977c38ca60db2d01e73b33281ff8b046f58706c8899bb920" }, "downloads": -1, "filename": "keras_nalu-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "be08ad40c6a5c3b2a542f30e8c204c40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5192, "upload_time": "2019-04-03T22:57:47", "url": "https://files.pythonhosted.org/packages/32/0e/dcb8372796030546f6349ff32ec053c072c8d9a620654430807489cbf209/keras_nalu-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c76d7f3b49ec4e38abfe556545925f52", "sha256": "3a72fa006732bdeb22e001b15d33a97a6d30ed43105fefb3868859465fd7a674" }, "downloads": -1, "filename": "keras-nalu-1.0.2.tar.gz", "has_sig": false, "md5_digest": "c76d7f3b49ec4e38abfe556545925f52", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 1889, "upload_time": "2019-04-03T22:57:46", "url": "https://files.pythonhosted.org/packages/ed/01/bc10666e503bf429ef40d4d87ae5adba97fa919789f8fa95f62b98365037/keras-nalu-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "b530addbde1553829bfafc676d8f2bcd", "sha256": "d1d81de16a64b377a7c0b36727aeb99df33869c285f439c2263900210f50b72e" }, "downloads": -1, "filename": "keras_nalu-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b530addbde1553829bfafc676d8f2bcd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5769, "upload_time": "2019-04-04T16:34:45", "url": "https://files.pythonhosted.org/packages/5f/87/f49a1040c8871404226c0c13fc78e54f50707ad50f482b895560668a5c58/keras_nalu-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c248d0f42085ba7400eaf27c05034b3b", "sha256": "f7e77e801801c8930d5c4ad3c1216e41196d771525c7f87e7f1694f7addc31cb" }, "downloads": -1, "filename": "keras-nalu-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c248d0f42085ba7400eaf27c05034b3b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 2740, "upload_time": "2019-04-04T16:34:44", "url": "https://files.pythonhosted.org/packages/9f/ef/f31bc353ed45d624cad6db759452faa6b8159e8fa21c5503eccd87837320/keras-nalu-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "0456bfd0875078ca7708c470916a8ceb", "sha256": "b5b518ccff167316f4c6e6272e4fd8b7b4b260a539edc26a4b13ebc7faa7598c" }, "downloads": -1, "filename": "keras_nalu-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0456bfd0875078ca7708c470916a8ceb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 6285, "upload_time": "2019-04-09T20:05:29", "url": "https://files.pythonhosted.org/packages/ef/0d/324553a816e93bf9d764d267aea2904168e73f51bc351cb81a5a5b675f33/keras_nalu-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d3dba328c55e532323b85f886fe224d", "sha256": "2334ccdc01b9f982f00b931dda23e3272fed329792f351db4a4d9918e053caca" }, "downloads": -1, "filename": "keras-nalu-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7d3dba328c55e532323b85f886fe224d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 3096, "upload_time": "2019-04-09T20:05:27", "url": "https://files.pythonhosted.org/packages/ca/3a/522d7f171e8686ed601264ec2e1becdcc904e0246f0db9f7b12f88b3ec86/keras-nalu-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "2d088db6165b15953fd7acf86e5f5ed8", "sha256": "b5e0b705fe4957dbe7f8239dc0cf5abf8b99042afa4fa5036c930c1c6b7f973c" }, "downloads": -1, "filename": "keras_nalu-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d088db6165b15953fd7acf86e5f5ed8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 9455, "upload_time": "2019-05-06T20:58:35", "url": "https://files.pythonhosted.org/packages/b2/cd/c194bd983a547d13e4fd8f1b0f1d8c23647768b53a380914a68c54d22f39/keras_nalu-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87fae441a9d8fb801fd33af4a072574b", "sha256": "8bc6fcd128a5e3dfb1183f3776cc4d5f1ea9d0d77e3f97f4e04f41fd1507b243" }, "downloads": -1, "filename": "keras-nalu-1.2.0.tar.gz", "has_sig": false, "md5_digest": "87fae441a9d8fb801fd33af4a072574b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 3958, "upload_time": "2019-05-06T20:58:32", "url": "https://files.pythonhosted.org/packages/f6/f3/a491976f1d3b787bc3446512b7678cb45579e66a7ab1e82c8d3ac17a38b5/keras-nalu-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "560c3b634862f2d2f44e3069bfa139db", "sha256": "7fc9e3d87f03381bf0a175f743353f754f7d38457aa2660a5f8377700ed07256" }, "downloads": -1, "filename": "keras_nalu-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "560c3b634862f2d2f44e3069bfa139db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 38660, "upload_time": "2019-05-07T16:04:57", "url": "https://files.pythonhosted.org/packages/f1/f8/f3c920cb0e297fb78b344f0859cc419681ef6c75295e889225d309ae1c62/keras_nalu-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f27763e06c9135b9e375da7c69b9056b", "sha256": "f003dfddea5e6ef05d0df90734d08659a552f5000b9f0bef920e747c3d9ad2d9" }, "downloads": -1, "filename": "keras-nalu-1.2.1.tar.gz", "has_sig": false, "md5_digest": "f27763e06c9135b9e375da7c69b9056b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 14327, "upload_time": "2019-05-07T16:04:56", "url": "https://files.pythonhosted.org/packages/13/5a/cb2ff139e1244b0b8e4ce1eae3d23e225c4d117095a91660ddcf00ba184a/keras-nalu-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "b13c7b9852cd773f21a284a8f593f2d5", "sha256": "7f9f5bacd096dd82e68c8850b57e08b5ce841a87bec595e25a14c45e2620dd7d" }, "downloads": -1, "filename": "keras_nalu-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b13c7b9852cd773f21a284a8f593f2d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 38890, "upload_time": "2019-05-07T19:02:32", "url": "https://files.pythonhosted.org/packages/f3/22/0e80455884cb0caf7b0e9e7ed9193998b3d0ef63f5e416bbf70a74115f33/keras_nalu-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7d6184711025836024623d36e4e6b42", "sha256": "85664c773a75797a5fe3fe5db0e0889e4ad553d4184bf5ffdf6d0da89b057f10" }, "downloads": -1, "filename": "keras-nalu-1.3.0.tar.gz", "has_sig": false, "md5_digest": "f7d6184711025836024623d36e4e6b42", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 14451, "upload_time": "2019-05-07T19:02:31", "url": "https://files.pythonhosted.org/packages/89/f1/502af7bedc4fa2fe7b6d35d20a97c30f2989af6486eff0facffe54b7003b/keras-nalu-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b13c7b9852cd773f21a284a8f593f2d5", "sha256": "7f9f5bacd096dd82e68c8850b57e08b5ce841a87bec595e25a14c45e2620dd7d" }, "downloads": -1, "filename": "keras_nalu-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b13c7b9852cd773f21a284a8f593f2d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 38890, "upload_time": "2019-05-07T19:02:32", "url": "https://files.pythonhosted.org/packages/f3/22/0e80455884cb0caf7b0e9e7ed9193998b3d0ef63f5e416bbf70a74115f33/keras_nalu-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7d6184711025836024623d36e4e6b42", "sha256": "85664c773a75797a5fe3fe5db0e0889e4ad553d4184bf5ffdf6d0da89b057f10" }, "downloads": -1, "filename": "keras-nalu-1.3.0.tar.gz", "has_sig": false, "md5_digest": "f7d6184711025836024623d36e4e6b42", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 14451, "upload_time": "2019-05-07T19:02:31", "url": "https://files.pythonhosted.org/packages/89/f1/502af7bedc4fa2fe7b6d35d20a97c30f2989af6486eff0facffe54b7003b/keras-nalu-1.3.0.tar.gz" } ] }