Closed IronTessaro closed 9 months ago
Hello Iron,
thank you for interest in our algorithm. Are we speaking about new version (1.5.*) or about the paper-referred one 1.2? Here is a working colab notebook for 1.2: https://colab.research.google.com/drive/1BujSPRKDpIOUXFFxedAk4FgXYv4dBTKs?authuser=0#scrollTo=2Fa0vYfYRNb4 And instructions: https://pypi.org/project/rils-rols/1.2/
Regarding 1.5.*, it is a work in progress, that is why documentation for it is not still on the master branch. But now I have corrected the link, you can see it on pypi.org that it refers to a non-master branch: https://pypi.org/project/rils-rols/ Maybe you should try to run 1.5.5 on local machine, there are some issues with installing it on colab.
Best regards, Aleksandar
The Colab notebook for 1.2 worked fine, thanks! The issue happens when I try just pip install rils-rols, as described in the README file. It seems that the only problem is case-sensitive readme.md file that does not match the line 3 of setup.py file, which calls:
with open("README.md", "r") as fh:
setup.py calls uppercase README but the file is lowercase readme. I was able to perform a pip install . inside of the rils-rols folder by just matching them.
Thank you for the catch. But now I am not sure are you using version 1.5.*, because this version setup.py is a lot different -- it is in this branch: https://github.com/kartelj/rils-rols/blob/binary-classifier-new/setup.py You probably looked at the master: https://github.com/kartelj/rils-rols/blob/master/setup.py
Maybe pypi cached something... Could you please run: pip install rils-rols==1.5.8 on colab and in local environment. When I try it in local, it works fine (win10), but it doesn't work on colab.
Also, one suggestion regarding real-world instances (I suppose you are interested in those). Version 1.2 is slow, so it used training dataset sampling (only 1%), which was enough for artificial instances with known solutions (so called ground-truth instances) salted with a bit of uniform noise. In real-world instances, this sample is not enough, it is better to use the whole training set. With new versions (1.5.*), RILS-ROLS is rewritten to C++ and packed as a Python module (that is why there are some installation issues remaining..). Have a look at this issue https://github.com/kartelj/rils-rols/issues/3 from few days before. There, I posted results of new C++ version on the black-box instances from SRBench, 120 of those. You will see that the results are quite good. For a reference look at the results at SRBench here: https://cavalab.org/srbench/results/ Old version 1.2 cannot reach these solutions: although the internal algorithm is almost the same, using such a large sample (100%) would make it practically unusable for moderate-to-large datasets.
Yes, you are right. Since I can't perform a pip install rils-rols (neither pip install rils-rols==1.5.8) in Colab, I cloned the master repo, renamed readme.md to README.md, and ran pip install .. Without renaming it, I got the same error message as in pip install rils-rols, but maybe they are distinct issues.
Thanks for the support!
The issue is solved, I hope. The problem was in pybind11, although it is mentioned in the setup.py dependencies, it is not recognized for some reason within Colab environment, so I have added explicit installation of this before instalation of rils-rols. (Maybe because pybind11 itself is used within setup.py, so it is referred before it is disclosed as a dependency...)
Here is a working minimal example for version 1.5.10 (default version at the moment): https://colab.research.google.com/drive/1U8I92VTQao9UA9ErBK3VX9AbpIX1LLIv#scrollTo=IdTS8UfmPVVo
Thank you very much, Aleksandar! It works perfectly now.
I tried to install the module in Colab but I got the following error:
Processing /content/rils-rols error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip. Preparing metadata (setup.py) ... error error: metadata-generation-failed
× Encountered error while generating package metadata. ╰─> See above for output.
note: This is an issue with the package mentioned above, not pip. hint: See above for details.
I managed to solve this by changing the "readme.md" file name or inside setup.py to "README.md".