thu-ml / tianshou

An elegant PyTorch deep reinforcement learning library.
https://tianshou.org
MIT License
7.97k stars 1.13k forks source link

How to successfully run a demo #1015

Open zhiyu2020 opened 10 months ago

zhiyu2020 commented 10 months ago

Hello, i have following problems. First of all, i want to try demo to see the process of the whole infrastructure. But in the example part, it seems that the documentation is not clear. I don't know how to run demo successfully after installing tianshou with pip. Please give detailed documentation about using example demo so that i can see how to run successfully. image

Trinkle23897 commented 10 months ago

Please use source code installation, i.e. pip install -e . We did a major refactor few months ago, and didn’t update the pypi wheel. cc @MischaPanch

MischaPanch commented 10 months ago

FYI: Release of the wheel in next version is planned for late January or early February

MischaPanch commented 10 months ago

If you clone the repo, the surest say to install is with poetry, e.g. using poetry install

dantp-ai commented 10 months ago

My system is:


MischaPanch commented 10 months ago

Thank you a lot for going through the installation and looking into this! I will check the atari example in particular and address the installation details, such that everything is installed at once with the extras.

Could you please also try mujoco or one of the other environments? Atari is a particularly complicated one, the problems might be due to gymnasium (on mac) and not due to tianshou

dantp-ai commented 10 months ago

Yes. I'll try it on a different environment.

Regarding envpool issue, meanwhile I found out that it does not work because there is no support for Mac currently (here and [Feature Request] Py3.10, Windows and MacOS support).

Trinkle23897 commented 10 months ago

It should be configured properly as if it doesn't find a successful envpool import, it would fall back to gymnasium implementation in tianshou's atari example.

dantp-ai commented 10 months ago

I was able to run on macOS the example under box2d/acrobot_dualdqn.py.

I tried also to run mujoco/mujoco_sac.py, but so far no luck on macOS Ventura. It seems that gcc@9 doesn't compile on macOS versions higher than Monterey:

$ brew install gcc@9
...
gcc@9: This formula either does not compile or function as expected on macOS
versions newer than Monterey due to an upstream incompatibility.
Error: gcc@9: An unsatisfied requirement failed this build.
dantp-ai commented 10 months ago

On a Ubuntu-based machine I was more successful.

OS

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

Python

>>> import sys
>>> print(sys.version, sys.platform)
3.11.7 (main, Dec 29 2023, 19:47:35) [GCC 9.4.0] linux

I successfully ran box2d/acrobot_dualdqn.py, python atari_dqn.py --task "PongNoFrameskip-v4", python mujoco_sac.py.

After having followed the steps in the Contributions section, I had to additionally do:

MischaPanch commented 10 months ago

As I suspected, the problem lies mainly in gymnasium and not in tianshou. I'll extend the readme and the pyproject to better deal with macos. Weirdly, the tests in CI on macos run through without envpool problems. Maybe we should extend them as well

opcode81 commented 10 months ago

We need to improve the developer docs in general and provide instructions that enable an installation of an environment that supports the full range of tasks.

For instance, in order to be able to install a Python env that supports Atari, one may need to install system-level depenendencies cmake and zlib1g prior to the Poetry install (on Ubuntu, apt-get install cmake zlib1g-dev). Afterwards, I had to run pip install gymnasium[atari] and, for the game ROMs to be pullable, I had to run pip install gymnasium[accept-rom-license]. The poetry extra atari is not sufficient, unfortunately.

maxhuettenrauch commented 9 months ago

Checking in on the macOS related issues