hardmaru / WorldModelsExperiments

World Models Experiments
608 stars 171 forks source link

Can not install doom-py, is thers something to be done except the install instructions? #12

Open qqadssp opened 5 years ago

qqadssp commented 5 years ago

I tried several times to install doom-py, including 'pip3 install doom-py', install from the source code, 'pip3 install ppaquette-gym-doom', it always failled. Is there something else I can do?

kessler-frost commented 5 years ago

Can you post the exact error you are getting here? Also, try installing all of the dependencies first as mentioned here https://github.com/ppaquette/gym-doom. I also had several issues while trying to install doom-py and most of the time it was due to a dependency mismatch or something which gets mentioned in the error that occurs while running pip install doom-py.

hardmaru commented 5 years ago

Thanks, Sankalp

I also had to look thru issues in the original repo when I installed doompy a while back.

I recommend asking the creators of the original repo for help installing the packages they have created (I am simply a user of that package), and raising the installation issues there instead.

On Sat, Dec 22, 2018 at 1:15 PM Sankalp Sanand notifications@github.com wrote:

Can you post the exact error you are getting here? Also, try installing all of the dependencies first as mentioned here https://github.com/ppaquette/gym-doom. I also had several issues while trying to install doom-py and most of the time it was due to a dependency mismatch or something which gets mentioned in the error that occurs while running pip install doom-py.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/hardmaru/WorldModelsExperiments/issues/12#issuecomment-449543772, or mute the thread https://github.com/notifications/unsubscribe-auth/AGBoHgXl4mGYVdSi_zX3AyBjf-5RtNF-ks5u7bHugaJpZM4ZfT0a .

kessler-frost commented 5 years ago

Ok @hardmaru, I'll contact the creator of that but I guess they will not reply since it's mentioned on the repo that it is not maintained now. Also there are several issues already present there which remain unattended. This is the reason I am trying to port your architecture to another gym environment.

xiaoschannel commented 5 years ago

I got doom-py to install, and now I am able to run ppaquette-gym-doom, up to the data generation part of this repo. Here's the errors I encountered and what I did:

Environment: Ubuntu 18.04, python3.5, gym 9.4 (a must).

Error 1: cerr not defined in std

modify corresponding file in vizdoom to add import iostream https://github.com/QupZilla/qupzilla/issues/1122 the file might be in pip's cache and removed after. so you might need doom-py from source. but if you already have the proper version of vizdoom you can pip install doom-py later.

Error 2: freedoom-0.10.1.zip End-of-central-directory signature not found.

download freedoom manually https://github.com/mwydmuch/ViZDoom/issues/184#issuecomment-291899781

