28 lines
721 B
Python
28 lines
721 B
Python
import importlib
|
|
|
|
|
|
class Backends:
|
|
TORCH = "torch"
|
|
NUMPY = "numpy"
|
|
CV2 = "cv2"
|
|
PIL = "PIL"
|
|
REMBG = "rembg"
|
|
GIT = "git"
|
|
|
|
def __init__(self, logger):
|
|
self.__logger = logger
|
|
self.__backends = [Backends.TORCH, Backends.NUMPY, Backends.CV2, Backends.PIL, Backends.REMBG, Backends.GIT]
|
|
|
|
def initiate(self):
|
|
dependencies = {}
|
|
|
|
for backend in self.__backends:
|
|
try:
|
|
importlib.import_module(backend)
|
|
dependencies[backend] = True
|
|
except ImportError:
|
|
self.__logger.error(f"Loading {backend} library ended with an error.")
|
|
dependencies[backend] = False
|
|
|
|
return dependencies
|