Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DiTEF: Installation documentation missing #9

Open
h3ndrk opened this issue Oct 17, 2020 · 5 comments
Open

DiTEF: Installation documentation missing #9

h3ndrk opened this issue Oct 17, 2020 · 5 comments

Comments

@h3ndrk
Copy link
Member

h3ndrk commented Oct 17, 2020

We need an installation script or documentation of the steps to install e.g. the distributed evolver.

All Python modules must be installed via:

pip install generic/...

Developers may want to use --editable within the above command.

@h3ndrk
Copy link
Member Author

h3ndrk commented Oct 17, 2020

Also mention Python 3.8 dependency.

@knoellle
Copy link
Contributor

I'd argue for a script, as I think it would be easier to keep up to date than external documentation and less of a hassle to set up the environment.

If we go that route, which modules should it install?

For sure these ones:

  • task-worker
  • task-router
  • sliding-algorithm (for now at least, since we have no other algorithm yet)

If the testing module is to be installed, we should change it's name, as "tester" is way too generic.

What about the individual modules and their evaluators?
There are a couple options that seem reasonable to me:

  • install all automatically (by globbing for genetic-individual-*)
  • CLI argument list for individual types that would install genetic-individual-<type> and genetic-individual-<type>-evaluator
  • install all (or just the ones that are going to be used in production) by specifying the relevant modules in the script

IMHO, the script should have an --editable option that is simply passed through to every pip install call.
If the user only wants specific modules installed that way, they can always run the script without the option and then reinstall the desired modules with it.

@h3ndrk
Copy link
Member Author

h3ndrk commented Oct 17, 2020

IMHO, installing all modules will install evaluators that either have e.g. Tensorflow dependencies or will not be executed. We've build a Distributed Task Execution Framework. A single installation script does not make sense with that approach because we will rarely install all components in one environment.

Having CLI arguments needs further thinking but we could just install the modules by hand in the special environments we need them in.

Regarding the worker/router/algorithm, you will also not want to install all of them by default, because they may not be needed in your environment.

Because of this reasons, I'm prefering a documentation instead of a script.

@knoellle
Copy link
Contributor

Good point.

A script might still be useful for setting up development enviroments, as you'd likely want the router, evaluator, algorithm(s) and multiple individuals. But even then, you might not want all individuals and their dependencies, so the cli argument version would be nice.

But I agree, that this is not such a common use case.

@knoellle knoellle changed the title DiTEF: Installation script missing DiTEF: Installation documentation missing Oct 17, 2020
@h3ndrk
Copy link
Member Author

h3ndrk commented Oct 18, 2020

I think, if we implement an installation script with a fancy general interface s.t. it works in all scenarios, but which get used by a very limited number of people, we might have more costs than benefits. Writing a little documentation is the better choice for now.

@h3ndrk h3ndrk transferred this issue from another repository Apr 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants