{"module": "keras.src.models.functional", "class_name": "Functional", "config": {"name": "auramask-v2", "trainable": true, "layers": [{"module": "keras.layers", "class_name": "InputLayer", "config": {"batch_shape": [null, 224, 224, 3], "dtype": "float32", "sparse": false, "ragged": false, "name": "AuraMask_input"}, "registered_name": null, "name": "AuraMask_input", "inbound_nodes": []}, {"module": "keras.layers", "class_name": "Rescaling", "config": {"name": "rescaling_1", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "scale": 2, "offset": -1}, "registered_name": null, "build_config": {"input_shape": [null, 224, 224, 3]}, "name": "rescaling_1", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["AuraMask_input", 0, 0]}}], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2D", "config": {"name": "reface_down_0", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 16, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "relu", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2D", "build_config": {"input_shape": [null, 224, 224, 3]}, "name": "reface_down_0", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["rescaling_1", 0, 0]}}], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2D", "config": {"name": "reface_down_1", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 32, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "relu", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2D", "build_config": {"input_shape": [null, 224, 224, 16]}, "name": "reface_down_1", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 16], "dtype": "float32", "keras_history": ["reface_down_0", 0, 0]}}], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2D", "config": {"name": "reface_down_2", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 64, "basic_block_count": 2, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "relu", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2D", "build_config": {"input_shape": [null, 224, 224, 32]}, "name": "reface_down_2", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 32], "dtype": "float32", "keras_history": ["reface_down_1", 0, 0]}}], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2D", "config": {"name": "reface_down_3", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 128, "basic_block_count": 3, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "relu", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2D", "build_config": {"input_shape": [null, 224, 224, 64]}, "name": "reface_down_3", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 64], "dtype": "float32", "keras_history": ["reface_down_2", 0, 0]}}], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2D", "config": {"name": "reface_down_4", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 128, "basic_block_count": 5, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "relu", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2D", "build_config": {"input_shape": [null, 224, 224, 128]}, "name": "reface_down_4", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 128], "dtype": "float32", "keras_history": ["reface_down_3", 0, 0]}}], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2DTranspose", "config": {"name": "reface_up_0", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 128, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2DTranspose", "build_config": {"input_shape": [null, 224, 224, 128]}, "name": "reface_up_0", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 128], "dtype": "float32", "keras_history": ["reface_down_4", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.layers", "class_name": "Concatenate", "config": {"name": "reface_up_0_concat", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": 3}, "registered_name": null, "build_config": {"input_shape": [[null, 224, 224, 128], [null, 224, 224, 128]]}, "name": "reface_up_0_concat", "inbound_nodes": [{"args": [[{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 128], "dtype": "float32", "keras_history": ["reface_up_0", 0, 0]}}, {"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 128], "dtype": "float32", "keras_history": ["reface_down_3", 0, 0]}}]], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2DTranspose", "config": {"name": "reface_up_1", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 128, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2DTranspose", "build_config": {"input_shape": [null, 224, 224, 256]}, "name": "reface_up_1", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 256], "dtype": "float32", "keras_history": ["reface_up_0_concat", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.layers", "class_name": "Concatenate", "config": {"name": "reface_up_1_concat", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": 3}, "registered_name": null, "build_config": {"input_shape": [[null, 224, 224, 128], [null, 224, 224, 64]]}, "name": "reface_up_1_concat", "inbound_nodes": [{"args": [[{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 128], "dtype": "float32", "keras_history": ["reface_up_1", 0, 0]}}, {"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 64], "dtype": "float32", "keras_history": ["reface_down_2", 0, 0]}}]], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2DTranspose", "config": {"name": "reface_up_2", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 64, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2DTranspose", "build_config": {"input_shape": [null, 224, 224, 192]}, "name": "reface_up_2", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 192], "dtype": "float32", "keras_history": ["reface_up_1_concat", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.layers", "class_name": "Concatenate", "config": {"name": "reface_up_2_concat", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": 3}, "registered_name": null, "build_config": {"input_shape": [[null, 224, 224, 64], [null, 224, 224, 32]]}, "name": "reface_up_2_concat", "inbound_nodes": [{"args": [[{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 64], "dtype": "float32", "keras_history": ["reface_up_2", 0, 0]}}, {"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 32], "dtype": "float32", "keras_history": ["reface_down_1", 0, 0]}}]], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2DTranspose", "config": {"name": "reface_up_3", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 32, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2DTranspose", "build_config": {"input_shape": [null, 224, 224, 96]}, "name": "reface_up_3", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 96], "dtype": "float32", "keras_history": ["reface_up_2_concat", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.layers", "class_name": "Concatenate", "config": {"name": "reface_up_3_concat", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": 3}, "registered_name": null, "build_config": {"input_shape": [[null, 224, 224, 32], [null, 224, 224, 16]]}, "name": "reface_up_3_concat", "inbound_nodes": [{"args": [[{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 32], "dtype": "float32", "keras_history": ["reface_up_3", 0, 0]}}, {"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 16], "dtype": "float32", "keras_history": ["reface_down_0", 0, 0]}}]], "kwargs": {}}]}, {"module": "auramask.layers.ResBlock", "class_name": "ResBlock2DTranspose", "config": {"name": "reface_up_4", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 16, "basic_block_count": 1, "basic_block_depth": 2, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": "auramask.layers.ResBlock>ResBlock2DTranspose", "build_config": {"input_shape": [null, 224, 224, 48]}, "name": "reface_up_4", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 48], "dtype": "float32", "keras_history": ["reface_up_3_concat", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.layers", "class_name": "Conv2D", "config": {"name": "reface_out_conv", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "filters": 3, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": {"module": "keras.regularizers", "class_name": "L2", "config": {"l2": 0.01}, "registered_name": null}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "registered_name": null, "build_config": {"input_shape": [null, 224, 224, 16]}, "name": "reface_out_conv", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 16], "dtype": "float32", "keras_history": ["reface_up_4", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.layers", "class_name": "Activation", "config": {"name": "activation", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "activation": "linear"}, "registered_name": null, "name": "activation", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["reface_out_conv", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.src.ops.numpy", "class_name": "Multiply", "config": {"name": "multiply"}, "registered_name": "Multiply", "name": "multiply", "inbound_nodes": [{"args": [0.03, {"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["activation", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.src.ops.numpy", "class_name": "Add", "config": {"name": "add"}, "registered_name": "Add", "name": "add", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["multiply", 0, 0]}}, {"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["AuraMask_input", 0, 0]}}], "kwargs": {}}]}, {"module": "keras.src.ops.numpy", "class_name": "Clip", "config": {"name": "clip", "x_max": 1, "x_min": 0}, "registered_name": "Clip", "name": "clip", "inbound_nodes": [{"args": [{"class_name": "__keras_tensor__", "config": {"shape": [null, 224, 224, 3], "dtype": "float32", "keras_history": ["add", 0, 0]}}], "kwargs": {}}]}], "input_layers": ["AuraMask_input", 0, 0], "output_layers": [["clip", 0, 0], ["multiply", 0, 0]]}, "registered_name": "Functional", "build_config": {"input_shape": null}, "compile_config": {}}