neuroevolution-ai / NeuroEvolution-CTRNN_new

MIT License
3 stars 3 forks source link

create pip-package (low prio for now) #73

Open bjuergens opened 3 years ago

bjuergens commented 3 years ago

long term goal: it should be easy to use this framework for others.

Currently this issue is not for specific implementation and instead for discussion about general ideas how to achieve that long term goal.

Most important question (from me):

Also: I think we should rename this project. I think the name NeuroEvolution-CTRNN_new doesn't fit this project anymore

bjuergens commented 3 years ago

here some general steps, that I think may work towards this issue

a minimal example to start an experiment could look something like this:

import NeuroEvolution-CTRNN
import gym

class myEnv(gym.Env):
    pass 

experiment = NeuroEvolution-CTRNN.Experiment(population_size = 1000, generations = 200, env=myEnv)
experiment.start()
print("best score: " +str(experiment.log.max("fitness"))
bjuergens commented 3 years ago

also I think we should make sure we can handle plugins from the user. The user should be able to create custom brains, custom envs, custom optimizers and custom episode runners. I think custom brains and envs already works (albeit the definition of them is a little bit clunky at the moment).

bjuergens commented 3 years ago

@DanielZim reminder: you wanted to use a more object-oriented way to initialize experiment. Instead of passing configurations to the experiment, we could pass configurated objects for the brains, envs or optimizers. Also I noted, that for passing brains, we also had a related issue: #34