google-research / bleurt

BLEURT is a metric for Natural Language Generation based on transfer learning.
https://arxiv.org/abs/2004.04696
Apache License 2.0
697 stars 85 forks source link

Incompatible dependencies with installing through pip #18

Closed znculee closed 3 years ago

znculee commented 4 years ago

When installing this repo through pip, it raises the following errors.

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

tensorflow 2.3.1 requires numpy<1.19.0,>=1.16.0, but you'll have numpy 1.19.2 which is incompatible.

My workaround is to install an older numpy version beforehand by running pip install numpy==1.18.5.

However, when I run the test, it raises $ python -m unittest bleurt.score_test Illegal instruction (core dumped) from bash.

znculee commented 4 years ago

I've solved this issue by configuring the environment with the follows.

conda create -n bleurt python=3.7 pip ipython
conda install tensorflow-gpu=1.15
pip install -e . # (cd to bleurt beforehand)

Then, the test should be successful.

$ python -m unittest bleurt.score_test
2020-10-02 10:56:58.512430: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2020-10-02 10:56:58.523681: E tensorflow/stream_executor/cuda/cuda_driver.cc:318] failed call to cuInit: CUDA_ERROR_UNKNOWN: unknown error
2020-10-02 10:56:58.523736: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (unity-1.asc.ohio-state.edu): /proc/driver/nvidia/version does not exist
2020-10-02 10:56:58.524243: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2
2020-10-02 10:56:58.537890: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2659985000 Hz
2020-10-02 10:56:58.539291: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x559a5cdc56b0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-10-02 10:56:58.539317: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
WARNING:tensorflow:From /home/li.11046/miniconda3/envs/bleurt/lib/python3.7/site-packages/tensorflow_core/python/ops/resource_variable_ops.py:1781: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.
....s.
----------------------------------------------------------------------
Ran 6 tests in 4.464s

OK (skipped=1)

Thanks for this great work! I suggest you to ehhance the README as above for easy configuration to use.

tsellam commented 3 years ago

Hi, Thanks a lot for your input. I actually changed the setup.py file and the dependencies. Is this still an issue?

znculee commented 3 years ago

Thanks, @tsellam. I think this won't be an issue.