Giter Site home page Giter Site logo

Comments (8)

maximecb avatar maximecb commented on August 25, 2024

We technically don't thoroughly check that the data doesn't overlap right now. We set a given seed and generate missions, set a different seed and generate a different set of missions in sequence. Would it be acceptable to just say, training data is seeds in the range 1 to 1 million, testing is after 1 million?

Just to be rigorous, you could generate a set of demos that way and I could write a piece of code that checks if, for each demo, the same mission string + initial env config is present in the training set. Probably better than just assuming we're ok.

from babyai.

rizar avatar rizar commented on August 25, 2024

from babyai.

rizar avatar rizar commented on August 25, 2024

Let's use this issue to protocol how we generate missions everywhere in the code

  • currently, in demonstration generation, --seed=0 is reserved for the validation set. Other seeds can be used for generating training data, as many seeds as many jobs there is.
  • in scripts/train_rl.py seeds for training environments are selected as follows:
    image
  • in babyai/evaluate.py the batch_evaluate function uses a bunch of seeds starting from 10^9:
    image
  • in the same file evaluate function just a given environment. In scripts/evaluate.py it is given an environment that is seeded with 0.
  • in scripts/train_intelligent_expert.py we reuse the same pool of seeds for evaluating and training. Namely, we take num_new_demos of new seeds, evaluate the agent on them, and then reuse them for training.

I guess we could simplify things a bit if we agree to use only seeds >= 10^9 for validation, with the exception of scripts/train_intelligent_expert.py, in the case of which we can stick to the current approach.

from babyai.

rizar avatar rizar commented on August 25, 2024

On a related note, I am very curious why we do this in babyai/arguments.py:

image

from babyai.

maximecb avatar maximecb commented on August 25, 2024

Hmmm, randomizing the seed. I assume I copied that from some other script.

from babyai.

maximecb avatar maximecb commented on August 25, 2024

There is a call to evaluate() in train_intelligent_expert.py: https://github.com/mila-udem/babyai/blob/master/scripts/train_intelligent_expert.py#L328

As long as this method automatically starts from seeds seeds >= 10^9 we should be ok.

from babyai.

rizar avatar rizar commented on August 25, 2024

from babyai.

rizar avatar rizar commented on August 25, 2024

Fixed by #25 and #24

from babyai.

Related Issues (20)

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.