Cannot use otbtf TFrecords without gdal
When on a system without gdal, the following fails:
from otbtf.tfrecords import TFRecords # import otbtf.tfrecords.TFRecords # this also fails
raceback (most recent call last): File "<stdin>", line 1, in <module> File "/linkhome/rech/gentet01/ube33sw/otbtf/otbtf/__init__.py", line 24, in <module> from otbtf.dataset import Buffer, PatchesReaderBase, PatchesImagesReader, IteratorBase, RandomIterator, Dataset, \ File "/linkhome/rech/gentet01/ube33sw/otbtf/otbtf/dataset.py", line 30, in <module> from otbtf.utils import read_as_np_arr, gdal_open File "/linkhome/rech/gentet01/ube33sw/otbtf/otbtf/utils.py", line 23, in <module> from osgeo import gdal ModuleNotFoundError: No module named 'osgeo'
This is because in
__init__.py, there is some pieces of code that rely on gdal:
from utils import read_as_np_arr, gdal_open from otbtf.dataset import ...
To fix this issue, we would need an empty init.py. However, there is a drawback: all functions/classes would be split depending on their file (
tfrecords). Thus, backward comp would break, because stuff like import
otbtf.Dataset would move to