Error with G-block and shared layers

If training is failing to start, and you are not receiving an error message telling you what to do, tell us about it here


Forum rules

Read the FAQs and search the forum before posting a new topic.

This forum is for reporting errors with the Training process. If you want to get tips, or better understand the Training process, then you should look in the Training Discussion forum.

Please mark any answers that fixed your problems so others can find the solutions.

Post Reply
User avatar
DeliciousCaramels
Posts: 3
Joined: Wed Mar 05, 2025 7:57 am

Error with G-block and shared layers

Post by DeliciousCaramels »

Hello all!
Mostly the forums have been very helpful and after a few iterations of playing swapping faces I am getting the hang of it. However, I am wanting to try to pull more detail out and thus would like to try using Gblock and Fully connected, split layers.

I am getting errors when trying to create models with either or both of these enabled.

I have reinstalled and checked all of my versions; the installer installed Tensorflow 2.10.1 . It could not install cudatoolkit 11.2 or cudnn8.1 via pip or conda, so I have manually installed these.
(it might be helpful to let people know the maximum supported versions? There seems some confusion as to which versions of which will work etc.)

I'm running an rtx3070 with 8gb of ram. Driver version is 565.90 with cuda version 12.7.

The model is Phaze-A, I'm using clipv 16-64 with an input size of 256. I was scaling it to 114 encoder scaling but that caused errors in loading weights. I still get the error if I don't load the weights at all.

The error I get when I enable Gblock is

Code: Select all

