Spaces:
Runtime error
Runtime error
File size: 1,396 Bytes
34fb220 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# SRC: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/models/__init__.py
import logging
import importlib
from .abs_model import abs_model
def find_model_using_name(model_name):
"""Import the module "models/[model_name].py".
In the file, the class called DatasetNameModel() will
be instantiated. It has to be a subclass of BaseModel,
and it is case-insensitive.
"""
model_filename = "models." + model_name
modellib = importlib.import_module(model_filename)
model = None
target_model_name = model_name
for name, cls in modellib.__dict__.items():
if name.lower() == target_model_name.lower() \
and issubclass(cls, abs_model):
model = cls
if model is None:
err = "In %s.py, there should be a subclass of BaseModel with class name that matches %s in lowercase." % (model_filename, target_model_name)
logging.error(err)
exit(0)
return model
def create_model(opt):
"""Create a model given the option.
This funct
This is the main interface between this package and 'train.py'/'test.py'
Example:
>>> from models import create_model
>>> model = create_model(opt)
"""
model = find_model_using_name(opt['model']['name'])
instance = model(opt)
logging.info("model [%s] was created" % type(instance).__name__)
return instance
|