{ "info": { "author": "Arun S. Maiya", "author_email": "arun@maiya.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "### News and Announcements\n- **Coming Soon**:\n - better support for custom data formats and models\n - support for using *ktrain* with `tf.keras`\n- **2019-10-16:** \n - *ktrain* v0.5.x is released and includes pre-canned support for [node classification in graphs](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/examples/graphs/hateful_twitter_users-GraphSAGE.ipynb).\n----\n\n\n# ktrain\n\n*ktrain* is a lightweight wrapper for the deep learning library [Keras](https://keras.io/) to help build, train, and deploy neural networks. With only a few lines of code, ktrain allows you to easily and quickly:\n\n- estimate an optimal learning rate for your model given your data using a Learning Rate Finder\n- utilize learning rate schedules such as the [triangular policy](https://arxiv.org/abs/1506.01186), the [1cycle policy](https://arxiv.org/abs/1803.09820), and [SGDR](https://arxiv.org/abs/1608.03983) to effectively minimize loss and improve generalization\n- employ fast and easy-to-use pre-canned models for:\n - **text classification** (e.g., [BERT](https://arxiv.org/abs/1810.04805), [NBSVM](https://www.aclweb.org/anthology/P12-2018), [fastText](https://arxiv.org/abs/1607.01759), GRUs with [pretrained word vectors](https://fasttext.cc/docs/en/english-vectors.html))\n - **image classification** (e.g., [ResNet](https://arxiv.org/abs/1512.03385), [Wide ResNet](https://arxiv.org/abs/1605.07146), [Inception](https://www.cs.unc.edu/~wliu/papers/GoogLeNet.pdf))\n - **text sequence labeling** (e.g., [Bidirectional LSTM-CRF](https://arxiv.org/abs/1603.01360) with optional pretrained word embeddings)\n - **graph node classification** (e.g., [GraphSAGE](https://cs.stanford.edu/people/jure/pubs/graphsage-nips17.pdf))\n- perform multilingual text classification (e.g., [Chinese Sentiment Analysis with BERT](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/examples/text/ChineseHotelReviews-BERT.ipynb), [Arabic Sentiment Analysis with NBSVM](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/examples/text/ArabicHotelReviews-nbsvm.ipynb))\n- load and preprocess text and image data from a variety of formats \n- inspect data points that were misclassified and [provide explanations](https://eli5.readthedocs.io/en/latest/) to help improve your model\n- leverage a simple prediction API for saving and deploying both models and data-preprocessing steps to make predictions on new raw data\n\n\n### Tutorials\nPlease see the following tutorial notebooks for a guide on how to use *ktrain* on your projects:\n* Tutorial 1: [Introduction](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-01-introduction.ipynb)\n* Tutorial 2: [Tuning Learning Rates](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-02-tuning-learning-rates.ipynb)\n* Tutorial 3: [Image Classification](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-03-image-classification.ipynb)\n* Tutorial 4: [Text Classification](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-04-text-classification.ipynb)\n* Tutorial 5: [Explaining Predictions and Misclassifications](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-05-explaining-predictions.ipynb)\n* Tutorial 6: [Text Sequence Tagging](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-06-sequence-tagging.ipynb) for Named Entity Recognition\n* Tutorial 7: [Graph Node Classification](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-07-graph-node_classification.ipynb) with Graph Neural Networks\n* Tutorial A1: [Additional tricks](https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorial-A1-additional-tricks.ipynb), which covers topics such as previewing data augmentation schemes, inspecting intermediate output of Keras models for debugging, setting global weight decay, and use of built-in and custom callbacks.\n\n\nSome blog tutorials about *ktrain* are shown below:\n\n> [**ktrain: A Lightweight Wrapper for Keras to Help Train Neural Networks**](https://towardsdatascience.com/ktrain-a-lightweight-wrapper-for-keras-to-help-train-neural-networks-82851ba889c) \n\n\n> [**BERT Text Classification in 3 Lines of Code**](https://towardsdatascience.com/bert-text-classification-in-3-lines-of-code-using-keras-264db7e7a358) \n\n> [**Explainable AI in Practice**](https://medium.com/@asmaiya/explainable-ai-in-practice-2e5ae2d16dc7) \n\n\nUsing *ktrain* on **Google Colab**? See [this simple demo of Multiclass Text Classification with BERT](https://colab.research.google.com/drive/1AH3fkKiEqBpVpO5ua00scp7zcHs5IDLK).\n\n\n\nTasks such as text classification and image classification can be accomplished easily with \nonly a few lines of code.\n\n#### Example: Text Classification of [IMDb Movie Reviews](https://ai.stanford.edu/~amaas/data/sentiment/) Using [BERT](https://arxiv.org/pdf/1810.04805.pdf)\n```\nimport ktrain\nfrom ktrain import text as txt\n\n# load data\n(x_train, y_train), (x_test, y_test), preproc = txt.texts_from_folder('data/aclImdb', maxlen=500, \n preprocess_mode='bert',\n train_test_names=['train', 'test'],\n classes=['pos', 'neg'])\n\n# load model\nmodel = txt.text_classifier('bert', (x_train, y_train), preproc=preproc)\n\n# wrap model and data in ktrain.Learner object\nlearner = ktrain.get_learner(model, \n train_data=(x_train, y_train), \n val_data=(x_test, y_test), \n batch_size=6)\n\n# find good learning rate\nlearner.lr_find() # briefly simulate training to find good learning rate\nlearner.lr_plot() # visually identify best learning rate\n\n# train using 1cycle learning rate schedule for 3 epochs\nlearner.fit_onecycle(2e-5, 3) \n```\n\n\n#### Example: Classifying Images of [Dogs and Cats](https://www.kaggle.com/c/dogs-vs-cats) Using a Pretrained [ResNet50](https://arxiv.org/abs/1512.03385) model\n```\nimport ktrain\nfrom ktrain import vision as vis\n\n# load data\n(train_data, val_data, preproc) = vis.images_from_folder(\n datadir='data/dogscats',\n data_aug = vis.get_data_aug(horizontal_flip=True),\n train_test_names=['train', 'valid'], \n target_size=(224,224), color_mode='rgb')\n\n# load model\nmodel = vis.image_classifier('pretrained_resnet50', train_data, val_data, freeze_layers=80)\n\n# wrap model and data in ktrain.Learner object\nlearner = ktrain.get_learner(model=model, train_data=train_data, val_data=val_data, \n workers=8, use_multiprocessing=False, batch_size=64)\n\n# find good learning rate\nlearner.lr_find() # briefly simulate training to find good learning rate\nlearner.lr_plot() # visually identify best learning rate\n\n# train using triangular policy with ModelCheckpoint and implicit ReduceLROnPlateau and EarlyStopping\nlearner.autofit(1e-4, checkpoint_folder='/tmp/saved_weights') \n```\n\n#### Example: Sequence Labeling for [Named Entity Recognition](https://www.kaggle.com/abhinavwalia95/entity-annotated-corpus/version/2) using a randomly initialized [Bidirectional LSTM CRF](https://arxiv.org/abs/1603.01360) model\n```\nimport ktrain\nfrom ktrain import text as txt\n\n# load data\n(trn, val, preproc) = txt.entities_from_txt('data/ner_dataset.csv',\n sentence_column='Sentence #',\n word_column='Word',\n tag_column='Tag', \n data_format='gmb')\n\n# load model\nmodel = txt.sequence_tagger('bilstm-crf', preproc)\n\n# wrap model and data in ktrain.Learner object\nlearner = ktrain.get_learner(model, train_data=trn, val_data=val)\n\n\n# conventional training for 1 epoch using a learning rate of 0.001 (Keras default for Adam optmizer)\nlearner.fit(1e-3, 1) \n```\n\n\n#### Example: Node Classification on [Cora Citation Graph](https://linqs-data.soe.ucsc.edu/public/lbc/cora.tgz) using a [GraphSAGE](https://arxiv.org/abs/1706.02216) model\n```\nimport ktrain\nfrom ktrain import graph as gr\n\n# load data with supervision ratio of 10%\n(trn, val, preproc) = gr.graph_nodes_from_csv(\n 'cora.content', # node attributes/labels\n 'cora.cites', # edge list\n sample_size=20, \n holdout_pct=None, \n holdout_for_inductive=False,\n train_pct=0.1, sep='\\t')\n\n# load model\nmodel=gr.graph_node_classifier('graphsage', trn)\n\n# wrap model and data in ktrain.Learner object\nlearner = ktrain.get_learner(model, train_data=trn, val_data=val, batch_size=64)\n\n\n# find good learning rate\nlearner.lr_find(max_epochs=100) # briefly simulate training to find good learning rate\nlearner.lr_plot() # visually identify best learning rate\n\n# train using triangular policy with ModelCheckpoint and implicit ReduceLROnPlateau and EarlyStopping\nlearner.autofit(0.01, checkpoint_folder='/tmp/saved_weights')\n```\n\n\nAdditional examples can be found [here](https://github.com/amaiya/ktrain/tree/master/examples).\n\n\n\n### Installation\n\n```\npip3 install ktrain\n```\n\n\n\n\n\nThis code was tested on Ubuntu 18.04 LTS using Keras 2.2.4 with a TensorFlow 1.14 backend.\n\n----\n**Creator: [Arun S. Maiya](http://arun.maiya.net)**\n\n**Email:** arun [at] maiya [dot] net", "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/amaiya/ktrain", "keywords": "keras,deep learning,machine learning", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ktrain", "package_url": "https://pypi.org/project/ktrain/", "platform": "", "project_url": "https://pypi.org/project/ktrain/", "project_urls": { "Homepage": "https://github.com/amaiya/ktrain" }, "release_url": "https://pypi.org/project/ktrain/0.5.2/", "requires_dist": null, "requires_python": "", "summary": "ktrain is a lightweight wrapper for Keras to help train neural networks", "version": "0.5.2" }, "last_serial": 6003617, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "fff7008e0f075444eef9ff2327e84bdc", "sha256": "f5ef347c79c7fd37ae537e4ef8dd9cf3a279e10d8472fcc12306fa387b13fc41" }, "downloads": -1, "filename": "ktrain-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fff7008e0f075444eef9ff2327e84bdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36771, "upload_time": "2019-04-10T17:49:59", "url": "https://files.pythonhosted.org/packages/52/77/692be43c750bf0cd1cc783666a571e52d44bf755abf6c7e4a39f9cd0f0fa/ktrain-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "935ee6ed27d1131a3444f67d519b6c56", "sha256": "92778e82cce4c2519c1c2f5e3c36b39091e6e2fb5c319b44d71e19d8e693acbc" }, "downloads": -1, "filename": "ktrain-0.1.10.tar.gz", "has_sig": false, "md5_digest": "935ee6ed27d1131a3444f67d519b6c56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39007, "upload_time": "2019-08-02T20:58:53", "url": "https://files.pythonhosted.org/packages/1d/65/676504c29ab332d1b9cc64154dd4bd6edd8dbf85b69544effb0420646ffc/ktrain-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "13298ccb1558a7bdc5ad05be672212dc", "sha256": "c6fde9586964e63c7e31a93396a4b3a948d0ead46691e818ed5a64afff03751a" }, "downloads": -1, "filename": "ktrain-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "13298ccb1558a7bdc5ad05be672212dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47202, "upload_time": "2019-04-10T19:26:45", "url": "https://files.pythonhosted.org/packages/1c/36/aa1f76377b87ca55d847f8287ee0c38f7060ffa6637533372562e783ba9e/ktrain-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fdcf5e59347bf06c70765fba68a398b", "sha256": "cee4f5b7dab535c5c62e9c3ed59698cf907eae000fc00379f83df86f32194ea8" }, "downloads": -1, "filename": "ktrain-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4fdcf5e59347bf06c70765fba68a398b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37021, "upload_time": "2019-04-10T19:26:46", "url": "https://files.pythonhosted.org/packages/4c/90/28cf5d0f2aad2cebd63e74d292be22b5a16ff9f915671bf3a38b8998eabf/ktrain-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9c03d7a0ed6d35695850cf685d7bed27", "sha256": "861719c2436a87fe0843e25b13589261305d7a81663f39eaf6ef39675f0b35d5" }, "downloads": -1, "filename": "ktrain-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9c03d7a0ed6d35695850cf685d7bed27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37026, "upload_time": "2019-04-10T19:34:18", "url": "https://files.pythonhosted.org/packages/a9/24/95e9dbe3da7e0ec0c3d6f789eee6ae9af89c9077e3137120283feea024bf/ktrain-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ad0d4cada5cd2bb33964d3440c106982", "sha256": "421ce479dc850846d6cbe239f4387306b77e4a0bc4d01e6017d18015018e8a22" }, "downloads": -1, "filename": "ktrain-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ad0d4cada5cd2bb33964d3440c106982", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36984, "upload_time": "2019-04-11T01:33:00", "url": "https://files.pythonhosted.org/packages/96/19/63dfddf307069f597abdd6b9c2db464c2bcd461516cd05b6330f1318f5e2/ktrain-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "5fd7454b22b3b290863d029a9bbe3e39", "sha256": "edc9ff1d1dac5fd0181580a989069848f66911c559c47934def515dd14623422" }, "downloads": -1, "filename": "ktrain-0.1.5.tar.gz", "has_sig": false, "md5_digest": "5fd7454b22b3b290863d029a9bbe3e39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38482, "upload_time": "2019-05-01T20:34:50", "url": "https://files.pythonhosted.org/packages/3f/84/b91f62a23b53771f5e88142f42791de92d737de2f4cf4e7035079b774620/ktrain-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "c728fd7fa87e625c204c777c607247c6", "sha256": "f04b55c44781f1e9ff095129899fddf1670876b91f734118c4262d8c10d9bead" }, "downloads": -1, "filename": "ktrain-0.1.6.tar.gz", "has_sig": false, "md5_digest": "c728fd7fa87e625c204c777c607247c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38589, "upload_time": "2019-05-03T20:23:30", "url": "https://files.pythonhosted.org/packages/8e/20/f34c45b3156f4b9c9d61d7b6a4527fc40400fb8a3977cb3eba7f1b7a7cdc/ktrain-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "5b4818c2b2756e127e87a4d3b11e6b4f", "sha256": "2ab92ab44454499fa1f34d92cc56598e77368c9c405bd426683ae217b4445421" }, "downloads": -1, "filename": "ktrain-0.1.7.tar.gz", "has_sig": false, "md5_digest": "5b4818c2b2756e127e87a4d3b11e6b4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38964, "upload_time": "2019-05-24T20:22:06", "url": "https://files.pythonhosted.org/packages/7b/4e/a16a15732580c2c84710ae6ce5aeed620addee870cb95aae55678c0fdb62/ktrain-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "cb167b0082a551a8988a44742cf8dd7f", "sha256": "e8c0056295fc0bde1e721e3c73a4120e63a0bc9583b5a23e150284f8d1bd6474" }, "downloads": -1, "filename": "ktrain-0.1.8.tar.gz", "has_sig": false, "md5_digest": "cb167b0082a551a8988a44742cf8dd7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39019, "upload_time": "2019-06-05T02:22:43", "url": "https://files.pythonhosted.org/packages/59/64/645252e81cec1743f86c65f81636213af107a96e30c338ad8d9fde38e4fd/ktrain-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "9cd618db36241379ee9c2787526fcc12", "sha256": "8c69f4ebc5ef8ed9299fd089c2700ad15a7ba5e678eae8e15611d166bcfc9879" }, "downloads": -1, "filename": "ktrain-0.1.9.tar.gz", "has_sig": false, "md5_digest": "9cd618db36241379ee9c2787526fcc12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39046, "upload_time": "2019-08-01T21:15:23", "url": "https://files.pythonhosted.org/packages/9f/bc/620b00ee130ea564528e413815ef9c6be4741444feadec597d66569fc322/ktrain-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d54c6c9ec37056bddfc31c3af07fa85d", "sha256": "98e5902d5aabe422c888e855c3397aca743d9a47dcfe5e48577132b90050e612" }, "downloads": -1, "filename": "ktrain-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d54c6c9ec37056bddfc31c3af07fa85d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42938, "upload_time": "2019-08-13T21:04:25", "url": "https://files.pythonhosted.org/packages/4e/a1/ac9bf2fbe4d098df77143d36f672b7de23c57349fa90ef5e58b313a92130/ktrain-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1964947a739bf37db2719a9253c89ef9", "sha256": "9e30a34c6e52f816571f2ae24621e0238cf3d1e28a00258068859d59ba8acc52" }, "downloads": -1, "filename": "ktrain-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1964947a739bf37db2719a9253c89ef9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42988, "upload_time": "2019-08-15T20:00:09", "url": "https://files.pythonhosted.org/packages/69/a8/3f263578d44b7899760bacb7b38fd031363e3f3407fd46b0123896ca5300/ktrain-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "9ac5eb0fe64cc89e2694a8138f84a189", "sha256": "e78a10574faee4822b72fccc9285f533cbc72e5dfcabb51576111f34be477ff3" }, "downloads": -1, "filename": "ktrain-0.2.2.tar.gz", "has_sig": false, "md5_digest": "9ac5eb0fe64cc89e2694a8138f84a189", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43030, "upload_time": "2019-08-16T14:32:41", "url": "https://files.pythonhosted.org/packages/83/ce/f8dd172bec1486c02f20cc5099055fb2e8850fc414eb7bc922f29e4e13ec/ktrain-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "fbff4378f5614001f31c164ec7933229", "sha256": "9dc4d0ca77ec610d551e404bb4fa3f8ac3445ed032434ca1f37a122a524a59bf" }, "downloads": -1, "filename": "ktrain-0.2.3.tar.gz", "has_sig": false, "md5_digest": "fbff4378f5614001f31c164ec7933229", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43142, "upload_time": "2019-08-19T02:43:04", "url": "https://files.pythonhosted.org/packages/7b/52/2dc508adb37613ede877e6daa636bb512bcd42830d62bfacc16401b2ef78/ktrain-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "af5eb2a4ac310066e4fc19829f9b9825", "sha256": "9fb34a2dc77d2bc2b2a85a0bbc37c47ca2832f29ec1e7db18f18b48e7c700c20" }, "downloads": -1, "filename": "ktrain-0.2.4.tar.gz", "has_sig": false, "md5_digest": "af5eb2a4ac310066e4fc19829f9b9825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43258, "upload_time": "2019-08-20T20:06:11", "url": "https://files.pythonhosted.org/packages/a7/9e/ce908a5ca38207176ea97093fa22b9416382750da5b6a0b613a0f7e7e5cc/ktrain-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "91fda7f9d3c5e34beb9b5fe3dbedebc5", "sha256": "79c1e14f64127766e04ad5b4a53e3f61c20cfd2b59779e8341aa46ea4e534599" }, "downloads": -1, "filename": "ktrain-0.2.5.tar.gz", "has_sig": false, "md5_digest": "91fda7f9d3c5e34beb9b5fe3dbedebc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44515, "upload_time": "2019-08-27T18:58:44", "url": "https://files.pythonhosted.org/packages/7e/d4/da5dbc568c1d938e4de5305f47ed621f72c0dda7caae511ca03abf9a03f5/ktrain-0.2.5.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1c36a98f12d46dee2bb279aae2680f4d", "sha256": "0bccd6179e5293e10e6558c399a0368b2c1811cbdb5ce780acfd838834361b68" }, "downloads": -1, "filename": "ktrain-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1c36a98f12d46dee2bb279aae2680f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65873, "upload_time": "2019-09-18T00:06:01", "url": "https://files.pythonhosted.org/packages/bc/c5/e3b4db6afbfcda4d516631bb2501815e8e60aedca45fec4dd8d489343315/ktrain-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "422c0bbcbc7b332d169eb77699751b36", "sha256": "d0953c64d284eff7e1a94d85bd303e55ab234d21e0bdbf96bf174ccce6a1ec8b" }, "downloads": -1, "filename": "ktrain-0.3.1.tar.gz", "has_sig": false, "md5_digest": "422c0bbcbc7b332d169eb77699751b36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75709, "upload_time": "2019-09-19T20:29:05", "url": "https://files.pythonhosted.org/packages/10/a1/fd460d428228e311f5c4cc173c04761c06cb2ce6c83949737275a39756fa/ktrain-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "c4c3801dcfbc87513c5581883ce9b928", "sha256": "3d1fae9d8d3f101ed8d1c36c8123c906a24f2757ec6e494f7774e609a7814519" }, "downloads": -1, "filename": "ktrain-0.4.0.tar.gz", "has_sig": false, "md5_digest": "c4c3801dcfbc87513c5581883ce9b928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74062, "upload_time": "2019-09-30T21:23:59", "url": "https://files.pythonhosted.org/packages/bf/1d/8e1f39faa36bfa1da72926517548da2c6a0592744b3903365b76e53381e7/ktrain-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "f9fc194d46d28e73a6264fd663e8706f", "sha256": "63fb071fcf65132483fcef794548cf25447f57c3ba20536205ca8a023f12dde6" }, "downloads": -1, "filename": "ktrain-0.4.1.tar.gz", "has_sig": false, "md5_digest": "f9fc194d46d28e73a6264fd663e8706f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74166, "upload_time": "2019-10-01T15:26:14", "url": "https://files.pythonhosted.org/packages/a3/b3/f8c6f7bef55f21c07b869096ad6a936a9df8bb6414c8c45f39b4b6e115bf/ktrain-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "b58c84bdc73f32f19b29e73982452716", "sha256": "0dccf2fb206280982f713a7c31f5fddf0c18f5a182298318cbcd34406608e7b2" }, "downloads": -1, "filename": "ktrain-0.4.2.tar.gz", "has_sig": false, "md5_digest": "b58c84bdc73f32f19b29e73982452716", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74383, "upload_time": "2019-10-01T20:06:57", "url": "https://files.pythonhosted.org/packages/e3/a0/c93436b41e825a614c2a04fcbf73189d60e0a08962249b21e91928dab5b5/ktrain-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "ac523c9434485470d138e0d08a6b8bc7", "sha256": "920f5e48c3b5f1b4a5f3858efe8db1a114020496a78079faa648276005fd7ca9" }, "downloads": -1, "filename": "ktrain-0.4.3.tar.gz", "has_sig": false, "md5_digest": "ac523c9434485470d138e0d08a6b8bc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77227, "upload_time": "2019-10-15T01:41:06", "url": "https://files.pythonhosted.org/packages/8e/4d/bd0c2832d3913e823b7dd6cb2ed2512e409499fd7e916a199949fe4627ad/ktrain-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "c959f834723cbe2fc3a5592175f9f8a0", "sha256": "4130abd3513227de799c07905fabcde1cbd4374830c298750220f1fe7aae926b" }, "downloads": -1, "filename": "ktrain-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c959f834723cbe2fc3a5592175f9f8a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78068, "upload_time": "2019-10-16T17:31:30", "url": "https://files.pythonhosted.org/packages/74/20/d88cc655ca9ad2c280abf33e1513d6137eec38c12a803e73f9d1de6a58ef/ktrain-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "d9f94dd9d4e3836436c3be63744f4376", "sha256": "cb4aec329286aafe75a5a56d95068692b641a89d3ed8c1f728c24e5c9cb82052" }, "downloads": -1, "filename": "ktrain-0.5.1.tar.gz", "has_sig": false, "md5_digest": "d9f94dd9d4e3836436c3be63744f4376", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 163992, "upload_time": "2019-10-17T23:18:31", "url": "https://files.pythonhosted.org/packages/90/32/0e9617edffdb631ad6b7ac142b0d4feb8157a8fce8f326c4aa7660a1ac89/ktrain-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "15bef1f07fb6bea97e2b8ecb0caea9fd", "sha256": "1e6f5a8e29e80897b56383ec10a4fea515e06bf2e5c6e33331c0dc15c50b189c" }, "downloads": -1, "filename": "ktrain-0.5.2.tar.gz", "has_sig": false, "md5_digest": "15bef1f07fb6bea97e2b8ecb0caea9fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 164013, "upload_time": "2019-10-20T17:32:11", "url": "https://files.pythonhosted.org/packages/bc/48/e489b362ea2f66694cadb52475d9f9422c4262f8516f3fdcd3eeaa1ab3ef/ktrain-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "15bef1f07fb6bea97e2b8ecb0caea9fd", "sha256": "1e6f5a8e29e80897b56383ec10a4fea515e06bf2e5c6e33331c0dc15c50b189c" }, "downloads": -1, "filename": "ktrain-0.5.2.tar.gz", "has_sig": false, "md5_digest": "15bef1f07fb6bea97e2b8ecb0caea9fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 164013, "upload_time": "2019-10-20T17:32:11", "url": "https://files.pythonhosted.org/packages/bc/48/e489b362ea2f66694cadb52475d9f9422c4262f8516f3fdcd3eeaa1ab3ef/ktrain-0.5.2.tar.gz" } ] }