I second the request. for a different reason.
Im working on automl. Ensembling different model types. I have a master function that tests different models, often without changing the args, but I do pass **kwargs to all of them.
the model functions (e.g. resnet18()) contain **kwargs, but the base classes (eg ResNet() do not. adding **kwargs to the init() of the base model classes would allow me not to have to resort to either (cloning the models folder and changing it myself) or this horrendous hack
# I pass model_name,  pretrained, num_classes and **kwargs to all
# e.g.
_model_check = models.__dict__[model_name](pretrained=pretrained, num_classes=num_classes)
_args = models.__dict__[_model_check.__class__.__name__].__init__.__code__.co_varnames
_kwargs = {k:kwargs[k] for k in kwargs if k in _args}
self.model = models.__dict__[model_name](pretrained=pretrained, num_classes=num_classes, **_kwargs).to(device=self.device)