PaddlePaddle / PARL

A high-performance distributed training framework for Reinforcement Learning
https://parl.readthedocs.io/
Apache License 2.0
3.23k stars 818 forks source link

examples/tutorials/homework/lesson5/ddpg_quadrotor/train.py 不能设置render为True #761

Closed xinxingStar closed 2 years ago

xinxingStar commented 2 years ago

第五节课后作业,代码的129行开启render后就会报错,具体修改为:将原来129行evaluate_reward = evaluate(env, agent)改为evaluate_reward = evaluate(env, agent, True)。我debug原因在于咱们103行的ActionMappingWrapper(env)这个函数将原来的Quadrotor对象变了,这个怎样改一下才能看到训练过程中或者训练后的render效果呢。

TomorrowIsAnOtherDay commented 2 years ago

render需要外接显示器才看到所跑程序。在AIStudio或者远程服务器中,因服务器没有外接显示器,跑render会提示错误的。 请确认下你该问题。另外,你也可以贴一下具体的错误提示到GitHub上

xinxingStar commented 2 years ago

需要渲染显示器才看到运行在AIStudio或者服务中,因服务器没有演示提示所远程程序,跑渲染错误。 请确认下该问题的。另外,你也可以贴一下具体的错误提示到GitHub上

首先我是在本地运行的,其他课后作业的渲染是没有问题的,报错的错误如下: Traceback (most recent call last): File "D:/xinxingCode/PARL/examples/tutorials/homework/lesson5/ddpg_quadrotor/train.py", line 129, in evaluate_reward = evaluate(env, agent, True) File "D:/xinxingCode/PARL/examples/tutorials/homework/lesson5/ddpg_quadrotor/train.py", line 92, in evaluate env.render() File "C:\ProgramData\Miniconda3\envs\PARL\lib\site-packages\gym\core.py", line 240, in render return self.env.render(mode, **kwargs) TypeError: render() takes 1 positional argument but 2 were given

我详细看了一下,比较了一下和别的代码的差距,是因为经过 env=ActionMappingWrapper(env)这个函数之后将原来Quadrotor对象变了,导致render是新对象的,而不是Quadrotor的render。

TomorrowIsAnOtherDay commented 2 years ago

ActionMappingWrapper 并没有重载render这个函数,应该不是调用这个造成的。 问下你的gym版本是多少呢?可以尝试下0.18.0版本,gym的兼容性太差了,很多用户反馈0.20.0以上的版本跑不了tutorial。

xinxingStar commented 2 years ago

ActionMappingWrapper 并没有重载render这个函数,应该不是调用这个造成的。 问下你的gym版本是多少呢?可以尝试下0.18.0版本,gym的兼容性太差了,很多用户反馈0.20.0以上的版本跑不了tutorial。

我确定了本地gym是0.18.0版本,我按照报错内容尝试修改了一下gym\core.py下面的内容,将239,240行原内容
def render(self, mode='human', kwargs): return self.env.render(mode, kwargs) 改为: def render(self, kwargs): return self.env.render(kwargs) 原来四轴飞行器就可以了

TomorrowIsAnOtherDay commented 2 years ago

奇怪,这个之前别的用户没反馈过这个情况,反馈多的是版本问题。 能否提供下你的环境信息:python版本、系统版本、parl版本、paddle版本给我们复现下呢?

xinxingStar commented 2 years ago

奇怪,这个之前别的用户没反馈过这个情况,反馈多的是版本问题。 能否提供下你的环境信息:python版本、系统版本、parl版本、paddle版本给我们复现下呢?

#

Name Version Build Channel