Error 3: libboost (I'm grouping it all together)

My Ubuntu comes with libboost 1.65.1, which removed boost::python::numeric (thanks to https://github.com/rdkit/rdkit/issues/1581). The solution that worked for me is to remove it and install 1.64.0 from source: sudo apt remove --purge libboost* This will remove all the libraries attached to libboost as well, which came relavant later. Make sure you purged it clean with dpkg -l | grep boost and locate libboost, because if not, cmake might later find that and complain. Now to download, build and install libboost 1.64 from source. The rough process is in one of the answers https://stackoverflow.com/questions/12578499/how-to-install-boost-on-ubuntu There's two problem with the process there:

  1. Do not install libboost-all-dev with apt. this can happen when you copypastes one of those install dependency lines.
  2. Need to enable python by modifying project-config.jam after running bootstrapping.sh. Obviously you might have a different version and location, but here's what i added: using python : 3.5 : /home/**myname**/local/bin/python3 : /home/**myname**/local/include/python3.5m : /home/**myname**/local/lib ; When I uninstalled and purged libboost*, I also removed libsdl2-dev. So I also needed to sudo apt-get install libsdl2-dev.

I was able to get doom-py installed after this with simply pip3 install doom-py.

hardmaru commented 5 years ago

Thanks so much for the detailed instructions! Very helpful

On Thu, Jan 17, 2019 at 1:19 PM Xiao Zeng notifications@github.com wrote:

I got doom-py to install, and now I am able to run ppaquette-gym-doom, up to the data generation part of this repo. Here's the errors I encountered and what I did:

Environment: Ubuntu 18.04, python3.5, gym 9.4 (a must). Error 1: cerr not defined in std

modify corresponding file in vizdoom to add import iostream QupZilla/qupzilla#1122 https://github.com/QupZilla/qupzilla/issues/1122 the file might be in pip's cache and removed after. so you might need doom-py from source. but if you already have the proper version of vizdoom you can pip install doom-py later. Error 2: freedoom-0.10.1.zip End-of-central-directory signature not found.

download freedoom manually mwydmuch/ViZDoom#184 (comment) https://github.com/mwydmuch/ViZDoom/issues/184#issuecomment-291899781 Error 3: libboost (I'm grouping it all together)

My Ubuntu comes with libboost 1.65.1, which removed boost::python::numeric (thanks to rdkit/rdkit#1581 https://github.com/rdkit/rdkit/issues/1581). The solution that worked for me is to remove it and install 1.64.0 from source: sudo apt remove --purge libboost* This will remove all the libraries attached to libboost as well, which came relavant later. Make sure you purged it clean with dpkg -l | grep boost and locate libboost, because if not, cmake might later find that and complain. Now to download, build and install libboost 1.64 from source. The rough process is in one of the answers https://stackoverflow.com/questions/12578499/how-to-install-boost-on-ubuntu There's two problem with the process there:

  1. Do not install libboost-all-dev with apt.
  2. Need to enable python by modifying project-config.jam after running bootstrapping.sh. Obviously you might have a different version and location, but here's what i added: using python : 3.5 : /home/myname/local/bin/python3 : /home/myname/local/include/python3.5m : /home/myname/local/lib ;

I was able to get doom-py installed after this with simply pip3 install doom-py.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/hardmaru/WorldModelsExperiments/issues/12#issuecomment-455037044, or mute the thread https://github.com/notifications/unsubscribe-auth/AGBoHqAmcmcuNQBAXIkceYaO7-D0j1gDks5vD_m-gaJpZM4ZfT0a .

Chazzz commented 5 years ago

I followed @zuoanqh instructions to build libboost manually and install all dependencies, but now it segfaults on run-time D:

Output

python3 model.py doomreal render log/doomrnn.cma.16.64.best.json
filename log/doomrnn.cma.16.64.best.json
model size 1088
making real doom environment
Segmentation fault (core dumped)
xiaoschannel commented 5 years ago

wow, hmm, I get segfault at the end of training but not the beginning. could you isolate the problem?

i wonder, is it world model or doomtakecover. I also had no luck with "render", it just freezes. so that could also be a problem. I have been working with "norender" (got VAE to train).

if the problem is not with doomtakecover, it could be yet another issue with the repo I guess. could you just try something like create a gym env, reset and act? does that work?

On Jan 20, 2019 03:41, Chazzz notifications@github.com wrote:

I followed @zuoanqhhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fzuoanqh&data=02%7C01%7C%7C3d0d283b066d478d7cb008d67e3db75e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636835200859119633&sdata=VRMvxjCoxdFk2VJsYbDWEoF2E3nFLnjFCSp9UGVHgxU%3D&reserved=0 instructions to build libboost manually and install all dependencies, but now it segfaults on run-time D:

Output

python3 model.py doomreal render log/doomrnn.cma.16.64.best.json filename log/doomrnn.cma.16.64.best.json model size 1088 making real doom environment Segmentation fault (core dumped)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhardmaru%2FWorldModelsExperiments%2Fissues%2F12%23issuecomment-455804812&data=02%7C01%7C%7C3d0d283b066d478d7cb008d67e3db75e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636835200859119633&sdata=3A%2Fq7hmBYdri0rk5Mq98Q%2BOSVp5Lod39SeY4QLr%2B%2Bbo%3D&reserved=0, or mute the threadhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAH-F-pNQtx0AmsUDAnAmVqTpAIIE-KpFks5vE2bVgaJpZM4ZfT0a&data=02%7C01%7C%7C3d0d283b066d478d7cb008d67e3db75e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636835200859119633&sdata=4dvPvMvXtXf5lvRVT6Da5viGGuTJf9vgCeDepBf5m5I%3D&reserved=0.

Chazzz commented 5 years ago

@zuoanqh I appreciate the help and would debug this issue further but something in the install process made my system go busto (don't worry I back up everything). Still I'm not super keen on reproducing the issue at the moment. Personally my priority is getting the model to run using atari_py, which offers a lot of benefits over the gyms chosen by the authors, including easy installation.