{ "info": { "author": "CyberZHG", "author_email": "CyberZHG@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Keras Transformer\n\n[![Travis](https://travis-ci.org/CyberZHG/keras-transformer.svg)](https://travis-ci.org/CyberZHG/keras-transformer)\n[![Coverage](https://coveralls.io/repos/github/CyberZHG/keras-transformer/badge.svg?branch=master)](https://coveralls.io/github/CyberZHG/keras-transformer)\n[![Version](https://img.shields.io/pypi/v/keras-transformer.svg)](https://pypi.org/project/keras-transformer/)\n![Downloads](https://img.shields.io/pypi/dm/keras-transformer.svg)\n![License](https://img.shields.io/pypi/l/keras-transformer.svg)\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-tf.keras-blue.svg)\n![](https://img.shields.io/badge/keras-tf.keras/eager-blue.svg)\n![](https://img.shields.io/badge/keras-tf.keras/2.0_beta-blue.svg)\n\n \\[[\u4e2d\u6587](https://github.com/CyberZHG/keras-transformer/blob/master/README.zh-CN.md)|[English](https://github.com/CyberZHG/keras-transformer/blob/master/README.md)\\]\n\nImplementation of [transformer](https://arxiv.org/pdf/1706.03762.pdf) for seq2seq tasks.\n\n## Install\n\n```bash\npip install keras-transformer\n```\n\n## Usage\n\n### Train\n\n```python\nimport numpy as np\nfrom keras_transformer import get_model\n\n# Build a small toy token dictionary\ntokens = 'all work and no play makes jack a dull boy'.split(' ')\ntoken_dict = {\n '': 0,\n '': 1,\n '': 2,\n}\nfor token in tokens:\n if token not in token_dict:\n token_dict[token] = len(token_dict)\n\n# Generate toy data\nencoder_inputs_no_padding = []\nencoder_inputs, decoder_inputs, decoder_outputs = [], [], []\nfor i in range(1, len(tokens) - 1):\n encode_tokens, decode_tokens = tokens[:i], tokens[i:]\n encode_tokens = [''] + encode_tokens + [''] + [''] * (len(tokens) - len(encode_tokens))\n output_tokens = decode_tokens + ['', ''] + [''] * (len(tokens) - len(decode_tokens))\n decode_tokens = [''] + decode_tokens + [''] + [''] * (len(tokens) - len(decode_tokens))\n encode_tokens = list(map(lambda x: token_dict[x], encode_tokens))\n decode_tokens = list(map(lambda x: token_dict[x], decode_tokens))\n output_tokens = list(map(lambda x: [token_dict[x]], output_tokens))\n encoder_inputs_no_padding.append(encode_tokens[:i + 2])\n encoder_inputs.append(encode_tokens)\n decoder_inputs.append(decode_tokens)\n decoder_outputs.append(output_tokens)\n\n# Build the model\nmodel = get_model(\n token_num=len(token_dict),\n embed_dim=30,\n encoder_num=3,\n decoder_num=2,\n head_num=3,\n hidden_dim=120,\n attention_activation='relu',\n feed_forward_activation='relu',\n dropout_rate=0.05,\n embed_weights=np.random.random((13, 30)),\n)\nmodel.compile(\n optimizer='adam',\n loss='sparse_categorical_crossentropy',\n)\nmodel.summary()\n\n# Train the model\nmodel.fit(\n x=[np.asarray(encoder_inputs * 1000), np.asarray(decoder_inputs * 1000)],\n y=np.asarray(decoder_outputs * 1000),\n epochs=5,\n)\n```\n\n### Predict\n\n```python\nfrom keras_transformer import decode\n\ndecoded = decode(\n model,\n encoder_inputs_no_padding,\n start_token=token_dict[''],\n end_token=token_dict[''],\n pad_token=token_dict[''],\n max_len=100,\n)\ntoken_dict_rev = {v: k for k, v in token_dict.items()}\nfor i in range(len(decoded)):\n print(' '.join(map(lambda x: token_dict_rev[x], decoded[i][1:-1])))\n```\n\n### Translation\n\n```python\nimport numpy as np\nfrom keras_transformer import get_model, decode\n\nsource_tokens = [\n 'i need more power'.split(' '),\n 'eat jujube and pill'.split(' '),\n]\ntarget_tokens = [\n list('\u6211\u8981\u66f4\u591a\u7684\u629b\u74e6'),\n list('\u5403\u67a3\ud83d\udc8a'),\n]\n\n# Generate dictionaries\ndef build_token_dict(token_list):\n token_dict = {\n '': 0,\n '': 1,\n '': 2,\n }\n for tokens in token_list:\n for token in tokens:\n if token not in token_dict:\n token_dict[token] = len(token_dict)\n return token_dict\n\nsource_token_dict = build_token_dict(source_tokens)\ntarget_token_dict = build_token_dict(target_tokens)\ntarget_token_dict_inv = {v: k for k, v in target_token_dict.items()}\n\n# Add special tokens\nencode_tokens = [[''] + tokens + [''] for tokens in source_tokens]\ndecode_tokens = [[''] + tokens + [''] for tokens in target_tokens]\noutput_tokens = [tokens + ['', ''] for tokens in target_tokens]\n\n# Padding\nsource_max_len = max(map(len, encode_tokens))\ntarget_max_len = max(map(len, decode_tokens))\n\nencode_tokens = [tokens + [''] * (source_max_len - len(tokens)) for tokens in encode_tokens]\ndecode_tokens = [tokens + [''] * (target_max_len - len(tokens)) for tokens in decode_tokens]\noutput_tokens = [tokens + [''] * (target_max_len - len(tokens)) for tokens in output_tokens]\n\nencode_input = [list(map(lambda x: source_token_dict[x], tokens)) for tokens in encode_tokens]\ndecode_input = [list(map(lambda x: target_token_dict[x], tokens)) for tokens in decode_tokens]\ndecode_output = [list(map(lambda x: [target_token_dict[x]], tokens)) for tokens in output_tokens]\n\n# Build & fit model\nmodel = get_model(\n token_num=max(len(source_token_dict), len(target_token_dict)),\n embed_dim=32,\n encoder_num=2,\n decoder_num=2,\n head_num=4,\n hidden_dim=128,\n dropout_rate=0.05,\n use_same_embed=False, # Use different embeddings for different languages\n)\nmodel.compile('adam', 'sparse_categorical_crossentropy')\nmodel.summary()\n\nmodel.fit(\n x=[np.array(encode_input * 1024), np.array(decode_input * 1024)],\n y=np.array(decode_output * 1024),\n epochs=10,\n batch_size=32,\n)\n\n# Predict\ndecoded = decode(\n model,\n encode_input,\n start_token=target_token_dict[''],\n end_token=target_token_dict[''],\n pad_token=target_token_dict[''],\n)\nprint(''.join(map(lambda x: target_token_dict_inv[x], decoded[0][1:-1])))\nprint(''.join(map(lambda x: target_token_dict_inv[x], decoded[1][1:-1])))\n```\n\n### Beam Search\n\nIn `decode`, the word with top probability is selected as the predicted token by default. You can enable beam search by setting `top_k` and `temperature`:\n\n```python\ndecoded = decode(\n model,\n encode_input,\n start_token=target_token_dict[''],\n end_token=target_token_dict[''],\n pad_token=target_token_dict[''],\n top_k=10,\n temperature=1.0,\n)\nprint(''.join(map(lambda x: target_token_dict_inv[x], decoded[0][1:-1])))\nprint(''.join(map(lambda x: target_token_dict_inv[x], decoded[1][1:-1])))\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/CyberZHG/keras-transformer", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "keras-transformer", "package_url": "https://pypi.org/project/keras-transformer/", "platform": "", "project_url": "https://pypi.org/project/keras-transformer/", "project_urls": { "Homepage": "https://github.com/CyberZHG/keras-transformer" }, "release_url": "https://pypi.org/project/keras-transformer/0.31.0/", "requires_dist": null, "requires_python": "", "summary": "Transformer implemented in Keras", "version": "0.31.0" }, "last_serial": 5905343, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "367df62abf853d0de473e51d02217652", "sha256": "fe4297224044c457cf9d35ab8d1b2b4e965420a64bced83001d153b6f1fb866c" }, "downloads": -1, "filename": "keras-transformer-0.1.0.tar.gz", "has_sig": false, "md5_digest": "367df62abf853d0de473e51d02217652", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3016, "upload_time": "2018-11-08T11:25:06", "url": "https://files.pythonhosted.org/packages/e7/5f/d16b5ca551176ba22250a2a50331fb86038933f6afc58660106192a16d49/keras-transformer-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "2c8b8038273cb1b63da60f833ed1150e", "sha256": "ec73de1d1d8561b9ec008bd667c79677e0b576953e58da919c9331e2606623ba" }, "downloads": -1, "filename": "keras-transformer-0.10.0.tar.gz", "has_sig": false, "md5_digest": "2c8b8038273cb1b63da60f833ed1150e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6432, "upload_time": "2018-11-13T03:16:53", "url": "https://files.pythonhosted.org/packages/e8/fc/a36341fb80e9c4c5ca2918a2d6ae426e71099ce057ba66d03f4117ddbb95/keras-transformer-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "85d885b83885a5a8b678475fef5f0a99", "sha256": "5514188b292e7b8d3fe1ed9568f5a9bff9d49ecabf5f61faa4e05ea5b21d0767" }, "downloads": -1, "filename": "keras-transformer-0.11.0.tar.gz", "has_sig": false, "md5_digest": "85d885b83885a5a8b678475fef5f0a99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6501, "upload_time": "2018-11-20T11:25:35", "url": "https://files.pythonhosted.org/packages/ec/d0/7b9a373aee2b8ab9b282337f953a5307fd9052f1ee65a801c8f316cfa48d/keras-transformer-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "50ac8683e03e4195dc0edd76c0f3a1b4", "sha256": "f8d705d57be1ee284c9e5ef1681684068259230444543f36fd1b874fd8186e77" }, "downloads": -1, "filename": "keras-transformer-0.12.0.tar.gz", "has_sig": false, "md5_digest": "50ac8683e03e4195dc0edd76c0f3a1b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6551, "upload_time": "2018-12-10T09:44:41", "url": "https://files.pythonhosted.org/packages/50/6d/480280c49c4fa97d5ff5514adccfe30ddfd54c5052d5aefd455cae8aeae4/keras-transformer-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "6ca5217e064ac44af8c5677120518396", "sha256": "31fb1d8e633edfc970db3422270095128781457231e5625b655b2e0e82dc3365" }, "downloads": -1, "filename": "keras-transformer-0.13.0.tar.gz", "has_sig": false, "md5_digest": "6ca5217e064ac44af8c5677120518396", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6563, "upload_time": "2018-12-26T02:39:36", "url": "https://files.pythonhosted.org/packages/99/38/3a793b72a9f0ca307fc5cf1faa5a83ca7cd68ce4c36167a72b6d7ba17a56/keras-transformer-0.13.0.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "a0bc27057e8d726b563677f206a29406", "sha256": "71bee2354cb00f6fbab05b191ae1858f2521f4d2a27afa81be23a13a1b8671d5" }, "downloads": -1, "filename": "keras-transformer-0.14.0.tar.gz", "has_sig": false, "md5_digest": "a0bc27057e8d726b563677f206a29406", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6578, "upload_time": "2019-01-06T11:23:16", "url": "https://files.pythonhosted.org/packages/8f/4c/80fffc897263b4c85620a0fe22a5c30dc5eac3b2876064e6ecf22217c450/keras-transformer-0.14.0.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "f6ca5c83355ca6cbb66c0c7b43d6c83f", "sha256": "a96ada813f81e4f45ac828512e2019c5b5cc3d4d86b8ca32a88ac552bc4c7b20" }, "downloads": -1, "filename": "keras-transformer-0.15.0.tar.gz", "has_sig": false, "md5_digest": "f6ca5c83355ca6cbb66c0c7b43d6c83f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6941, "upload_time": "2019-01-06T13:19:25", "url": "https://files.pythonhosted.org/packages/b2/2e/2c69bfc59e8e2b8c7562c588dd63d0de875641e3e2f8a64ee140ffc9b202/keras-transformer-0.15.0.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "880247dcb84466ee719b93bb29b239db", "sha256": "3a7868c6a8bf88ee593d0b11299a56b473161e953de0ae638292a2f70134cc23" }, "downloads": -1, "filename": "keras-transformer-0.16.0.tar.gz", "has_sig": false, "md5_digest": "880247dcb84466ee719b93bb29b239db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6482, "upload_time": "2019-02-01T03:42:27", "url": "https://files.pythonhosted.org/packages/d6/d7/b8c2a88e5946b9f0c8a0dd4679571eb652f86e00e04c2b8c507bdf09ec9e/keras-transformer-0.16.0.tar.gz" } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "86bd8a47cb7de42f3fdec45eae913d60", "sha256": "8cf327b3fe3196e6220a3757ec813740a6a81e1c69c3fed5f0a2a55af14b81d1" }, "downloads": -1, "filename": "keras-transformer-0.17.0.tar.gz", "has_sig": false, "md5_digest": "86bd8a47cb7de42f3fdec45eae913d60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6822, "upload_time": "2019-02-01T03:58:46", "url": "https://files.pythonhosted.org/packages/62/d6/d756bd71db4b10aa2f8c3a2792b3e4fbb7a57fdcea9e25ec0d4756ac1561/keras-transformer-0.17.0.tar.gz" } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "2bba90a02fc82691d01c16c00c1ee2e6", "sha256": "b8b46fc8b4976ccd291815f88dd237c412a58c34e9fba4ea6b6acb8c9fa295c6" }, "downloads": -1, "filename": "keras-transformer-0.18.0.tar.gz", "has_sig": false, "md5_digest": "2bba90a02fc82691d01c16c00c1ee2e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7028, "upload_time": "2019-02-19T04:39:15", "url": "https://files.pythonhosted.org/packages/98/70/897436ce65691e29f168367046a997227036a0d4060dc9ff2f7a310beb88/keras-transformer-0.18.0.tar.gz" } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "c3e3516d7447780a1b72b2f1b159a97e", "sha256": "e8a8cf2142f5106d258187327baac35277f11d532287b8461291bb1ea2e5b08b" }, "downloads": -1, "filename": "keras-transformer-0.19.0.tar.gz", "has_sig": false, "md5_digest": "c3e3516d7447780a1b72b2f1b159a97e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7042, "upload_time": "2019-03-11T06:45:37", "url": "https://files.pythonhosted.org/packages/4d/61/4ffb5d3f8fc50f1dd33132af5869f3779052f3e18b0829cc95d4ad2dce7d/keras-transformer-0.19.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f910ca8ac951a2225f1ce238d158ebec", "sha256": "6cfddff1f635615ea9c2f03dc76e66e7a846b938cf55df48e10f5b84a84d6380" }, "downloads": -1, "filename": "keras-transformer-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f910ca8ac951a2225f1ce238d158ebec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3166, "upload_time": "2018-11-08T11:37:27", "url": "https://files.pythonhosted.org/packages/2b/15/7b3acb5d791da766e21315d227fa4aa1a121765a4556a84f4f86b6ec28bd/keras-transformer-0.2.0.tar.gz" } ], "0.20.0": [ { "comment_text": "", "digests": { "md5": "771d4ad60c2a9d4c090b444ed150b97c", "sha256": "d175ac1f3401acca79ce28a20eb4008eb5f7dc3b25a78b8622e30961c8951825" }, "downloads": -1, "filename": "keras-transformer-0.20.0.tar.gz", "has_sig": false, "md5_digest": "771d4ad60c2a9d4c090b444ed150b97c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7041, "upload_time": "2019-04-16T08:42:56", "url": "https://files.pythonhosted.org/packages/d2/3a/2aa7e7cf6c94f219aa53b1eaca79ad11d49f2ff84db631f30497ade1bd62/keras-transformer-0.20.0.tar.gz" } ], "0.21.0": [ { "comment_text": "", "digests": { "md5": "fa7cc12a4883782e96f72944066b7df6", "sha256": "894b33c38cee7e862702ed61b784583dc5c3eb831a55795adec608b4a5864c95" }, "downloads": -1, "filename": "keras-transformer-0.21.0.tar.gz", "has_sig": false, "md5_digest": "fa7cc12a4883782e96f72944066b7df6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7043, "upload_time": "2019-04-16T08:54:41", "url": "https://files.pythonhosted.org/packages/d3/3a/ad25f5c71adc6b8aa73f71b1367be873b4103125a614ba57c006d1a9b1ff/keras-transformer-0.21.0.tar.gz" } ], "0.22.0": [ { "comment_text": "", "digests": { "md5": "a97961b922439a03c2301a52b7ae1726", "sha256": "e75acc14ff861562c444747d245ed5a9a9091e5d70a46edd2f113ab2d0e56f77" }, "downloads": -1, "filename": "keras-transformer-0.22.0.tar.gz", "has_sig": false, "md5_digest": "a97961b922439a03c2301a52b7ae1726", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7541, "upload_time": "2019-05-11T15:40:12", "url": "https://files.pythonhosted.org/packages/5c/33/c684bb591c6ff6f043c72ac858c42de59b1ad1dd10cb68eefddd0d37ba60/keras-transformer-0.22.0.tar.gz" } ], "0.23.0": [ { "comment_text": "", "digests": { "md5": "2ff95c569aefab17c9528fd1b838f34e", "sha256": "07b09ff5ec7955266ff32d4d841b502a5d0b80b30c141f7990de45e471f140e7" }, "downloads": -1, "filename": "keras-transformer-0.23.0.tar.gz", "has_sig": false, "md5_digest": "2ff95c569aefab17c9528fd1b838f34e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7491, "upload_time": "2019-05-21T10:15:35", "url": "https://files.pythonhosted.org/packages/31/0d/0b62504dc9a6377d035b651b9222c95f9094c002bdcb17162ad4863de6ba/keras-transformer-0.23.0.tar.gz" } ], "0.25.0": [ { "comment_text": "", "digests": { "md5": "e9f35506947f0fb5142e57e150bc4871", "sha256": "155fcbd687e7ec66b68fc3537e1f0d88e14281735f8ddc9145c96e4c620a311f" }, "downloads": -1, "filename": "keras-transformer-0.25.0.tar.gz", "has_sig": false, "md5_digest": "e9f35506947f0fb5142e57e150bc4871", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10501, "upload_time": "2019-05-30T04:28:51", "url": "https://files.pythonhosted.org/packages/eb/12/a7a25776928b7e5c7efbc96d0f51faefde09a3b0c41f2cc7107475080420/keras-transformer-0.25.0.tar.gz" } ], "0.26.0": [ { "comment_text": "", "digests": { "md5": "2f1603b287803be72111753a6a48a34b", "sha256": "6d54c53451e04184dd65bb7b77617283f408f3f83a9f69017fd182aaf5abb20b" }, "downloads": -1, "filename": "keras-transformer-0.26.0.tar.gz", "has_sig": false, "md5_digest": "2f1603b287803be72111753a6a48a34b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11741, "upload_time": "2019-06-03T12:05:16", "url": "https://files.pythonhosted.org/packages/06/3a/ce84c78de7f680f6f92ddc6bfd872b6f1fbe08226b48620c0eaa445cdd93/keras-transformer-0.26.0.tar.gz" } ], "0.27.0": [ { "comment_text": "", "digests": { "md5": "655c2ace38374345b25ad4fde41abf29", "sha256": "c8fe78ac338cea0e2a155cfb99f0420a81a4b55dc416eb7f0935ac1ec212c316" }, "downloads": -1, "filename": "keras-transformer-0.27.0.tar.gz", "has_sig": false, "md5_digest": "655c2ace38374345b25ad4fde41abf29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11752, "upload_time": "2019-06-05T09:20:02", "url": "https://files.pythonhosted.org/packages/fc/3c/fb24f8e90ed3e388a2f3335f91871b0458768418161676decca39ab7f836/keras-transformer-0.27.0.tar.gz" } ], "0.28.0": [ { "comment_text": "", "digests": { "md5": "b9f08c2626f4a1ea7d5a0078bd766c22", "sha256": "9ce2526b9efb2fa717256e88e368567150524874e1da84a7565f63fd6cf8eff7" }, "downloads": -1, "filename": "keras-transformer-0.28.0.tar.gz", "has_sig": false, "md5_digest": "b9f08c2626f4a1ea7d5a0078bd766c22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11839, "upload_time": "2019-06-11T07:56:25", "url": "https://files.pythonhosted.org/packages/2d/19/411e85e932753d2542f09df5454c320592e15e915488979ee37f6f0f141b/keras-transformer-0.28.0.tar.gz" } ], "0.29.0": [ { "comment_text": "", "digests": { "md5": "5f18d9cf9f8c24bd714126a842884cb1", "sha256": "e77e0eadef7f60f567e156a6a0bd4b9583b540f61559d8d942c59b59c6085c5a" }, "downloads": -1, "filename": "keras-transformer-0.29.0.tar.gz", "has_sig": false, "md5_digest": "5f18d9cf9f8c24bd714126a842884cb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12408, "upload_time": "2019-07-16T12:58:49", "url": "https://files.pythonhosted.org/packages/6b/9c/9dda9466a97cfd21300736555a257429a162d774cc4470a1b880796eaeac/keras-transformer-0.29.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "86b363f2922b1d4ca890524338c76332", "sha256": "b2de9e2d1bc2a3062c131d32ec6547910b4835929d4e591db3a6b1c22d49ed95" }, "downloads": -1, "filename": "keras-transformer-0.3.0.tar.gz", "has_sig": false, "md5_digest": "86b363f2922b1d4ca890524338c76332", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3188, "upload_time": "2018-11-08T11:47:20", "url": "https://files.pythonhosted.org/packages/ab/1f/5b824a9719ebf415dcfd58a13bab32fec199514b58447586b6746d60f2a9/keras-transformer-0.3.0.tar.gz" } ], "0.30.0": [ { "comment_text": "", "digests": { "md5": "7d7c7d2344969a9f2fdccf3e1232cd01", "sha256": "9570c8dbfeee810fbc6af1fe5e825aec10c97cd00685fb499d0a88cadee72dc8" }, "downloads": -1, "filename": "keras-transformer-0.30.0.tar.gz", "has_sig": false, "md5_digest": "7d7c7d2344969a9f2fdccf3e1232cd01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11866, "upload_time": "2019-08-23T05:18:26", "url": "https://files.pythonhosted.org/packages/83/4c/972325395b38547df8a74be89e980922c1dc9f921cc2eb613e086c6bc632/keras-transformer-0.30.0.tar.gz" } ], "0.31.0": [ { "comment_text": "", "digests": { "md5": "bbcabc9e6648ed3c6fd11f06a74be7eb", "sha256": "3825ad64155c8c712be2ab365be43c14f2afa95d19911279cf1c7d6043ae1348" }, "downloads": -1, "filename": "keras-transformer-0.31.0.tar.gz", "has_sig": false, "md5_digest": "bbcabc9e6648ed3c6fd11f06a74be7eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12024, "upload_time": "2019-09-30T07:43:57", "url": "https://files.pythonhosted.org/packages/0a/57/496b1eab888171b0801a0a44d3245a7874b8d1cc04c1fbfdbb5e3327fc7a/keras-transformer-0.31.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a4ffa854ce5863332a91bedfc8c81eb3", "sha256": "f8fb8c46d74321fd60c8ae74340e5a729a7ca1b08e4b9b4ffd0fbfa3d2dd46f7" }, "downloads": -1, "filename": "keras-transformer-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a4ffa854ce5863332a91bedfc8c81eb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5815, "upload_time": "2018-11-09T06:25:13", "url": "https://files.pythonhosted.org/packages/9d/83/d76bc63e311311485b609a6970b6f1f111a80984330c62e633736bcf6231/keras-transformer-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "5c07ca2c53e1107046a211a95e69a57f", "sha256": "9c1ebb4dc79cff1dc5f1fb25feeaca7f5d2be76599fd64c7dc91ae0fb0317d0a" }, "downloads": -1, "filename": "keras-transformer-0.5.0.tar.gz", "has_sig": false, "md5_digest": "5c07ca2c53e1107046a211a95e69a57f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6121, "upload_time": "2018-11-09T07:50:16", "url": "https://files.pythonhosted.org/packages/3c/1e/8efbcf54969e5542a139d1104d0dcc8bd0d1df71573e0ba0d3b07ce474f6/keras-transformer-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "822adf76bd19ecf14275a807bd5ba2e9", "sha256": "e63048999895051cfffd159f0e21149db91f074ea271ca8c054b974e28f83c48" }, "downloads": -1, "filename": "keras-transformer-0.6.0.tar.gz", "has_sig": false, "md5_digest": "822adf76bd19ecf14275a807bd5ba2e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6365, "upload_time": "2018-11-12T06:53:06", "url": "https://files.pythonhosted.org/packages/74/4d/8774cccb83e50c4fcf1c010e943bd42141335f95ac270c89f2cc3864c5f8/keras-transformer-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "1503be0e14461539128e8860d0642fb2", "sha256": "358128eea678296261688132e8e040b95e17127db245af2d17e0ad464356504f" }, "downloads": -1, "filename": "keras-transformer-0.7.0.tar.gz", "has_sig": false, "md5_digest": "1503be0e14461539128e8860d0642fb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6358, "upload_time": "2018-11-12T08:47:58", "url": "https://files.pythonhosted.org/packages/32/e2/13a6a7a7bdc3b61708afdd5a8bf0ebfa7bb7895252ca3a29be3730aa71f1/keras-transformer-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "98248ee98d4afad60d7250ff2dbaf34a", "sha256": "d5c31e379b0de0a4ece365f4f0165506560b99bc678c2164ef730fcea4a51b96" }, "downloads": -1, "filename": "keras-transformer-0.8.0.tar.gz", "has_sig": false, "md5_digest": "98248ee98d4afad60d7250ff2dbaf34a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6361, "upload_time": "2018-11-12T09:45:36", "url": "https://files.pythonhosted.org/packages/32/6e/0ddf14c1c9c248951abc90f5e0a8edd8fff429ee7537d4e9aa5544e2036d/keras-transformer-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "a51cf74cd37188b56e66a1b84f34c494", "sha256": "de14df1a23bf7c79120f0a1709968b61cca7493942f5d4cc21a2b60b16ff734b" }, "downloads": -1, "filename": "keras-transformer-0.9.0.tar.gz", "has_sig": false, "md5_digest": "a51cf74cd37188b56e66a1b84f34c494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6367, "upload_time": "2018-11-13T02:52:22", "url": "https://files.pythonhosted.org/packages/1a/0a/9a57d601cbf3998729d6565cd3bc58bc148de554d209bb9e462e32a3f059/keras-transformer-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bbcabc9e6648ed3c6fd11f06a74be7eb", "sha256": "3825ad64155c8c712be2ab365be43c14f2afa95d19911279cf1c7d6043ae1348" }, "downloads": -1, "filename": "keras-transformer-0.31.0.tar.gz", "has_sig": false, "md5_digest": "bbcabc9e6648ed3c6fd11f06a74be7eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12024, "upload_time": "2019-09-30T07:43:57", "url": "https://files.pythonhosted.org/packages/0a/57/496b1eab888171b0801a0a44d3245a7874b8d1cc04c1fbfdbb5e3327fc7a/keras-transformer-0.31.0.tar.gz" } ] }