03/05/2025 19:10:42 MainProcess     MainThread                     settings        __init__                       INFO     Enabling Mixed Precision Training.
03/05/2025 19:10:42 MainProcess     MainThread                     settings        _get_strategy                  DEBUG    Using strategy: <tensorflow.python.distribute.distribute_lib._DefaultDistributionStrategy object at 0x000001D1E78665F0>
03/05/2025 19:10:42 MainProcess     MainThread                     settings        __init__                       DEBUG    Initialized Settings
03/05/2025 19:10:42 MainProcess     MainThread                     settings        __init__                       DEBUG    Initializing Loss: (color_order: bgr)
03/05/2025 19:10:42 MainProcess     MainThread                     settings        _get_mask_channels             DEBUG    uses_masks: (True, True, True), mask_channels: [3, 4, 5]
03/05/2025 19:10:42 MainProcess     MainThread                     settings        __init__                       DEBUG    Initialized: Loss
03/05/2025 19:10:42 MainProcess     MainThread                     model           __init__                       DEBUG    Initialized ModelBase (Model)
03/05/2025 19:10:42 MainProcess     MainThread                     phaze_a         _get_input_shape               DEBUG    Encoder input set to: (224, 224, 3)
03/05/2025 19:10:42 MainProcess     MainThread                     phaze_a         build                          DEBUG    New model, inference or summary. Falling back to default build: (exists: False, inference: False, is_summary: True)
03/05/2025 19:10:42 MainProcess     MainThread                     settings        strategy_scope                 DEBUG    Using strategy scope: <tensorflow.python.distribute.distribute_lib._DefaultDistributionContext object at 0x000001D1E751BE00>
03/05/2025 19:10:42 MainProcess     MainThread                     model           _get_inputs                    DEBUG    Getting inputs
03/05/2025 19:10:42 MainProcess     MainThread                     model           _get_inputs                    DEBUG    inputs: [<KerasTensor: shape=(None, 224, 224, 3) dtype=float32 (created by layer 'face_in_a')>, <KerasTensor: shape=(None, 224, 224, 3) dtype=float32 (created by layer 'face_in_b')>]
03/05/2025 19:10:42 MainProcess     MainThread                     phaze_a         __call__                       DEBUG    Scaling to (0, 1) for 'clipv_farl-b-16-64'
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __init__                       DEBUG    Initializing: ViT (name: FaRL-B-16-64, input_size: 224, load_weights: True)
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __init__                       DEBUG    Initializing: VisualTransformer (input_resolution: 224, patch_size: 16, width: 768, layers: 12, heads: 12, output_dim: 512, name: visual)
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __init__                       DEBUG    Initialized: VisualTransformer
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __init__                       DEBUG    Initialized: ViT
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __init__                       DEBUG    Initializing: Transformer (width: 768, num_layers: 12, heads: 12, attn_mask: None, name: visual.transformer)
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __init__                       DEBUG    Initialized: Transformer
03/05/2025 19:10:42 MainProcess     MainThread                     clip            __call__                       DEBUG    Calling Transformer with input: (None, 197, 768)
03/05/2025 19:10:42 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.0
03/05/2025 19:10:42 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.1
03/05/2025 19:10:42 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.2
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.3
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.4
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.5
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.6
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.7
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.8
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.9
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.10
03/05/2025 19:10:43 MainProcess     MainThread                     clip            _get_name                      DEBUG    Generating block name: visual.transformer.resblocks.11
03/05/2025 19:10:43 MainProcess     MainThread                     utils           _get                           DEBUG    Model exists: D:\faceswap\.fs_cache\CLIPv_FaRL-B-16-64_v1.h5
03/05/2025 19:10:43 MainProcess     MainThread                     clip            __call__                       INFO     Loading CLIPv trained weights for 'FaRL-B-16-64'
03/05/2025 19:10:43 MainProcess     MainThread                     attrs           __getitem__                    DEBUG    Creating converter from 3 to 5
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _build_encoders                DEBUG    Encoders: {'a': <KerasTensor: shape=(None, 512) dtype=float16 (created by layer 'encoder')>, 'b': <KerasTensor: shape=(None, 512) dtype=float16 (created by layer 'encoder')>}
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initializing: FullyConnected (side: both, input_shape: (512,))
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initialized: FullyConnected (side: both, min_nodes: 512, max_nodes: 512)
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Obtaining curve: (start_y: 512, end_y: 512, num_points: 1, scale: 0.0, mode: full)
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Returning curve: [512]
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 128, scaled_filters: 128
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_128_0
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_0. filters: 128, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_0_conv2d, filters: 512, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x000001D209771C30>)
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x000001D209772200>
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 512, 128]
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 128, filters: 512, size: 6, dtype: float32
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (512, 6, 6, 128), Output shape: (512, 3, 3, 512)
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 512, 512)
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_128_1
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_1. filters: 128, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_1_conv2d, filters: 512, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x000001D2097B6800>)
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x000001D2097B57B0>
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 128]
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 128, filters: 128, size: 6, dtype: float32
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 128), Output shape: (128, 3, 3, 512)
03/05/2025 19:10:45 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 512)
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initializing: UpscaleBlocks (side: both, layer_indicies: (0, 1))
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initialized: UpscaleBlocks
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 4, new_dim: 4
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 4, new_dim: 4
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Obtaining curve: (start_y: 512, end_y: 16, num_points: 6, scale: 0.5, mode: cap_max)
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Returning curve: [512, 256, 128, 64, 32, 16]
03/05/2025 19:10:45 MainProcess     MainThread                     phaze_a         __call__                       DEBUG    Generated class filters: [512, 256, 128, 64, 32, 16]
03/05/2025 19:10:45 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_512_0
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_0. filters: 512, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_0_conv2d, filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x000001D2097B5510>)
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x000001D2097B4D60>
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 512]
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 512, filters: 128, size: 6, dtype: float32
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 512), Output shape: (128, 3, 3, 2048)
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 2048)
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_512_1
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_1. filters: 512, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_1_conv2d, filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x000001D2097B69B0>)
03/05/2025 19:10:46 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x000001D20979E2F0>
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 512]
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 512, filters: 128, size: 6, dtype: float32
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 512), Output shape: (128, 3, 3, 2048)
03/05/2025 19:10:46 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 2048)
03/05/2025 19:10:46 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initializing: FullyConnected (side: gblock, input_shape: (512,))
03/05/2025 19:10:46 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initialized: FullyConnected (side: gblock, min_nodes: 512, max_nodes: 512)
03/05/2025 19:10:46 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Obtaining curve: (start_y: 512, end_y: 512, num_points: 3, scale: -0.5, mode: full)
03/05/2025 19:10:46 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Returning curve: [512, 512, 512]
03/05/2025 19:10:46 MainProcess     MainThread                     phaze_a         _build_fully_connected         DEBUG    Fully Connected: {'a': [[<KerasTensor: shape=(None, 8, 8, 512) dtype=float16 (created by layer 'fc_both')>, <KerasTensor: shape=(None, 8, 8, 512) dtype=float16 (created by layer 'fc_both')>], <KerasTensor: shape=(None, 512) dtype=float16 (created by layer 'fc_gblock')>], 'b': [[<KerasTensor: shape=(None, 8, 8, 512) dtype=float16 (created by layer 'fc_both')>, <KerasTensor: shape=(None, 8, 8, 512) dtype=float16 (created by layer 'fc_both')>], <KerasTensor: shape=(None, 512) dtype=float16 (created by layer 'fc_gblock')>]}
Traceback (most recent call last):
  File "D:\faceswap\lib\cli\launcher.py", line 225, in execute_script
    process.process()
  File "D:\faceswap\scripts\train.py", line 197, in process
    self._load_model()
  File "D:\faceswap\scripts\train.py", line 285, in _load_model
    model.build()
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 186, in build
    super().build()
  File "D:\faceswap\plugins\train\model\_base\model.py", line 271, in build
    self._model = self.build_model(inputs)
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 339, in build_model
    g_blocks = self._build_g_blocks(inters)
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 435, in _build_g_blocks
    input_shapes = [K.int_shape(inter)[1:] for inter in inputs["a"]]
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 435, in <listcomp>
    input_shapes = [K.int_shape(inter)[1:] for inter in inputs["a"]]
  File "C:\Users\admin\MiniConda3\envs\faceswap\lib\site-packages\keras\backend.py", line 1531, in int_shape
    shape = x.shape
