sail-sg / rosmo

Codes for "Efficient Offline Policy Optimization with a Learned Model", ICLR2023
https://arxiv.org/abs/2210.05980
Apache License 2.0
28 stars 0 forks source link

Google Colab Unrecognized split format error #7

Closed robjlyons closed 1 year ago

robjlyons commented 1 year ago

Hi,

I have following the installation guide for setting up ROSMO to work on GPU in Google Colab.

I have run the algorithm on the BReakout Environment using:

!python experiment/atari/main.py -exp_id test -env Breakout -nodebug

and have received the following error:

Dataset rlu_atari_checkpoints_ordered downloaded and prepared to ./datasets/rl_unplugged/tensorflow_datasets/rlu_atari_checkpoints_ordered/Breakout_run_1/1.1.0. Subsequent calls will reuse this data. I0305 17:10:38.168606 140094298748736 logging_logger.py:49] Constructing tf.data.Dataset rlu_atari_checkpoints_ordered for split , from ./datasets/rl_unplugged/tensorflow_datasets/rlu_atari_checkpoints_ordered/Breakout_run_1/1.1.0 Traceback (most recent call last): File "experiment/atari/main.py", line 268, in app.run(main) File "/usr/local/lib/python3.8/dist-packages/absl/app.py", line 308, in run _run_main(main, args) File "/usr/local/lib/python3.8/dist-packages/absl/app.py", line 254, in _run_main sys.exit(main(argv)) File "experiment/atari/main.py", line 188, in main env, dataloader = get_env_data_loader(cfg) File "experiment/atari/main.py", line 105, in get_env_data_loader environment, dataset = atari_env_loader( File "/content/drive/MyDrive/Colab_Notebooks/rosmo/rosmo/data/rlu_atari.py", line 301, in env_loader return environment(game=env_name, stack_size=stack_size), create_atari_ds_loader( File "/content/drive/MyDrive/Colab_Notebooks/rosmo/rosmo/data/rlu_atari.py", line 188, in create_atari_ds_loader dataset = _uniformly_subsampled_atari_data( File "/content/drive/MyDrive/Colab_Notebooks/rosmo/rosmo/data/rlu_atari.py", line 142, in _uniformly_subsampled_atari_data return tfds.load( File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/logging/init.py", line 169, in call return function(args, kwargs) File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/load.py", line 629, in load ds = dbuilder.as_dataset(as_dataset_kwargs) File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/logging/init.py", line 169, in call return function(args, *kwargs) File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/dataset_builder.py", line 827, in as_dataset all_ds = tree_utils.map_structure(build_single_dataset, split) File "/usr/local/lib/python3.8/dist-packages/tree/init.py", line 435, in map_structure [func(args) for args in zip(map(flatten, structures))]) File "/usr/local/lib/python3.8/dist-packages/tree/init.py", line 435, in [func(args) for args in zip(map(flatten, structures))]) File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/dataset_builder.py", line 845, in _build_single_dataset ds = self._as_dataset( File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/dataset_builder.py", line 1298, in _as_dataset return reader.read( File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/reader.py", line 413, in read return tree_utils.map_structure(_read_instruction_to_ds, instructions) File "/usr/local/lib/python3.8/dist-packages/tree/init.py", line 435, in map_structure [func(args) for args in zip(map(flatten, structures))]) File "/usr/local/lib/python3.8/dist-packages/tree/init.py", line 435, in [func(args) for args in zip(*map(flatten, structures))]) File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/reader.py", line 404, in _read_instruction_to_ds file_instructions = splits_dict[instruction].file_instructions File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/splits.py", line 400, in getitem instructions = _make_file_instructions( File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/splits.py", line 501, in _make_file_instructions absolute_instructions = _make_absolute_instructions( File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/splits.py", line 455, in _make_absolute_instructions instruction = AbstractSplit.from_spec(instruction) File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/splits.py", line 552, in from_spec instructions = [_str_to_relative_instruction(s) for s in subs] File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/splits.py", line 552, in instructions = [_str_to_relative_instruction(s) for s in subs] File "/usr/local/lib/python3.8/dist-packages/tensorflow_datasets/core/splits.py", line 685, in _str_to_relative_instruction raise ValueError(err_msg) ValueError: Error parsing split ''. See format at: https://www.tensorflow.org/datasets/splits Unrecognized split format: ''. See format at https://www.tensorflow.org/datasets/splits

Any help would be greatly appreciated.

Thanks

lkevinzc commented 1 year ago

Hi @robjlyons , sorry for the late reply. Could you check all the versions related to tensorflow and tensorflow_dataset match the ones specified here (https://github.com/sail-sg/rosmo/blob/main/pyproject.toml#L26)?

robjlyons commented 1 year ago

Not a problem. Google colab has just upgraded it python to 3.9 rendering the use of gym==0.19 and atari_py very difficult if not impossible so have moved to paperspace and the code works fine now. Thanks.