{ "info": { "author": "Alison Carrera", "author_email": "alison.carrera2007@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Online Neural Network (ONN)\n\nThis is a Pytorch implementation of the [Online Deep Learning: Learning Deep Neural Networks on the Fly](https://arxiv.org/abs/1711.03705) paper. This algorithm contains a new backpropagation approach called Hedge Backpropagation and it is useful for online learning. In this algorithm you model a overnetwork architeture and the algorithm will try to turn on or turn off some of the hidden layers automatically. This algorithm uses the first hidden layer to train/predict but if it is going bad it starts to use another layers automatically. For more informations read the paper in the 'References' section.\n\n## Installing\n```\npip install onn\n```\n\n## How to use\n```python\n#Importing Library\nimport numpy as np\nfrom onn.OnlineNeuralNetwork import ONN\n\n#Starting a neural network with feature size of 2, hidden layers expansible until 5, number of neuron per hidden layer = 10 #and two classes.\nonn_network = ONN(features_size=2, max_num_hidden_layers=5, qtd_neuron_per_hidden_layer=10, n_classes=2)\n\n#Do a partial training\nonn_network.partial_fit(np.asarray([[0.1, 0.2]]), np.asarray([0]))\nonn_network.partial_fit(np.asarray([[0.8, 0.5]]), np.asarray([1]))\n\n#Predict classes\npredictions = onn_network.predict(np.asarray([[0.1, 0.2], [0.8, 0.5]]))\n\nPredictions -- array([1, 0])\n\n```\n\n## New features\n\n- The algortihm works with batch now. (It is not recommended because this is an online approach. It is useful for experimentation.)\n- The algorithm can use CUDA if available. (If the network is very small, it is not recommended. The CPU will process more fast.)\n\n# Non-linear Contextual Bandit Algorithm (ONN_THS)\n\nThe ONN_THS acts like a non-linear contextual bandit (a reinforcement learning algorithm). This algorithm works with the non-linear exploitation factor (ONN) plus an exploration factor provided by Thompson Sampling algorithm. The ONN_THS works with 'select' and 'reward' actions. For more detailed examples, please look at the jupyter notebook file in this repository. This algorithm was created by me to solve a problem in the company I work.\n\nThe great thing about this algorithm is that it can be used in an online manner and it has a non-linear exploitation. This algorithm can learn different kind of data in a reinforcement learning way.\n\n## How to use\n```python\n#Importing Library\nimport numpy as np\nfrom onn.OnlineNeuralNetwork import ONN_THS\n\n#Starting a neural network with feature size of 2, hidden layers expansible until 5, number of neuron per hidden layer = 10 #and two classes.\nonn_network = ONN_THS(features_size=2, max_num_hidden_layers=5, qtd_neuron_per_hidden_layer=10, n_classes=2)\n\n#Select an action\narm_selected, exploration_factor = onn_network.predict(np.asarray([[0.1, 0.2]]))\n\n#Reward an action\nonn_network.partial_fit(np.asarray([[0.1, 0.2]]), np.asarray([arm_selected]), exploration_factor)\n\n```\n\n## Contributors\n- [Alison de Andrade Carrera](https://github.com/alison-carrera)\n- [F\u00e1bio Silva Vilas Boas](https://github.com/fabiosvb)\n- [Daniel Ara\u00fajo](https://github.com/danielcoaraujo)\n\n## References\n- [Online Deep Learning: Learning Deep Neural Networks on the Fly](https://arxiv.org/abs/1711.03705)\n- [A Survey of Online Experiment Design with the Stochastic Multi-Armed Bandit](https://arxiv.org/pdf/1510.00757.pdf)", "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/alison-carrera/onn", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "onn", "package_url": "https://pypi.org/project/onn/", "platform": "", "project_url": "https://pypi.org/project/onn/", "project_urls": { "Homepage": "https://github.com/alison-carrera/onn" }, "release_url": "https://pypi.org/project/onn/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "Online Neural Network", "version": "0.1.8" }, "last_serial": 5579488, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "6af5332d513d944b0a6bdb57a783dd12", "sha256": "d699227c2dab22e2d2afc55cd824341d26ac77e4854f84452f639d67bdce7a49" }, "downloads": -1, "filename": "onn-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6af5332d513d944b0a6bdb57a783dd12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2510, "upload_time": "2019-06-13T17:05:44", "url": "https://files.pythonhosted.org/packages/8f/42/c29bd412eba83ca0b9b5dd3fa666a81670f24b3d223ce313f7035b627b3b/onn-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "58c3cb7ea06bcea17368a0b74394c359", "sha256": "cee3564be46b6205abb32e8b2f8ee05a58644e18db66414580ec3507007ec3df" }, "downloads": -1, "filename": "onn-0.0.2.tar.gz", "has_sig": false, "md5_digest": "58c3cb7ea06bcea17368a0b74394c359", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3186, "upload_time": "2019-06-13T17:47:20", "url": "https://files.pythonhosted.org/packages/01/7f/f15189ec8a0e1e8e87d0c3a8f44091551daf624ca558d3254a2216f5d4a8/onn-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b1ece20911c394d3d11b15953826d373", "sha256": "506b5f50c5a3c2baa2be1945753a2c8f8bf497c736fafbb0c1ef43096422396c" }, "downloads": -1, "filename": "onn-0.0.3.tar.gz", "has_sig": false, "md5_digest": "b1ece20911c394d3d11b15953826d373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3191, "upload_time": "2019-06-13T17:48:43", "url": "https://files.pythonhosted.org/packages/c2/55/e4852b7e754dbc3588dd478c59ab5630523debfd5e0918c2cb33cda43bd6/onn-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "93f289ae2b43a55e65ff1af55fa77ea5", "sha256": "9be27637d3a99d30e4bc995811a764136d06cf521929f10ee37524734f6bd428" }, "downloads": -1, "filename": "onn-0.0.4.tar.gz", "has_sig": false, "md5_digest": "93f289ae2b43a55e65ff1af55fa77ea5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3520, "upload_time": "2019-06-13T18:42:13", "url": "https://files.pythonhosted.org/packages/a2/98/4900eee97e9df045febcbce0b330f28145db5c05a83da0384666228466a8/onn-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0db39213c344d23d087a04c6c54db80b", "sha256": "938ee94d3cedb057bd47e1c7523006c3aee6e196c7dbdb5d94e51112abcb38d2" }, "downloads": -1, "filename": "onn-0.0.5.tar.gz", "has_sig": false, "md5_digest": "0db39213c344d23d087a04c6c54db80b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3527, "upload_time": "2019-06-13T19:53:01", "url": "https://files.pythonhosted.org/packages/fb/2d/dfd837c7d80f403553759c155882f8e776971374aff7877d7fa70eb50eaf/onn-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "f4685be58fe3f5ae8b84f3efdaf00336", "sha256": "f81fbcce167e52b9c34e5f682d79f0aeebb7bb7f341abbd8630133605e24e223" }, "downloads": -1, "filename": "onn-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f4685be58fe3f5ae8b84f3efdaf00336", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3381, "upload_time": "2019-06-17T14:25:05", "url": "https://files.pythonhosted.org/packages/64/6e/e6b9a529434f25687bdb8ad26c8a0cc421dde92270b014f3f7e76cb3f6b4/onn-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "3d55738d396861a742db6cc15e8d2c4f", "sha256": "16553f0cd51d97ceee5169f867390ac0d57e254ae4423e8541c99a99d5293853" }, "downloads": -1, "filename": "onn-0.0.7.tar.gz", "has_sig": false, "md5_digest": "3d55738d396861a742db6cc15e8d2c4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3400, "upload_time": "2019-06-17T19:47:47", "url": "https://files.pythonhosted.org/packages/9a/fb/73176a5d9e1bc41b1e1e8be7347a9e722b57321f5b252cc260653dbe14cf/onn-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "0dc974cb59b25da070c5c9d141b1efd4", "sha256": "697ac64e06fba74b117349d031a9a195a39201238e475869f5d020146e1ef0c0" }, "downloads": -1, "filename": "onn-0.0.8.tar.gz", "has_sig": false, "md5_digest": "0dc974cb59b25da070c5c9d141b1efd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3552, "upload_time": "2019-06-18T00:21:30", "url": "https://files.pythonhosted.org/packages/34/94/6c32aceb5b2ee30ea56dea4849a3f57766485d207af475f35bb57f81ac37/onn-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "17b6c88d6a43d26293529418dbab6b95", "sha256": "000522c619e143b6166e01d41a616bd712e6bad98b3b1dc47590d512e3a74870" }, "downloads": -1, "filename": "onn-0.0.9.tar.gz", "has_sig": false, "md5_digest": "17b6c88d6a43d26293529418dbab6b95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3560, "upload_time": "2019-06-18T00:48:20", "url": "https://files.pythonhosted.org/packages/57/62/d5a52e307a2b2d0533380df69a5aa97d140360ebd49432cf696fe39c4042/onn-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "2899b8091b7830f08584c597d5b082af", "sha256": "9f35559ba90efd48b61714e88d4e6d5024c9b340873fdf30b45fddcbcc508774" }, "downloads": -1, "filename": "onn-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2899b8091b7830f08584c597d5b082af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3564, "upload_time": "2019-06-18T00:56:54", "url": "https://files.pythonhosted.org/packages/90/7f/0ec7190ddec5f7571d2213d892a39341f98184d020e24766c4de91764fc7/onn-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a618f2f9868dc0588d07f94b0cf25ded", "sha256": "28a8c78df21d12060d612b21306e934bd398bb1fd4e5632b62af423dbf57dda3" }, "downloads": -1, "filename": "onn-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a618f2f9868dc0588d07f94b0cf25ded", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3718, "upload_time": "2019-06-20T00:24:09", "url": "https://files.pythonhosted.org/packages/2a/94/e7e860d1442a76c558146243e99785b814e4e285bdabd4140703ee50ff44/onn-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8c0c0179302257c4fec8f4dfef7d8f55", "sha256": "c2da468ff32434dc3061efd62ac36c56966851ca7275bce536f87f967976e17c" }, "downloads": -1, "filename": "onn-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8c0c0179302257c4fec8f4dfef7d8f55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3720, "upload_time": "2019-06-20T01:06:56", "url": "https://files.pythonhosted.org/packages/d5/9d/521ff5592a7cc73ba5401e1928c3c325e8634759136087a473ed0539a4aa/onn-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2e7130141d1048b0f332aadcddc43032", "sha256": "4151d15499fe75b33680aeaa2354bd0367d11e37508e12ed6fbd8a12c10937f9" }, "downloads": -1, "filename": "onn-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2e7130141d1048b0f332aadcddc43032", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3722, "upload_time": "2019-06-20T01:19:34", "url": "https://files.pythonhosted.org/packages/17/82/5945ccf06d6eaac64b5b4d26c423c5d4fd7368a58529a4276c3c6d3f9dc5/onn-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "74b69a0e58271a1314f9fdb97780faa7", "sha256": "03d5b6bbecd7e98a9d44a21b7d7939676364fef01c946288c672975a2e68fb2f" }, "downloads": -1, "filename": "onn-0.1.4.tar.gz", "has_sig": false, "md5_digest": "74b69a0e58271a1314f9fdb97780faa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4217, "upload_time": "2019-06-24T19:57:28", "url": "https://files.pythonhosted.org/packages/33/06/889bd649ee445c5c01682c9427632bcad018c3fa44b414c5d21b26d87904/onn-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "22a4df15f6feb2e1cdab94739b68a1ac", "sha256": "0a5f37a1682823e33aa2b22b86e3895f163d44888039bc2b85b5be0a223f90e8" }, "downloads": -1, "filename": "onn-0.1.5.tar.gz", "has_sig": false, "md5_digest": "22a4df15f6feb2e1cdab94739b68a1ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4381, "upload_time": "2019-06-26T14:56:26", "url": "https://files.pythonhosted.org/packages/b7/d7/607228d3ba5c2096b1dd756063de74eff1e749a0a92d1081bd67b3e55c1d/onn-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "89674d7edff88aa6fd4b0e63d9e104e6", "sha256": "bdd7ab3877a3291c824fde3204a1708162ffc2002cfbd6f5cf77707dc00eff2a" }, "downloads": -1, "filename": "onn-0.1.6.tar.gz", "has_sig": false, "md5_digest": "89674d7edff88aa6fd4b0e63d9e104e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4395, "upload_time": "2019-06-27T23:40:36", "url": "https://files.pythonhosted.org/packages/16/86/e8de199cbe599a30327ced0ef61e6cdfaf1db91655df14da8cf79f47aed5/onn-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "6a8524378724b42a234dce096aed8961", "sha256": "59269c7fda18a37b5735dc4537616a7a2fdb1875f0f24a9c4c83884d287bc7c8" }, "downloads": -1, "filename": "onn-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6a8524378724b42a234dce096aed8961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4275, "upload_time": "2019-07-24T18:58:29", "url": "https://files.pythonhosted.org/packages/ef/21/3c2a1b1e396f91bb38a6e38f797e0c564ccf40d50e06f5e486412a003ae8/onn-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "8a86ee03f75f2f103ebd9520ca77eb13", "sha256": "298d8fdd8cba514aef0594aa0909953d857347dde9fc1697bb1b8da2e2364a1b" }, "downloads": -1, "filename": "onn-0.1.8.tar.gz", "has_sig": false, "md5_digest": "8a86ee03f75f2f103ebd9520ca77eb13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4480, "upload_time": "2019-07-24T19:58:06", "url": "https://files.pythonhosted.org/packages/a4/72/62b4ad29833c4eda451f70968176077cffd2350d5c866cfe7f7e1bbb86cd/onn-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8a86ee03f75f2f103ebd9520ca77eb13", "sha256": "298d8fdd8cba514aef0594aa0909953d857347dde9fc1697bb1b8da2e2364a1b" }, "downloads": -1, "filename": "onn-0.1.8.tar.gz", "has_sig": false, "md5_digest": "8a86ee03f75f2f103ebd9520ca77eb13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4480, "upload_time": "2019-07-24T19:58:06", "url": "https://files.pythonhosted.org/packages/a4/72/62b4ad29833c4eda451f70968176077cffd2350d5c866cfe7f7e1bbb86cd/onn-0.1.8.tar.gz" } ] }