{"id":16723016,"url":"https://github.com/nrontsis/pilco","last_synced_at":"2025-04-06T16:12:01.361Z","repository":{"id":47442885,"uuid":"137230145","full_name":"nrontsis/PILCO","owner":"nrontsis","description":"Bayesian Reinforcement Learning in Tensorflow","archived":false,"fork":false,"pushed_at":"2021-02-15T10:07:22.000Z","size":586,"stargazers_count":320,"open_issues_count":18,"forks_count":83,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-03-29T14:36:00.440Z","etag":null,"topics":["gaussian-processes","machine-learning","model-based-rl","reinforcement-learning","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nrontsis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-13T14:51:31.000Z","updated_at":"2025-03-21T16:07:29.000Z","dependencies_parsed_at":"2022-09-18T04:40:40.975Z","dependency_job_id":null,"html_url":"https://github.com/nrontsis/PILCO","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrontsis%2FPILCO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrontsis%2FPILCO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrontsis%2FPILCO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrontsis%2FPILCO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nrontsis","download_url":"https://codeload.github.com/nrontsis/PILCO/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247509224,"owners_count":20950232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gaussian-processes","machine-learning","model-based-rl","reinforcement-learning","tensorflow"],"created_at":"2024-10-12T22:36:31.330Z","updated_at":"2025-04-06T16:12:01.337Z","avatar_url":"https://github.com/nrontsis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Probabilistic Inference for Learning Control (PILCO)\n[![Build Status](https://travis-ci.org/nrontsis/PILCO.svg?branch=master)](https://travis-ci.org/nrontsis/PILCO)\n[![codecov](https://codecov.io/gh/nrontsis/PILCO/branch/master/graph/badge.svg)](https://codecov.io/gh/nrontsis/PILCO)\n\nA modern \\\u0026 clean implementation of the [PILCO](https://ieeexplore.ieee.org/abstract/document/6654139/) Algorithm in `TensorFlow v2`.\n\nUnlike PILCO's [original implementation](http://mlg.eng.cam.ac.uk/pilco/) which was written as a self-contained package of `MATLAB`, this repository aims to provide a clean implementation by heavy use of modern machine learning libraries.\n\nIn particular, we use `TensorFlow v2` to avoid the need for hardcoded gradients and scale to GPU architectures. Moreover, we use [`GPflow v2`](https://github.com/GPflow/GPflow) for Gaussian Process Regression.\n\nThe core functionality is tested against the original `MATLAB` implementation.\n\n## Example of usage\nBefore using `PILCO` you have to install it by running:\n```\ngit clone https://github.com/nrontsis/PILCO \u0026\u0026 cd PILCO\npython setup.py develop\n```\nIt is recommended to install everything in a fresh conda environment with `python\u003e=3.7`\n\nThe examples included in this repo use [`OpenAI gym 0.15.3`](https://github.com/openai/gym#installation) and [`mujoco-py 2.0.2.7`](https://github.com/openai/mujoco-py#install-mujoco). Theses dependecies should be installed manually. Then, you can run one of the examples as follows\n```\npython examples/inverted_pendulum.py\n```\n\n## Example Extension: Safe PILCO\nAs an example of the extensibility of the framework, we include in the folder `safe_pilco_extension` an extension of the standard PILCO algorithm that takes safety constraints (defined on the environment's state space) into account as in [https://arxiv.org/abs/1712.05556](https://arxiv.org/pdf/1712.05556.pdf). The `safe_swimmer_run.py` and `safe_cars_run.py` in the `examples` folder demonstrate the use of this extension.\n\n## Credits:\n\nThe following people have been involved in the development of this package:\n* [Nikitas Rontsis](https://github.com/nrontsis)\n* [Kyriakos Polymenakos](https://github.com/kyr-pol/)\n\n## References\n\nSee the following publications for a description of the algorithm: [1](https://ieeexplore.ieee.org/abstract/document/6654139/), [2](http://mlg.eng.cam.ac.uk/pub/pdf/DeiRas11.pdf), \n[3](https://pdfs.semanticscholar.org/c9f2/1b84149991f4d547b3f0f625f710750ad8d9.pdf)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrontsis%2Fpilco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnrontsis%2Fpilco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrontsis%2Fpilco/lists"}