Git Product home page Git Product logo

swarmrl's Introduction

SwarmRL

Python package to study colloid motion with reinforcement learning.

Installation

Currently SwamrRL is only available from source so it must be installed within the local directory.

git clone https://github.com/christophlohrmann/SwarmRL.git
cd SwarmRL
pip install -e .

This will install the package with a reference to the current directory. This means that if you change the code, you will not need to re-install it.

swarmrl's People

Contributors

samtov avatar christophlohrmann avatar tobiasmerkt avatar dalouvid avatar jngrad avatar koppeprojects avatar vheuthe avatar

Stargazers

 avatar  avatar  avatar  avatar Fabian Zills avatar

Watchers

Kostas Georgiou avatar  avatar  avatar

swarmrl's Issues

Better control over espresso simulations

I would like to have more control over espresso simulations and to explain this I will give an example.

I want to implement the "wonderful life" training policy in parallel. In order to do this, I need to create one simulation with N particles normally. However, I then need to create N copies of this environment, each with identical position and velocity initialisation, but, with one particle removed. The simplest thing in my mind would be the following:

simulation_runner = MyRunnerSimulation(...)

new_sim = deep copy(simulation_runner)
new_sim.remove_colloids(ids = [])

This may already be possible but I am not sure how to do such a thing.

Ability to add tasks

What feature would you like to see added?
It would be really cool to be able to add tasks together from the front end API. Something like:

task = srl.tasks.RotateRod(...) + srl.tasks.FindLocation(...)

Vision Cones Observable

What feature would you like to see added?
I would like to see a clear vision cone observable added to SwarmRL as it seems there are a few variations floating around.

Distributed Training

I am writing this here so that I can keep track of my progress on the two tasks. If you have any comments or recommendations, please also comment here so we can discuss it as it is implemented.

I am implementing two types of distributed strategies in SwarmRL, mainly focused on the RL.

  • GeneticTrainer: In this gym, N RL model will be created and trained simultaneously. After M epochs, the one with the best read will be chosen, copied, and then more simulations run. This should avoid problems of having one or two bad runs and one good one as we will also pick the best.
  • SharedGradientsTrainer: In the shared gradients gym, one RL model will run N simulations at the same time. During training updates, all gradients will be computed and then back-propagated through the network so that it can sample phase space faster.

Dead Kernel with external force

Describe the bug
If I try to use the external force function of the espresso simulations I kill my kernel every time. I have tried it with the latest espresso but only from a jupyter environment not directly from the script.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.