sail-sg / rosmo

Codes for "Efficient Offline Policy Optimization with a Learned Model", ICLR2023

Home Page:https://arxiv.org/abs/2210.05980

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Google Colab Unrecognized split format error

robjlyons opened this issue · comments

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

commented

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)?

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.