safe_learning icon indicating copy to clipboard operation
safe_learning copied to clipboard

Problem while installing the requirments.txt

Open pratyusv opened this issue 6 years ago • 4 comments

I am trying to install the package with pip version 19.0.2. It seems that gpflow==0.4.0 can not be installed by this pip. I have tried using pip 8.1.1 also where it says matplotlib is unable to install. Is there any pip version in between for which I can install both gpflow==0.4.0 as well as matplotlib.

pratyusv avatar Feb 19 '19 13:02 pratyusv

see #4

mathildebadoual avatar Feb 19 '19 20:02 mathildebadoual

Thanks @mathildebadoual . The installation is successful by the changes you suggested. But the code in the examples still uses the 'gpr' of the gpflow. If I replace it with models then it throws an error about the

'GPR' object has no attribute 'make_tf_array' File: examples/inverted_pendulum.ipynb Cell 8 of the notebook.

I am using virtualenv with config: gpflow==1.3.0 tensorflow==1.12.0

pratyusv avatar Feb 20 '19 11:02 pratyusv

Pip 19+ removed the ability to process dependency links. This is required for this library, since gpflow 0.4 is (not available on pypi)[https://pypi.org/project/gpflow/#history]. Unfortunately gpflow >= 1.0 has quite a few breaking changes. In particular they started using their own version of a model class. If you want to use pip >= 19 you will have to manually install gpflow from the gpflow 0.4 repository

Installing the library is actually possible. The automated tests run weekly and are based on installing the library from scratch. I had to constraint dependencies more and more over time, as these tests started failing. The commands are documented in the Dockerfiles (py2.7, py3.5). I'll add the instructions to the readme file asap.

pip install pip==18.1
pip install numpy==1.14.5
pip install -e .[test] --process-dependency-links

Overall this library is starting to show its age at this point and I've actually gone through quite a bit of effort to ensure the code can still be run (all the recent commits are fixing breaking changes in dependencies). I would recommend running the jupyter notebooks I've provided and looking at the code. However, if you want to build on top of this library it might be worth it to spend some time updating the library to use modern technologies - either tensorflow 2 / keras or even reimplement everything in pytorch. There are also quite a few easy performance gains to be had all over the code if you're planning to do anything more serious.

If you want to go this route I'm more than happy to review and accept pull requests. Also if you have any more questions about the library / are still encountering installation issues I can help with that too.

Cheers, Felix

befelix avatar Feb 20 '19 20:02 befelix

Thank you for the clarification! I am working on a similar project and was curious to compare my results to yours, so I do not need a perfect version of this library.

mathildebadoual avatar Feb 20 '19 20:02 mathildebadoual