tabnet-modified icon indicating copy to clipboard operation
tabnet-modified copied to clipboard

Unable to execute run.sh (package incompatibilities?)

Open francescosaracco opened this issue 3 years ago • 2 comments

Hi @ptuls! First of all, thanks for your interesting work! I got here from your Medium article, which I found very clear and appealing. I tried to reproduce the training and testing on the Covertype dataset as explained in the README, but I got into some problems, which I suppose are due to package incompatibilities (note: I'm running the code on a Google Colab instance). In fact, when running run.sh I get the following error:

ERROR: Cannot install -r requirements.txt (line 1) and numpy==1.15.1 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested numpy==1.15.1
    tensorflow-gpu 1.15.4 depends on numpy<1.19.0 and >=1.16.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

I tried to solve the incompatibility with the closest numpy version possible, namely 1.16.0, but its installations causes a lot more incompatibilities:

ERROR: xarray 0.18.2 has requirement numpy>=1.17, but you'll have numpy 1.16.0 which is incompatible.
ERROR: tensorflow 2.5.0 has requirement gast==0.4.0, but you'll have gast 0.2.2 which is incompatible.
ERROR: tensorflow 2.5.0 has requirement numpy~=1.19.2, but you'll have numpy 1.16.0 which is incompatible.
ERROR: tensorflow 2.5.0 has requirement tensorboard~=2.5, but you'll have tensorboard 1.15.0 which is incompatible.
ERROR: tensorflow 2.5.0 has requirement tensorflow-estimator<2.6.0,>=2.5.0rc0, but you'll have tensorflow-estimator 1.15.1 which is incompatible.
ERROR: tensorflow-probability 0.12.1 has requirement gast>=0.3.2, but you'll have gast 0.2.2 which is incompatible.
ERROR: pyerfa 2.0.0 has requirement numpy>=1.17, but you'll have numpy 1.16.0 which is incompatible.
ERROR: pyarrow 3.0.0 has requirement numpy>=1.16.6, but you'll have numpy 1.16.0 which is incompatible.
ERROR: kapre 0.3.5 has requirement numpy>=1.18.5, but you'll have numpy 1.16.0 which is incompatible.
ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.
ERROR: astropy 4.2.1 has requirement numpy>=1.17, but you'll have numpy 1.16.0 which is incompatible.
ERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.

Nevertheless, when executing <train_classifier.py> the error I get is related to a utility function:

Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/gdrive/My Drive/tabnetModified/tabnet-modified/train_classifier.py", line 176, in <module>
    app.run(main)
  File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "/gdrive/My Drive/tabnetModified/tabnet-modified/train_classifier.py", line 38, in main
    INT_COLUMNS, BOOL_COLUMNS, FLOAT_COLUMNS, STR_COLUMNS)
TypeError: get_columns() missing 1 required positional argument: 'str_columns'

Forgive me for the wall of text, I tried to be as complete as possible in the problem description. Maybe I'm doing something wrong, in which case I ask if you could kindly give me a hint.

Thank you!

francescosaracco avatar Jun 09 '21 09:06 francescosaracco

Hi there, thanks for the kind words.

It seems in the second set of logs you've posted, there's a dependency on TensorFlow 2.5.0. I'm a little confused about this. I should note that the code here is not TensorFlow 2 compatible unfortunately.

As for the missing argument issue, I've put in a fix. I accidentally omitted an argument, thank you for flagging.

ptuls avatar Jun 12 '21 12:06 ptuls

I've made some new changes based on feedback from someone else. Try fetching and running it again.

ptuls avatar Jul 10 '21 09:07 ptuls