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

Evo Tuning API #6

Closed
ericmjl opened this issue Jan 28, 2020 · 2 comments
Closed

Evo Tuning API #6

ericmjl opened this issue Jan 28, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@ericmjl
Copy link
Collaborator

ericmjl commented Jan 28, 2020

I think it might be possible to provide an evo-tuning API.

I think the end-user should only be concerned with as few things as possible, and we can provide sane defaults for other things. Namely, my thoughts on what a user should be concerned with providing are:

  • starter weights (whether it’s the pre-loaded UniRef50 weights, or randomly generated, or other previously evotuned weights)
  • sequences of varying lengths

Then, there are other things we can probably just set to some sane defaults. For example, we probably need an automated protocol (probably using optuna) to figure out how many epochs to fine-tune for. (I read the pre-print supplement, it’s on the order of 10^4 steps, “until outer validation loss began to increase”. My prior experience with simple DL models and Optuna is that we probably can offload babysitting the model to Optuna.)

So a possible API would look like:

def evotune(weights, sequences: List[str]):
    # Rough steps:
    # 1. Find out number of epochs N using parallel Optuna.
    # 2. Optimize weights using N epochs.
    # 3. Save weights at the end of N epochs of training.

What do you think?

@ElArkk
Copy link
Owner

ElArkk commented Jan 29, 2020

Implementing Evotuning (training in general) is a logical next step i think. Using optuna for further automation sounds like an interesting idea! I'll open a new branch.

@ElArkk ElArkk added the enhancement New feature or request label Jan 29, 2020
@ElArkk
Copy link
Owner

ElArkk commented Mar 9, 2020

Evo-tuning is implemented now!

@ElArkk ElArkk closed this as completed Mar 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants