Skip to content
Snippets Groups Projects
Commit 72ad1a80 authored by leufen1's avatar leufen1
Browse files

naming works now for partial too

parent 63aed15e
No related branches found
No related tags found
5 merge requests!430update recent developments,!413update release branch,!412Resolve "release v2.0.0",!408naming works now for partial too,!403Resolve "prepare CNN class for filter benchmarking"
Pipeline #94846 passed
......@@ -74,10 +74,13 @@ class BranchedInputCNN(CNNfromConfig): # pragma: no cover
@staticmethod
def _get_layer_name(layer: keras.layers, layer_kwargs: Union[dict, None], pos: int, branch: int = None):
if isinstance(layer, partial):
name = layer.args[0] if layer.func.__name__ == "Activation" else layer.func.__name__
else:
name = layer.__name__
if "Conv" in layer.__name__ and isinstance(layer_kwargs, dict) and "kernel_size" in layer_kwargs:
if "Conv" in name and isinstance(layer_kwargs, dict) and "kernel_size" in layer_kwargs:
name = name + "_" + "x".join(map(str, layer_kwargs["kernel_size"]))
if "Pooling" in layer.__name__ and isinstance(layer_kwargs, dict) and "pool_size" in layer_kwargs:
if "Pooling" in name and isinstance(layer_kwargs, dict) and "pool_size" in layer_kwargs:
name = name + "_" + "x".join(map(str, layer_kwargs["pool_size"]))
if branch is not None:
name += f"_branch{branch + 1}"
......
......@@ -17,7 +17,7 @@ class CNNfromConfig(AbstractModelClass):
"sigmoid": partial(keras.layers.Activation, "sigmoid"),
"linear": partial(keras.layers.Activation, "linear"),
"prelu": partial(keras.layers.PReLU, alpha_initializer=keras.initializers.constant(value=0.25)),
"leakyrelu": partial(keras.layers.LeakyReLU)}
"leakyrelu": keras.layers.LeakyReLU}
_initializer = {"tanh": "glorot_uniform", "sigmoid": "glorot_uniform", "linear": "glorot_uniform",
"relu": keras.initializers.he_normal(), "prelu": keras.initializers.he_normal()}
_optimizer = {"adam": keras.optimizers.Adam, "sgd": keras.optimizers.SGD}
......@@ -99,10 +99,13 @@ class CNNfromConfig(AbstractModelClass):
@staticmethod
def _get_layer_name(layer: keras.layers, layer_kwargs: Union[dict, None], pos: int, *args):
if isinstance(layer, partial):
name = layer.args[0] if layer.func.__name__ == "Activation" else layer.func.__name__
else:
name = layer.__name__
if "Conv" in layer.__name__ and isinstance(layer_kwargs, dict) and "kernel_size" in layer_kwargs:
if "Conv" in name and isinstance(layer_kwargs, dict) and "kernel_size" in layer_kwargs:
name = name + "_" + "x".join(map(str, layer_kwargs["kernel_size"]))
if "Pooling" in layer.__name__ and isinstance(layer_kwargs, dict) and "pool_size" in layer_kwargs:
if "Pooling" in name and isinstance(layer_kwargs, dict) and "pool_size" in layer_kwargs:
name = name + "_" + "x".join(map(str, layer_kwargs["pool_size"]))
name += f"_{pos + 1}"
return name
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment