sf2 error: unexpected keyword argument 'mode'
jarlva opened this issue · 3 comments
Hi, just installed new python3.9.13 conda env with latest sf2. Installed SF with pip install -e .
after git pull
and git switch sf2
Ran first:
python -m sf_examples.train_gym_env --algo=APPO --use_rnn=False --num_envs_per_worker=20 --policy_workers_per_policy=2 --recurrence=1 --with_vtrace=False --batch_size=512 --reward_scale=0.1 --save_every_sec=10 --experiment_summaries_interval=10 --experiment=example_gym_cartpole-v1 --env=CartPole-v1
Then:
python -m sf_examples.enjoy_gym_env --algo=APPO --experiment=example_gym_cartpole-v1 --env=CartPole-v1
With the error:
Traceback (most recent call last):
File "/home/jake/miniconda3/envs/sf2/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/jake/miniconda3/envs/sf2/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/jake/py/sample-factory/sf_examples/enjoy_gym_env.py", line 16, in <module>
sys.exit(main())
File "/home/jake/py/sample-factory/sf_examples/enjoy_gym_env.py", line 11, in main
status = enjoy(cfg)
File "/home/jake/py/sample-factory/sample_factory/enjoy.py", line 157, in enjoy
render_frame(cfg, env, video_frames, num_episodes, last_render_start)
File "/home/jake/py/sample-factory/sample_factory/enjoy.py", line 74, in render_frame
env.render(mode="human")
File "/home/jake/py/gym/gym/core.py", line 329, in render
return self.env.render(*args, **kwargs)
File "/home/jake/py/gym/gym/core.py", line 329, in render
return self.env.render(*args, **kwargs)
File "/home/jake/py/gym/gym/core.py", line 329, in render
return self.env.render(*args, **kwargs)
[Previous line repeated 1 more time]
File "/home/jake/py/gym/gym/wrappers/order_enforcing.py", line 51, in render
return self.env.render(*args, **kwargs)
File "/home/jake/py/gym/gym/wrappers/env_checker.py", line 53, in render
return env_render_passive_checker(self.env, *args, **kwargs)
File "/home/jake/py/gym/gym/utils/passive_env_checker.py", line 317, in env_render_passive_checker
result = env.render(*args, **kwargs)
TypeError: render() got an unexpected keyword argument 'mode'
pip list
Package Version Editable project location
----------------------- ----------- ----------------------------
absl-py 1.3.0
attrs 22.1.0
beautifulsoup4 4.11.1
bleach 5.0.1
cachetools 5.2.0
certifi 2022.9.24
charset-normalizer 2.1.1
click 8.1.3
cloudpickle 2.2.0
colorlog 6.7.0
Cython 0.29.32
defusedxml 0.7.1
docker-pycreds 0.4.0
entrypoints 0.4
faster-fifo 1.4.2
fastjsonschema 2.16.2
filelock 3.8.0
gitdb 4.0.9
GitPython 3.1.29
google-auth 2.12.0
google-auth-oauthlib 0.4.6
grpcio 1.49.1
gym 0.26.1 /home/user/py/gym
gym-notices 0.0.8
huggingface-hub 0.10.1
idna 3.4
importlib-metadata 5.0.0
Jinja2 3.1.2
jsonschema 4.16.0
jupyter_client 7.4.2
jupyter-core 4.11.1
jupyterlab-pygments 0.2.2
Markdown 3.4.1
MarkupSafe 2.1.1
mistune 2.0.4
mkl-fft 1.3.1
mkl-random 1.2.2
mkl-service 2.4.0
nbclient 0.7.0
nbconvert 7.2.1
nbformat 5.7.0
nest-asyncio 1.5.6
numpy 1.23.4
oauthlib 3.2.1
opencv-python-headless 4.6.0.66
packaging 21.3
pandocfilters 1.5.0
pathtools 0.1.2
pip 22.2.2
promise 2.3
protobuf 3.19.6
psutil 5.9.2
pyasn1 0.4.8
pyasn1-modules 0.2.8
pygame 2.1.2
pyglet 1.5.27
Pygments 2.13.0
pyparsing 3.0.9
pyrsistent 0.18.1
python-dateutil 2.8.2
PyYAML 6.0
pyzmq 24.0.1
requests 2.28.1
requests-oauthlib 1.3.1
rsa 4.9
sample-factory 2.0.0 /home/user/py/sample-factory
sentry-sdk 1.9.10
setproctitle 1.3.2
setuptools 63.4.1
shortuuid 1.0.9
signal-slot-mp 1.0.3
six 1.16.0
smmap 5.0.0
soupsieve 2.3.2.post1
tensorboard 2.10.1
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
tensorboardX 2.5.1
threadpoolctl 3.1.0
tinycss2 1.1.1
torch 1.12.1
tornado 6.2
tqdm 4.64.1
traitlets 5.4.0
typing_extensions 4.4.0
urllib3 1.26.12
wandb 0.13.4
webencodings 0.5.1
Werkzeug 2.2.2
wheel 0.37.1
zipp 3.9.0
Hi @jarlva
Thank you for reporting this.
Gym 0.26 significantly changed the API, including the env.render
function. It looks like we didn't update this render call to use the new API.
I'll take a look.
Should be fixed after the latest commit b5e89dd
Indeed it was due to changed APIs for Gym 0.26
Specifically Cartpole rendering seems to work now.
Again, thank you for finding this!
Should be fixed