diff --git a/keras_applications/__init__.py b/keras_applications/__init__.py index 1241b40..9f706eb 100644 --- a/keras_applications/__init__.py +++ b/keras_applications/__init__.py @@ -11,7 +11,12 @@ _KERAS_UTILS = None -def set_keras_submodules(backend, engine, layers, models, utils): +def set_keras_submodules(backend=None, + engine=None, + layers=None, + models=None, + utils=None): + # TODO: remove `engine` argument after release of Keras 2.2.1. global _KERAS_BACKEND global _KERAS_ENGINE global _KERAS_LAYERS diff --git a/keras_applications/densenet.py b/keras_applications/densenet.py index ca0c7f6..114078a 100644 --- a/keras_applications/densenet.py +++ b/keras_applications/densenet.py @@ -231,7 +231,11 @@ def DenseNet(blocks, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input diff --git a/keras_applications/inception_resnet_v2.py b/keras_applications/inception_resnet_v2.py index e442c22..c67b6d3 100644 --- a/keras_applications/inception_resnet_v2.py +++ b/keras_applications/inception_resnet_v2.py @@ -335,7 +335,11 @@ def InceptionResNetV2(include_top=True, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input diff --git a/keras_applications/inception_v3.py b/keras_applications/inception_v3.py index 550d629..ae39d75 100644 --- a/keras_applications/inception_v3.py +++ b/keras_applications/inception_v3.py @@ -366,7 +366,11 @@ def InceptionV3(include_top=True, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input # Create model. diff --git a/keras_applications/mobilenet.py b/keras_applications/mobilenet.py index 9513dbb..fb196f7 100644 --- a/keras_applications/mobilenet.py +++ b/keras_applications/mobilenet.py @@ -282,7 +282,11 @@ def MobileNet(input_shape=None, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input diff --git a/keras_applications/mobilenet_v2.py b/keras_applications/mobilenet_v2.py index 6cdef09..bb2e52d 100644 --- a/keras_applications/mobilenet_v2.py +++ b/keras_applications/mobilenet_v2.py @@ -92,6 +92,11 @@ from .imagenet_utils import decode_predictions from .imagenet_utils import _obtain_input_shape +if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs +else: + get_source_inputs = engine.get_source_inputs + # TODO Change path to v1.1 BASE_WEIGHT_PATH = ('https://github.com/JonathanCMitchell/mobilenet_v2_keras/' 'releases/download/v1.1/') @@ -213,7 +218,7 @@ def MobileNetV2(input_shape=None, except ValueError: try: is_input_t_tensor = backend.is_keras_tensor( - engine.get_source_inputs(input_tensor)) + get_source_inputs(input_tensor)) except ValueError: raise ValueError('input_tensor: ', input_tensor, 'is not type input_tensor') @@ -417,7 +422,7 @@ def MobileNetV2(input_shape=None, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + inputs = get_source_inputs(input_tensor) else: inputs = img_input diff --git a/keras_applications/nasnet.py b/keras_applications/nasnet.py index 0c84117..79389cc 100644 --- a/keras_applications/nasnet.py +++ b/keras_applications/nasnet.py @@ -247,7 +247,11 @@ def NASNet(input_shape=None, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input diff --git a/keras_applications/resnet50.py b/keras_applications/resnet50.py index ff5f8ca..6f04342 100644 --- a/keras_applications/resnet50.py +++ b/keras_applications/resnet50.py @@ -266,7 +266,11 @@ def ResNet50(include_top=True, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input # Create model. diff --git a/keras_applications/vgg16.py b/keras_applications/vgg16.py index 4764fd8..41d6b1f 100644 --- a/keras_applications/vgg16.py +++ b/keras_applications/vgg16.py @@ -191,7 +191,11 @@ def VGG16(include_top=True, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input # Create model. diff --git a/keras_applications/vgg19.py b/keras_applications/vgg19.py index 7f0be90..890de72 100644 --- a/keras_applications/vgg19.py +++ b/keras_applications/vgg19.py @@ -203,7 +203,11 @@ def VGG19(include_top=True, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input # Create model. diff --git a/keras_applications/xception.py b/keras_applications/xception.py index 2f2c7a1..fd39641 100644 --- a/keras_applications/xception.py +++ b/keras_applications/xception.py @@ -295,7 +295,11 @@ def Xception(include_top=True, # Ensure that the model takes into account # any potential predecessors of `input_tensor`. if input_tensor is not None: - inputs = engine.get_source_inputs(input_tensor) + if hasattr(keras_utils, 'get_source_inputs'): + get_source_inputs = keras_utils.get_source_inputs + else: + get_source_inputs = engine.get_source_inputs + inputs = get_source_inputs(input_tensor) else: inputs = img_input # Create model.