{ "info": { "author": "CyberZHG", "author_email": "CyberZHG@gmail.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6" ], "description": "# Keras Ordered Neurons LSTM\n\n[![Travis](https://travis-ci.org/CyberZHG/keras-ordered-neurons.svg)](https://travis-ci.org/CyberZHG/keras-ordered-neurons)\n[![Coverage](https://coveralls.io/repos/github/CyberZHG/keras-ordered-neurons/badge.svg?branch=master)](https://coveralls.io/github/CyberZHG/keras-ordered-neurons)\n[![Version](https://img.shields.io/pypi/v/keras-ordered-neurons.svg)](https://pypi.org/project/keras-ordered-neurons/)\n![Downloads](https://img.shields.io/pypi/dm/keras-ordered-neurons.svg)\n[![996.ICU](https://img.shields.io/badge/license-Anti%20996-blue.svg)](https://996.icu) \n\n![](https://img.shields.io/badge/keras-tensorflow-blue.svg)\n![](https://img.shields.io/badge/keras-theano-blue.svg)\n![](https://img.shields.io/badge/keras-cntk-blue.svg)\n![](https://img.shields.io/badge/keras-tf.keras-blue.svg)\n![](https://img.shields.io/badge/keras-tf.keras/eager-blue.svg)\n\n\\[[\u4e2d\u6587](https://github.com/CyberZHG/keras-ordered-neurons/blob/master/README.zh-CN.md)|[English](https://github.com/CyberZHG/keras-ordered-neurons/blob/master/README.md)\\]\n\nUnofficial implementation of [ON-LSTM](https://openreview.net/pdf?id=B1l6qiR5F7).\n\n## Install\n\n```bash\npip install keras-ordered-neurons\n```\n\n## Usage\n\n### Basic\n\nSame as `LSTM` except that an extra argument `chunk_size` should be given:\n\n```python\nfrom keras.models import Sequential\nfrom keras.layers import Embedding, Bidirectional, Dense\nfrom keras_ordered_neurons import ONLSTM\n\nmodel = Sequential()\nmodel.add(Embedding(input_shape=(None,), input_dim=10, output_dim=100))\nmodel.add(Bidirectional(ONLSTM(units=50, chunk_size=5)))\nmodel.add(Dense(units=2, activation='softmax'))\nmodel.compile(optimizer='adam', loss='sparse_categorical_crossentropy')\nmodel.summary()\n```\n\n### DropConnect\n\nSet `recurrent_dropconnect` to a non-zero value to enable drop-connect for recurrent weights:\n\n```python\nfrom keras_ordered_neurons import ONLSTM\n\nONLSTM(units=50, chunk_size=5, recurrent_dropconnect=0.2)\n```\n\n### Expected Split Points\n\nSet `return_splits` to `True` if you want to know the expected split points of master forget gate and master input gate.\n\n```python\nfrom keras.models import Model\nfrom keras.layers import Input, Embedding\nfrom keras_ordered_neurons import ONLSTM\n\ninputs = Input(shape=(None,))\nembed = Embedding(input_dim=10, output_dim=100)(inputs)\noutputs, splits = ONLSTM(units=50, chunk_size=5, return_sequences=True, return_splits=True)(embed)\nmodel = Model(inputs=inputs, outputs=splits)\nmodel.compile(optimizer='adam', loss='mse')\nmodel.summary(line_length=120)\n```\n\n### `tf.keras`\n\nAdd `TF_KERAS=1` to environment variables if you are using `tensorflow.python.keras`.", "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/CyberZHG/keras-ordered-neurons", "keywords": "", "license": "Anti 996", "maintainer": "", "maintainer_email": "", "name": "keras-ordered-neurons", "package_url": "https://pypi.org/project/keras-ordered-neurons/", "platform": "", "project_url": "https://pypi.org/project/keras-ordered-neurons/", "project_urls": { "Homepage": "https://github.com/CyberZHG/keras-ordered-neurons" }, "release_url": "https://pypi.org/project/keras-ordered-neurons/0.8.0/", "requires_dist": null, "requires_python": "", "summary": "Unofficial implementation of ON-LSTM", "version": "0.8.0" }, "last_serial": 5336564, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "54ccc746e1837d8731f95c604372efb7", "sha256": "9fa7bc6edf2daa8630d559f9d3ce2e2487ed94cc093d395059c3e1956181294f" }, "downloads": -1, "filename": "keras-ordered-neurons-0.1.0.tar.gz", "has_sig": false, "md5_digest": "54ccc746e1837d8731f95c604372efb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6419, "upload_time": "2019-05-06T08:58:25", "url": "https://files.pythonhosted.org/packages/9d/d1/a3f1e76a58be317c90c09dac26f345be24391929b9e3220439b16c90b01c/keras-ordered-neurons-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "03e473797c6f72cb2ed919b5512c92a2", "sha256": "f44d6222a20a2788d7e61147377336bb0d37c4f35dfc3b2831736bede55560a1" }, "downloads": -1, "filename": "keras-ordered-neurons-0.2.0.tar.gz", "has_sig": false, "md5_digest": "03e473797c6f72cb2ed919b5512c92a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6718, "upload_time": "2019-05-06T09:43:27", "url": "https://files.pythonhosted.org/packages/c1/a6/ba0d85026a0c1bb846a1c0ba8d273d39a321e6ce8b9b2add16d93aad396e/keras-ordered-neurons-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "063a0c6b83c0ad1a2a800102c29293ed", "sha256": "beda43e4006fa50f42f846f6ed6b86fb0aad16d0b866acba5232501c57e81328" }, "downloads": -1, "filename": "keras-ordered-neurons-0.3.0.tar.gz", "has_sig": false, "md5_digest": "063a0c6b83c0ad1a2a800102c29293ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6922, "upload_time": "2019-05-06T10:54:22", "url": "https://files.pythonhosted.org/packages/81/5c/9a31d9eed659b1cf1c38416492de50aee4fa40a438380b3443e4e081c0aa/keras-ordered-neurons-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "aa3400a17c272f86e0ff8346e9c8bcd2", "sha256": "218547b71857e7b92b2e493132ec3899824c614fc743265ecec2f4dbcd8d1927" }, "downloads": -1, "filename": "keras-ordered-neurons-0.4.0.tar.gz", "has_sig": false, "md5_digest": "aa3400a17c272f86e0ff8346e9c8bcd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6940, "upload_time": "2019-05-06T12:46:16", "url": "https://files.pythonhosted.org/packages/e5/24/aceaddc869a103965cd9c72fc5ccc055078ed0cedd958dca647f910add8f/keras-ordered-neurons-0.4.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "5370d60d270cdd6aec685fcf6ed2cd94", "sha256": "f4cb30d54e3390f639d7061a6b5fcdb046ad1dce101b91b8d08b4c373f7be1a4" }, "downloads": -1, "filename": "keras-ordered-neurons-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5370d60d270cdd6aec685fcf6ed2cd94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9327, "upload_time": "2019-05-17T08:41:45", "url": "https://files.pythonhosted.org/packages/a4/cf/84dd17cf4f91c3dbde2f57eca6653509565da1089a9368926266e8d972f7/keras-ordered-neurons-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "7504580068cb66b1f25ed0ae34858ff9", "sha256": "cda48ce47083ef03b41d8acd943e2edcf29f5b98b0cd85dee115f3f02c1514e7" }, "downloads": -1, "filename": "keras-ordered-neurons-0.8.0.tar.gz", "has_sig": false, "md5_digest": "7504580068cb66b1f25ed0ae34858ff9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9740, "upload_time": "2019-05-30T09:54:45", "url": "https://files.pythonhosted.org/packages/96/3b/ab19521fb46528361b3d4c7b2852b01618194d9e544ec93888fd0cb6b015/keras-ordered-neurons-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7504580068cb66b1f25ed0ae34858ff9", "sha256": "cda48ce47083ef03b41d8acd943e2edcf29f5b98b0cd85dee115f3f02c1514e7" }, "downloads": -1, "filename": "keras-ordered-neurons-0.8.0.tar.gz", "has_sig": false, "md5_digest": "7504580068cb66b1f25ed0ae34858ff9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9740, "upload_time": "2019-05-30T09:54:45", "url": "https://files.pythonhosted.org/packages/96/3b/ab19521fb46528361b3d4c7b2852b01618194d9e544ec93888fd0cb6b015/keras-ordered-neurons-0.8.0.tar.gz" } ] }