INNER CODE UNIT · Python
layer_specific_args
apple/ml-cvnets · cvnets/layers/__init__.py:78
def layer_specific_args(parser: argparse.ArgumentParser):
layer_dir = os.path.dirname(__file__)
parsed_layers = []
for file in os.listdir(layer_dir):
path = os.path.join(layer_dir, file)
if (
not file.startswith("_")
and not file.startswith(".")
and (file.endswith(".py") or os.path.isdir(path))
):
layer_name = file[: file.find(".py")] if file.endswith(".py") else file
module = importlib.import_module("cvnets.layers." + layer_name)
for name, cls in inspect.getmembers(module, inspect.isclass):
if issubclass(cls, BaseLayer) and name not in parsed_layers:
parser = cls.add_arguments(parser)
parsed_layers.append(name)
return parser