BiomedSciAI / fuse-med-ml

A python framework accelerating ML based discovery in the medical field by encouraging code reuse. Batteries included :)
Apache License 2.0
134 stars 34 forks source link

Python 3.10 incompatibility #58

Closed alex-golts closed 2 years ago

alex-golts commented 2 years ago

Currently fuse is incompatible with Python 3.10.x

for example, I encountered an ImportError: cannot import name 'Iterable' from 'collections' because they changed the structure of the collections module and it needs to be imported as: from collections.abc import Iterable rather than from collections import Iterable

Maybe there are other compatibility issues as well, for now I just reverted back to Python 3.7, but we should solve it sometime...

SagiPolaczek commented 2 years ago

I'm attaching the relevant source in the documentation here for further use. Also I think we won't be able to support python 3.10 until all of our dependencies will..

SagiPolaczek commented 2 years ago

@mosheraboh

I think I'll add this issue to the stack of my tasks. (ISIC is last runs + now finishing DDP). What is your opinion?

btw: Just changed two lines in the code and the mnist example is running OK with python 3.10. Also encountered this PL's issue as a reference.

SagiPolaczek commented 2 years ago

Update:

I ran python ./run_all_unit_tests.py locally (lsf 3 machine) and got the following:

======================================================================
ERROR [601.848s]: test_runner (fuse_examples.tests.test_classification_cmmd.ClassificationMGCmmdTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<fuse_path>/examples/fuse_examples/tests/test_classification_cmmd.py", line 93, in test_runner
    run_in_subprocess(run_cmmd, self.root)
  File "<fuse_path>/fuse/utils/multiprocessing/run_multiprocessed.py", line 327, in run_in_subprocess
    assert p.exitcode == 0, f"process func {f} failed with exit code {p.exitcode}"
AssertionError: process func <function run_cmmd at 0x7f04e534f760> failed with exit code None

----------------------------------------------------------------------
Ran 95 tests in 1836.491s

FAILED (errors=1, skipped=2)

When the test failed on:

Exception: Expected to find a cached sample for sample_id=CMMD/D2-0482/07-18-2010-NA-NA-70749/1.000000-NA-48435/1-4.dcm but could not find any!