absl-py 0.15.0 pypi_0 pypi alabaster 0.7.12 pypi_0 pypi ale-py 0.7 pypi_0 pypi astor 0.8.1 pypi_0 pypi astunparse 1.6.3 pypi_0 pypi atari-py 0.2.6 pypi_0 pypi babel 2.9.1 pypi_0 pypi ca-certificates 2021.10.8 h5b45459_0 conda-forge cached-property 1.5.2 pypi_0 pypi cachetools 4.2.4 pypi_0 pypi certifi 2021.10.8 pypi_0 pypi cffi 1.15.0 pypi_0 pypi charset-normalizer 2.0.8 pypi_0 pypi clang 5.0 pypi_0 pypi click 8.0.3 pypi_0 pypi cloudpickle 1.2.1 pypi_0 pypi colorama 0.4.4 pypi_0 pypi colour 0.1.5 pypi_0 pypi configparser 5.1.0 pypi_0 pypi cycler 0.11.0 pypi_0 pypi cython 0.29.24 pypi_0 pypi dataclasses 0.8 pypi_0 pypi decorator 4.4.2 pypi_0 pypi deprecated 1.2.13 pypi_0 pypi docutils 0.17.1 pypi_0 pypi flask 2.0.2 pypi_0 pypi flask-cors 3.0.10 pypi_0 pypi flatbuffers 1.12 pypi_0 pypi funcsigs 1.0.2 pypi_0 pypi future 0.18.2 pypi_0 pypi gast 0.3.3 pypi_0 pypi glfw 2.4.0 pypi_0 pypi google-auth 1.35.0 pypi_0 pypi google-auth-oauthlib 0.4.6 pypi_0 pypi google-pasta 0.2.0 pypi_0 pypi grpcio 1.12.1 pypi_0 pypi gym 0.18.0 pypi_0 pypi h5py 3.1.0 pypi_0 pypi idna 3.3 pypi_0 pypi imageio 2.12.0 pypi_0 pypi imagesize 1.3.0 pypi_0 pypi importlib-metadata 4.8.2 pypi_0 pypi importlib-resources 5.4.0 pypi_0 pypi itsdangerous 2.0.1 pypi_0 pypi jinja2 3.0.3 pypi_0 pypi joblib 1.1.0 pypi_0 pypi keras 2.6.0 pypi_0 pypi keras-applications 1.0.8 pypi_0 pypi keras-preprocessing 1.1.2 pypi_0 pypi kiwisolver 1.3.1 pypi_0 pypi libsodium 1.0.17 h2fa13f4_0 conda-forge libzlib 1.2.11 h8ffe710_1013 conda-forge lockfile 0.12.2 pypi_0 pypi markdown 3.3.6 pypi_0 pypi markupsafe 2.0.1 pypi_0 pypi matplotlib 3.3.4 pypi_0 pypi networkx 2.5.1 pypi_0 pypi nltk 3.6.5 pypi_0 pypi numpy 1.19.5 pypi_0 pypi oauthlib 3.1.1 pypi_0 pypi objgraph 3.5.0 pypi_0 pypi opencv-python 4.2.0.32 pypi_0 pypi openssl 1.1.1l h8ffe710_0 conda-forge opt-einsum 3.3.0 pypi_0 pypi osim-rl 3.0.11 pypi_0 pypi packaging 21.3 pypi_0 pypi paddlepaddle 1.8.5 pypi_0 pypi pandas 1.1.5 pypi_0 pypi parl 1.0 pypi_0 pypi pathlib 1.0.1 pypi_0 pypi patsy 0.5.2 pypi_0 pypi pillow 7.2.0 pypi_0 pypi pip 21.3.1 pyhd8ed1ab_0 conda-forge prettytable 2.4.0 pypi_0 pypi protobuf 3.19.1 pypi_0 pypi psutil 5.8.0 pypi_0 pypi pyarrow 0.13.0 pypi_0 pypi pyasn1 0.4.8 pypi_0 pypi pyasn1-modules 0.2.8 pypi_0 pypi pycparser 2.21 pypi_0 pypi pyglet 1.5.0 pypi_0 pypi pygments 2.10.0 pypi_0 pypi pyparsing 3.0.6 pypi_0 pypi python 3.6.13 h39d44d4_2_cpython conda-forge python-dateutil 2.8.2 pypi_0 pypi python-graphviz 0.18.2 pypi_0 pypi python_abi 3.6 2_cp36m conda-forge pytz 2021.3 pypi_0 pypi pyyaml 6.0 pypi_0 pypi pyzmq 18.0.1 pypi_0 pypi rarfile 4.0 pypi_0 pypi recordio 0.1.7 pypi_0 pypi redis 4.0.2 pypi_0 pypi regex 2021.11.10 pypi_0 pypi requests 2.26.0 pypi_0 pypi requests-oauthlib 1.3.0 pypi_0 pypi rlschool 1.0.1 pypi_0 pypi rsa 4.8 pypi_0 pypi scikit-learn 0.24.2 pypi_0 pypi scipy 1.5.4 pypi_0 pypi setuptools 58.0.4 py36ha15d459_2 conda-forge six 1.15.0 pypi_0 pypi snowballstemmer 2.2.0 pypi_0 pypi sobol-seq 0.2.0 pypi_0 pypi sphinx 4.3.1 pypi_0 pypi sphinx-rtd-theme 1.0.0 pypi_0 pypi sphinxcontrib-applehelp 1.0.2 pypi_0 pypi sphinxcontrib-devhelp 1.0.2 pypi_0 pypi sphinxcontrib-htmlhelp 2.0.0 pypi_0 pypi sphinxcontrib-jsmath 1.0.1 pypi_0 pypi sphinxcontrib-qthelp 1.0.3 pypi_0 pypi sphinxcontrib-serializinghtml 1.1.5 pypi_0 pypi statsmodels 0.12.2 pypi_0 pypi tb-nightly 1.15.0a20190801 pypi_0 pypi tensorboard 1.14.0 pypi_0 pypi tensorboard-data-server 0.6.1 pypi_0 pypi tensorboard-plugin-wit 1.8.0 pypi_0 pypi tensorboardx 1.8 pypi_0 pypi tensorflow 1.14.0 pypi_0 pypi tensorflow-estimator 1.14.0 pypi_0 pypi termcolor 1.1.0 pypi_0 pypi threadpoolctl 3.0.0 pypi_0 pypi timeout-decorator 0.5.0 pypi_0 pypi tqdm 4.62.3 pypi_0 pypi trimesh 3.9.35 pypi_0 pypi typing-extensions 4.0.0 pypi_0 pypi ucrt 10.0.20348.0 h57928b3_0 conda-forge urllib3 1.26.7 pypi_0 pypi vc 14.2 hb210afc_5 conda-forge vs2015_runtime 14.29.30037 h902a5da_5 conda-forge wcwidth 0.2.5 pypi_0 pypi werkzeug 2.0.2 pypi_0 pypi wheel 0.37.0 pyhd8ed1ab_1 conda-forge wrapt 1.12.1 pypi_0 pypi zeromq 4.3.2 ha925a31_3 conda-forge zipp 3.6.0 pypi_0 pypi zlib 1.2.11 h8ffe710_1013 conda-forge

TomorrowIsAnOtherDay commented 2 years ago

python 版本以及系统版本信息(windows linux?)请提供下

xinxingStar commented 2 years ago

python 版本以及系统版本信息(windows linux?)请提供下

win10 python 3.6.13 h39d44d4_2_cpython conda-forge

TomorrowIsAnOtherDay commented 2 years ago

好的,我们找个Windows的机器尝试复现下问题。