ManifoldRG / NEKO

In Progress Implementation of GATO style Generalist Multimodal model capable of image, text, RL and Robotics tasks
https://discord.gg/brsPnzNd8h
GNU General Public License v3.0
43 stars 10 forks source link

Port BabyAI GoToLocal Expert Trajectories To Minari #43

Open helenlu66 opened 1 year ago

helenlu66 commented 1 year ago

As mentioned in Source MiniGrid/BabyAI Dataset#14, once a dataset is sourced, it needs to be converted to Minari. GoToLocal expert trajectories have already been uploaded to google drive. Now it needs to be converted to Minari.

outcome:

helenlu66 commented 1 year ago

currently exploring the structure of the expert trajectories here

helenlu66 commented 1 year ago

When trying to de-serialize the state observations, I get a pickle.UnpicklingError: invalid load key, '\x02'. Figuring out how to fix this and de-serialize the provided expert demonstrations on the GoToLocal task is going to require more effort than just generating expert demonstrations on the task using the BabyAI bot. So I'm setting up the steps necessary to generate expert demonstrations using the BabyAI bot for not only GoToLocal but also other levels. https://github.com/helenlu66/RLMinariDatasets/blob/master/babyai_bot_expert_data_generation.py

Keeping this issue open for now. When the alternative is done, I'll close this issue.

helenlu66 commented 1 year ago

Currently working on it here: https://github.com/helenlu66/RLMinariDatasets/blob/master/babyai_pkl_to_minari.py.

There seems to be a major issue: when creating the data from buffer using https://minari.farama.org/api/minari_functions/#minari.create_dataset_from_buffers, Minari will try to serialize the observation space into a string. Currently for BabyAIMissionSpace, the responsible serialization and deserialization methods are not implemented

harshsikka commented 9 months ago

I think we should keep these issues handy as they may be useful to @jsjung00 and @snat-s going forward. We can revisit whether these issues still persist with the current setup once they have evaluate this data.