AttributeError: 'list' object has no attribute 'shape' 

When I enable fully connected layers I get

Code: Select all

03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 128, scaled_filters: 128
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_128_2
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_2. filters: 128, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_2_conv2d, filters: 512, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EAFB700>)
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EAFA110>
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 512, 128]
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 128, filters: 512, size: 6, dtype: float32
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (512, 6, 6, 128), Output shape: (512, 3, 3, 512)
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 512, 512)
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_128_3
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_3. filters: 128, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_3_conv2d, filters: 512, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EAFA5C0>)
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EAFA0E0>
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 128]
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 128, filters: 128, size: 6, dtype: float32
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 128), Output shape: (128, 3, 3, 512)
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 512)
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initializing: UpscaleBlocks (side: b, layer_indicies: (0, 1))
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initialized: UpscaleBlocks
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 4, new_dim: 4
03/05/2025 19:14:19 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 4, new_dim: 4
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_512_2
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_2. filters: 512, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_2_conv2d, filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EABFD30>)
03/05/2025 19:14:19 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EABCF40>
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 512]
03/05/2025 19:14:19 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 512, filters: 128, size: 6, dtype: float32
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 512), Output shape: (128, 3, 3, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_512_3
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_3. filters: 512, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_3_conv2d, filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EABCC70>)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EABE500>
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 512]
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 512, filters: 128, size: 6, dtype: float32
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 512), Output shape: (128, 3, 3, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initializing: FullyConnected (side: shared, input_shape: (512,))
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initialized: FullyConnected (side: shared, min_nodes: 512, max_nodes: 512)
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Obtaining curve: (start_y: 512, end_y: 512, num_points: 1, scale: 0.0, mode: full)
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _get_curve                     DEBUG    Returning curve: [512]
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 512, scaled_filters: 512
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 3, new_dim: 2
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_filters                 DEBUG    original_filters: 128, scaled_filters: 128
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_128_4
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_4. filters: 128, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_4_conv2d, filters: 512, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EAFB280>)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EAFA650>
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 512, 128]
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 128, filters: 512, size: 6, dtype: float32
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (512, 6, 6, 128), Output shape: (512, 3, 3, 512)
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 512, 512)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_128_5
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_5. filters: 128, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_128_5_conv2d, filters: 512, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EABDE10>)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EA20CA0>
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 128]
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 128, filters: 128, size: 6, dtype: float32
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 128), Output shape: (128, 3, 3, 512)
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 512)
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initializing: UpscaleBlocks (side: shared, layer_indicies: (0, 1))
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         __init__                       DEBUG    Initialized: UpscaleBlocks
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 4, new_dim: 4
03/05/2025 19:14:20 MainProcess     MainThread                     phaze_a         _scale_dim                     DEBUG    target_resolution: 256, original_dim: 4, new_dim: 4
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_512_4
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_4. filters: 512, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_4_conv2d, filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EA4CD90>)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EA4FB20>
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 512]
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 512, filters: 128, size: 6, dtype: float32
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 512), Output shape: (128, 3, 3, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_name                      DEBUG    Generating block name: upscale_512_5
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_5. filters: 512, kernel_size: 3, padding: same, scale_factor: 2, normalization: None, activation: leakyrelu, kwargs: {})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    name: upscale_512_5_conv2d, filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, normalization: None, activation: leakyrelu, use_depthwise: False, kwargs: {'is_upscale': True})
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       _get_default_initializer       DEBUG    Set default kernel_initializer: (original: None current: <lib.model.initializers.ConvolutionAware object at 0x0000028F6EA4E500>)
03/05/2025 19:14:20 MainProcess     MainThread                     nn_blocks       __init__                       DEBUG    Using ICNR Initializer: <lib.model.initializers.ICNR object at 0x0000028F6EA65930>
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       INFO     Calculating Convolution Aware Initializer for shape: [3, 3, 128, 512]
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _create_basis                  DEBUG    filters_size: 512, filters: 128, size: 6, dtype: float32
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    _space_to_depth                DEBUG    Input shape: (128, 6, 6, 512), Output shape: (128, 3, 3, 2048)
03/05/2025 19:14:20 MainProcess     MainThread                     initializers    __call__                       DEBUG    Output shape: (3, 3, 128, 2048)
Traceback (most recent call last):
  File "D:\faceswap\lib\cli\launcher.py", line 225, in execute_script
    process.process()
  File "D:\faceswap\scripts\train.py", line 197, in process
    self._load_model()
  File "D:\faceswap\scripts\train.py", line 285, in _load_model
    model.build()
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 186, in build
    super().build()
  File "D:\faceswap\plugins\train\model\_base\model.py", line 271, in build
    self._model = self.build_model(inputs)
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 338, in build_model
    inters = self._build_fully_connected(encoders)
  File "D:\faceswap\plugins\train\model\phaze_a.py", line 399, in _build_fully_connected
    inter_a = [kl.Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
  File "C:\Users\admin\MiniConda3\envs\faceswap\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "C:\Users\admin\MiniConda3\envs\faceswap\lib\site-packages\keras\layers\merging\concatenate.py", line 98, in build
    raise ValueError(
ValueError: A `Concatenate` layer should be called on a list of at least 1 input. Received: input_shape=[[(None, 8, 8, 512), (None, 8, 8, 512)], [(None, 8, 8, 512), (None, 8, 8, 512)]] 

I have no issues running the model at all with these options disabled, I can run it up to batch size 7 with about 12k images each side. I have tried instantiating the model with a batch size of one, still doesn't work, also disabling other things like conv aware or icr init makes no difference. I'm happy to paste the entire model summary but it's huge of course, let me know if this will help. I'm assuming its some kind of error with Keras? But I have no idea. (My Keras version is 3.9.0 incidentally). I've tried other encoders and I still get the errors. I have no clue how to interpret this!

Thanks in advance!

User avatar
DeliciousCaramels
Posts: 3
Joined: Wed Mar 05, 2025 7:57 am

Re: Error with G-block and shared layers

Post by DeliciousCaramels »

I have been randomly clicking things to work out where the error lies and I have discovered the problem; the learn mask setting.

No problems at all starting the model if I disable this; the question is why I guess, and also it is slightly inconvenient as I have found that feature to solve a proportion of manual work.

Post Reply