Local evaluator on Windows not working

#1

I followed all the instructions to run evaluator on Windows local system.
However, when I type “flatland-evaluator --tests /path/to/test-env-data/”, I have “Ran out of input” error as the following :

[‘Test_9\Level_1.pkl’, ‘Test_1\Level_0.pkl’, ‘Test_9\Level_0.pkl’, ‘Test_0\Level_1.pkl’, ‘Test_3\Level_1.pkl’, ‘Test_8\Level_0.pkl’, ‘Test_1\Level_1.pkl’, ‘Test_2\Level_1.pkl’, ‘Test_3\Level_0.pkl’, ‘Test_8\Level_1.pkl’, ‘Test_6\Level_0.pkl’, ‘Test_7\Level_1.pkl’, ‘Test_2\Level_0.pkl’, ‘Test_0\Level_0.pkl’, ‘Test_5\Level_0.pkl’, ‘Test_6\Level_1.pkl’, ‘Test_4\Level_1.pkl’, ‘Test_4\Level_0.pkl’, ‘Test_5\Level_1.pkl’, ‘Test_7\Level_0.pkl’]
Listening at : flatland-rl::FLATLAND_RL_SERVICE_ID::commands
Traceback (most recent call last):
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\runpy.py”, line 85, in run_code
exec(code, run_globals)
File "C:\Users\bonav\Anaconda3\envs\flatland-rl\Scripts\flatland-evaluator.exe_main
.py", line 9, in
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\click\core.py”, line 764, in call
return self.main(*args, **kwargs)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\click\core.py”, line 717, in main
rv = self.invoke(ctx)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\click\core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\click\core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\flatland\cli.py”, line 81, in evaluator
grader.run()
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\flatland\evaluators\service.py”, line 574, in run
command = self.get_next_command()
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\flatland\evaluators\service.py”, line 244, in get_next_command
command = self._get_next_command(_redis)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\timeout_decorator\timeout_decorator.py”, line 91, in new_function
return timeout_wrapper(*args, **kwargs)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\site-packages\timeout_decorator\timeout_decorator.py”, line 146, in call
self.__process.start()
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\process.py”, line 105, in start
self._popen = self._Popen(self)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\context.py”, line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\context.py”, line 322, in _Popen
return Popen(process_obj)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\popen_spawn_win32.py”, line 65, in init
reduction.dump(process_obj, to_child)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\reduction.py”, line 60, in dump
ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can’t pickle <function FlatlandRemoteEvaluationService._get_next_command at 0x000001F759D59EA0>: it’s not the same object as flatland.evaluators.service.FlatlandRemoteEvaluationService._get_next_command
Traceback (most recent call last):
File “”, line 1, in
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\spawn.py”, line 105, in spawn_main
exitcode = _main(fd)
File “c:\users\bonav\anaconda3\envs\flatland-rl\lib\multiprocessing\spawn.py”, line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

Does anyone have same problem with me ?

Thanx :slight_smile:

1 Like
#2

I have a feeling that the pickle files you are using are corrupt somehow :confused: Or the dataset directory paths are not properly set.

Are you correctly specifying the /path/to/test-env-data/ ?

#3

I met the same problem on my windows machine. And I checked that this problem is caused by the “pickle” in Python. If the module is related to multiprocessing and dumped on the Linux system, the error will occur when it is loaded on Windows machine. I appeal that the organizers also realize Windows version of this test environment.