tabnet-modified
tabnet-modified copied to clipboard
Unable to execute run.sh (package incompatibilities?)
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!
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.
I've made some new changes based on feedback from someone else. Try fetching and running it again.