Conversion Error: ndarray is not C-contiguous

Getting errors or found a bug when converting faces from a trained model? Post about them here


Forum rules

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

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

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

Post Reply
User avatar
landlocked
Posts: 7
Joined: Tue Jun 25, 2024 10:47 pm
Been thanked: 1 time

Conversion Error: ndarray is not C-contiguous

Post by landlocked »

Greetings,

Thank you VERY much for sharing your talents with the Faceswap community! I'm having a blast and keeping my family in stitches!

A Faceswap 2 troubleshooting question, if I may.

I have made several successful videos without any issues -- including ones where I had to go in and manually add or modify existing alignments. About half of the projects, however, generate an error like this when I go to convert them to images or video, This only happens to some projects that contain added or modified alignments:

Code: Select all

Failed to save image '\\path\project\conversion\12345.png'. Original Error: ndarray is not C-contiguous

My process that creates the error:

1) Extract destination frames and alignments
2) Delete bad faces from the \faces dir
3) Run the alignment tool to generate a new alignments file
4) Manually add in new faces or modify existing faces
5) Save ALL faces back into the cleared-out \faces dir
2) Train destination faces with existing source faces
3) Convert to either MP4/MP5 or PNG --> Original Error: ndarray is not C-contiguous (for each and every edited face)

What am I missing? I'm stumped!

Thanks!

Landlocked

System information:

Code: Select all

============ System Information ============
backend:             nvidia
encoding:            cp1252
git_branch:          master
git_commits:         c8652ec Training preview: Correctly display blur/kernel amount on mask
gpu_cuda:            No global version found. Check Conda packages for Conda Cuda
gpu_cudnn:           No global version found. Check Conda packages for Conda cuDNN
gpu_devices:         GPU_0: NVIDIA GeForce RTX 4070 Ti
gpu_devices_active:  GPU_0
gpu_driver:          546.65
gpu_vram:            GPU_0: 12282MB (638MB free)
os_machine:          AMD64
os_platform:         Windows-10-10.0.22631-SP0
os_release:          10
py_command:          C:\Users\User\faceswap/faceswap.py gui
py_conda_version:    conda 24.5.0
py_implementation:   CPython
py_version:          3.10.14
py_virtual_env:      True
sys_cores:           24
sys_processor:       AMD64 Family 25 Model 33 Stepping 2, AuthenticAMD
sys_ram:             Total: 32690MB, Available: 19065MB, Used: 13624MB, Free: 19065MB

=============== Pip Packages ===============
absl-py==2.1.0
astunparse==1.6.3
cachetools==5.3.3
certifi==2024.6.2
charset-normalizer==3.3.2
colorama @ file:///C:/b/abs_a9ozq0l032/croot/colorama_1672387194846/work
contourpy @ file:///C:/b/abs_853rfy8zse/croot/contourpy_1700583617587/work
cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
fastcluster @ file:///D:/bld/fastcluster_1695650232190/work
ffmpy @ file:///home/conda/feedstock_root/build_artifacts/ffmpy_1659474992694/work
flatbuffers==24.3.25
fonttools @ file:///C:/b/abs_f47gnfqnx0/croot/fonttools_1713551644747/work
gast==0.4.0
google-auth==2.30.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.64.1
h5py==3.11.0
idna==3.7
imageio @ file:///C:/b/abs_aeqerw_nps/croot/imageio_1707247365204/work
imageio-ffmpeg==0.5.1
joblib @ file:///C:/b/abs_f4b98l6lgk/croot/joblib_1718217224240/work
keras==2.10.0
Keras-Preprocessing==1.1.2
kiwisolver @ file:///C:/b/abs_88mdhvtahm/croot/kiwisolver_1672387921783/work
libclang==18.1.1
Markdown==3.6
MarkupSafe==2.1.5
matplotlib @ file:///C:/b/abs_ddmsoovv14/croot/matplotlib-suite_1713336426307/work
mkl-fft @ file:///C:/b/abs_19i1y8ykas/croot/mkl_fft_1695058226480/work
mkl-random @ file:///C:/b/abs_edwkj1_o69/croot/mkl_random_1695059866750/work
mkl-service==2.4.0
numexpr @ file:///C:/b/abs_5fucrty5dc/croot/numexpr_1696515448831/work
numpy @ file:///C:/b/abs_c1ywpu18ar/croot/numpy_and_numpy_base_1708638681471/work/dist/numpy-1.26.4-cp310-cp310-win_amd64.whl#sha256=ebb5aa2b36d8afa5ec3231c19e5a1fc75b6d85e7db483f0fb9e77dad58469977
nvidia-ml-py @ file:///home/conda/feedstock_root/build_artifacts/nvidia-ml-py_1717187099173/work
oauthlib==3.2.2
opencv-python==4.10.0.84
opt-einsum==3.3.0
packaging @ file:///C:/b/abs_cc1h2xfosn/croot/packaging_1710807447479/work
Pillow @ file:///C:/b/abs_153xikw91n/croot/pillow_1695134603563/work
ply==3.11
protobuf==3.19.6
psutil @ file:///C:/Windows/Temp/abs_b2c2fd7f-9fd5-4756-95ea-8aed74d0039flsd9qufz/croots/recipe/psutil_1656431277748/work
pyasn1==0.6.0
pyasn1_modules==0.4.0
pyparsing @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_7f_7lba6rl/croots/recipe/pyparsing_1661452540662/work
PyQt5==5.15.10
PyQt5-sip @ file:///C:/b/abs_c0pi2mimq3/croot/pyqt-split_1698769125270/work/pyqt_sip
python-dateutil @ file:///C:/b/abs_3au_koqnbs/croot/python-dateutil_1716495777160/work
pywin32==305.1
pywinpty @ file:///C:/ci_310/pywinpty_1644230983541/work/target/wheels/pywinpty-2.0.2-cp310-none-win_amd64.whl
requests==2.32.3
requests-oauthlib==2.0.0
rsa==4.9
scikit-learn @ file:///C:/b/abs_d6_krvz8aa/croot/scikit-learn_1714164798159/work
scipy @ file:///C:/b/abs_efv75hqhju/croot/scipy_1717521501389/work/dist/scipy-1.13.1-cp310-cp310-win_amd64.whl#sha256=6fc06f275521e1b56576a1599ebcc269f1863c08ddc9228c14a3e3841bf97db1
sip @ file:///C:/b/abs_edevan3fce/croot/sip_1698675983372/work
six @ file:///tmp/build/80754af9/six_1644875935023/work
tensorboard==2.10.1
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow==2.10.1
tensorflow-estimator==2.10.0
tensorflow-io-gcs-filesystem==0.31.0
termcolor==2.4.0
threadpoolctl @ file:///Users/ktietz/demo/mc3/conda-bld/threadpoolctl_1629802263681/work
tomli @ file:///C:/Windows/TEMP/abs_ac109f85-a7b3-4b4d-bcfd-52622eceddf0hy332ojo/croots/recipe/tomli_1657175513137/work
tornado @ file:///C:/b/abs_7bua0304mj/croot/tornado_1718740122405/work
tqdm @ file:///C:/b/abs_a7h7n45ccq/croot/tqdm_1716395987133/work
typing_extensions==4.12.2
unicodedata2 @ file:///C:/b/abs_b6apldlg7y/croot/unicodedata2_1713212998255/work
urllib3==2.2.2
Werkzeug==3.0.3
wrapt==1.16.0

============== Conda Packages ==============
# packages in environment at C:\Users\Homer\MiniConda3\envs\faceswap:
#
# Name                    Version                   Build  Channel
absl-py                   2.1.0                    pypi_0    pypi
aom                       3.7.1                h63175ca_0    conda-forge
astunparse                1.6.3                    pypi_0    pypi
blas                      1.0                         mkl  
brotli                    1.0.9                h2bbff1b_8  
brotli-bin                1.0.9                h2bbff1b_8  
bzip2                     1.0.8                h2bbff1b_6  
ca-certificates           2024.6.2             h56e8100_0    conda-forge
cachetools                5.3.3                    pypi_0    pypi
certifi                   2024.6.2                 pypi_0    pypi
charset-normalizer        3.3.2                    pypi_0    pypi
colorama                  0.4.6           py310haa95532_0  
contourpy                 1.2.0           py310h59b6b97_0  
cudatoolkit               11.2.2              h7d7167e_13    conda-forge
cudnn                     8.1.0.77             h3e0f4f4_0    conda-forge
cycler                    0.11.0             pyhd3eb1b0_0  
dav1d                     1.2.1                hcfcfb64_0    conda-forge
expat                     2.6.2                h63175ca_0    conda-forge
fastcluster               1.2.6           py310hecd3228_3    conda-forge
ffmpeg                    6.1.0           gpl_h0859920_103    conda-forge
ffmpy                     0.3.0              pyhb6f538c_0    conda-forge
flatbuffers               24.3.25                  pypi_0    pypi
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 h77eed37_2    conda-forge
fontconfig                2.14.2               hbde0cde_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.51.0          py310h2bbff1b_0  
freetype                  2.12.1               ha860e81_0  
gast                      0.4.0                    pypi_0    pypi
giflib                    5.2.1                h8cc25b3_3  
git                       2.40.1               haa95532_3  
google-auth               2.30.0                   pypi_0    pypi
google-auth-oauthlib      0.4.6                    pypi_0    pypi
google-pasta              0.2.0                    pypi_0    pypi
grpcio                    1.64.1                   pypi_0    pypi
h5py                      3.11.0                   pypi_0    pypi
icc_rt                    2022.1.0             h6049295_2  
icu                       73.1                 h6c2663c_0  
idna                      3.7                      pypi_0    pypi
imageio                   2.33.1          py310haa95532_0  
imageio-ffmpeg            0.5.1                    pypi_0    pypi
intel-openmp              2023.1.0         h59b6b97_46320  
joblib                    1.4.2           py310haa95532_0  
jpeg                      9e                   h2bbff1b_1  
keras                     2.10.0                   pypi_0    pypi
keras-preprocessing       1.1.2                    pypi_0    pypi
kiwisolver                1.4.4           py310hd77b12b_0  
krb5                      1.20.1               h5b6d351_0  
lerc                      3.0                  hd77b12b_0  
libbrotlicommon           1.0.9                h2bbff1b_8  
libbrotlidec              1.0.9                h2bbff1b_8  
libbrotlienc              1.0.9                h2bbff1b_8  
libclang                  18.1.1                   pypi_0    pypi
libclang13                14.0.6          default_h8e68704_1  
libdeflate                1.17                 h2bbff1b_1  
libexpat                  2.6.2                h63175ca_0    conda-forge
libffi                    3.4.4                hd77b12b_1  
libiconv                  1.17                 hcfcfb64_2    conda-forge
libopus                   1.3.1                h8ffe710_1    conda-forge
libpng                    1.6.39               h8cc25b3_0  
libpq                     12.17                h906ac69_0  
libsqlite                 3.46.0               h2466b09_0    conda-forge
libtiff                   4.5.1                hd77b12b_0  
libwebp                   1.3.2                hbc33d0d_0  
libwebp-base              1.3.2                h2bbff1b_0  
libxml2                   2.12.7               h283a6d9_1    conda-forge
libzlib                   1.2.13               h2466b09_6    conda-forge
libzlib-wapi              1.2.13               h2466b09_6    conda-forge
lz4-c                     1.9.4                h2bbff1b_1  
markdown                  3.6                      pypi_0    pypi
markupsafe                2.1.5                    pypi_0    pypi
matplotlib                3.8.4           py310haa95532_0  
matplotlib-base           3.8.4           py310h4ed8f06_0  
mkl                       2023.1.0         h6b88ed4_46358  
mkl-service               2.4.0           py310h2bbff1b_1  
mkl_fft                   1.3.8           py310h2bbff1b_0  
mkl_random                1.2.4           py310h59b6b97_0  
numexpr                   2.8.7           py310h2cd9be0_0  
numpy                     1.26.4          py310h055cbcc_0  
numpy-base                1.26.4          py310h65a83cf_0  
nvidia-ml-py              12.555.43          pyhd8ed1ab_0    conda-forge
oauthlib                  3.2.2                    pypi_0    pypi
opencv-python             4.10.0.84                pypi_0    pypi
openh264                  2.4.0                h63175ca_0    conda-forge
openssl                   3.3.1                h2466b09_0    conda-forge
opt-einsum                3.3.0                    pypi_0    pypi
packaging                 23.2            py310haa95532_0  
pillow                    9.4.0           py310hd77b12b_1  
pip                       24.0            py310haa95532_0  
ply                       3.11            py310haa95532_0  
protobuf                  3.19.6                   pypi_0    pypi
psutil                    5.9.0           py310h2bbff1b_0  
pyasn1                    0.6.0                    pypi_0    pypi
pyasn1-modules            0.4.0                    pypi_0    pypi
pybind11-abi              5                    hd3eb1b0_0  
pyparsing                 3.0.9           py310haa95532_0  
pyqt                      5.15.10         py310hd77b12b_0  
pyqt5-sip                 12.13.0         py310h2bbff1b_0  
python                    3.10.14         h4de0772_0_cpython    conda-forge
python-dateutil           2.9.0post0      py310haa95532_2  
python_abi                3.10                    4_cp310    conda-forge
pywin32                   305             py310h2bbff1b_0  
pywinpty                  2.0.2           py310h5da7b33_0  
qt-main                   5.15.2              h19c9488_10  
requests                  2.32.3                   pypi_0    pypi
requests-oauthlib         2.0.0                    pypi_0    pypi
rsa                       4.9                      pypi_0    pypi
scikit-learn              1.4.2           py310h4ed8f06_1  
scipy                     1.13.1          py310h8640f81_0  
setuptools                69.5.1          py310haa95532_0  
sip                       6.7.12          py310hd77b12b_0  
six                       1.16.0             pyhd3eb1b0_1  
sqlite                    3.45.3               h2bbff1b_0  
svt-av1                   1.7.0                h63175ca_0    conda-forge
tbb                       2021.8.0             h59b6b97_0  
tensorboard               2.10.1                   pypi_0    pypi
tensorboard-data-server   0.6.1                    pypi_0    pypi
tensorboard-plugin-wit    1.8.1                    pypi_0    pypi
tensorflow                2.10.1                   pypi_0    pypi
tensorflow-estimator      2.10.0                   pypi_0    pypi
tensorflow-io-gcs-filesystem 0.31.0                   pypi_0    pypi
termcolor                 2.4.0                    pypi_0    pypi
threadpoolctl             2.2.0              pyh0d69192_0  
tk                        8.6.13               h5226925_1    conda-forge
tomli                     2.0.1           py310haa95532_0  
tornado                   6.4.1           py310h827c3e9_0  
tqdm                      4.66.4          py310h9909e9c_0  
typing-extensions         4.12.2                   pypi_0    pypi
tzdata                    2024a                h04d1e81_0  
ucrt                      10.0.22621.0         h57928b3_0    conda-forge
unicodedata2              15.1.0          py310h2bbff1b_0  
urllib3                   2.2.2                    pypi_0    pypi
vc                        14.2                 h2eaa2aa_1  
vc14_runtime              14.40.33810         ha82c5b3_20    conda-forge
vs2015_runtime            14.40.33810         h3bf8584_20    conda-forge
werkzeug                  3.0.3                    pypi_0    pypi
wheel                     0.43.0          py310haa95532_0  
winpty                    0.4.3                         4  
wrapt                     1.16.0                   pypi_0    pypi
x264                      1!164.3095           h8ffe710_2    conda-forge
x265                      3.5                  h2d74725_3    conda-forge
xz                        5.4.6                h8cc25b3_1  
zlib                      1.2.13               h2466b09_6    conda-forge
zlib-wapi                 1.2.13               h2466b09_6    conda-forge
zstd                      1.5.5                hd43e919_2  

================= Configs ==================
--------- .faceswap ---------
backend:                  nvidia

--------- convert.ini ---------

[color.color_transfer]
clip:                     True
preserve_paper:           True

[color.manual_balance]
colorspace:               HSV
balance_1:                0.0
balance_2:                0.0
balance_3:                0.0
contrast:                 0.0
brightness:               0.0

[color.match_hist]
threshold:                99.0

[mask.mask_blend]
type:                     normalized
kernel_size:              3
passes:                   4
threshold:                4
erosion:                  0.0
erosion_top:              0.0
erosion_bottom:           0.0
erosion_left:             0.0
erosion_right:            0.0

[scaling.sharpen]
method:                   none
amount:                   150
radius:                   0.3
threshold:                5.0

[writer.ffmpeg]
container:                mp4
codec:                    libx264
crf:                      23
preset:                   medium
tune:                     none
profile:                  auto
level:                    auto
skip_mux:                 False

[writer.gif]
fps:                      25
loop:                     0
palettesize:              256
subrectangles:            False

[writer.opencv]
format:                   png
draw_transparent:         False
separate_mask:            False
jpg_quality:              75
png_compress_level:       3

[writer.patch]
start_index:              0
index_offset:             0
number_padding:           6
include_filename:         True
face_index_location:      before
origin:                   bottom-left
empty_frames:             blank
json_output:              False
separate_mask:            False
bit_depth:                16
format:                   png
png_compress_level:       3
tiff_compression_method:  lzw

[writer.pillow]
format:                   png
draw_transparent:         False
separate_mask:            False
optimize:                 False
gif_interlace:            True
jpg_quality:              75
png_compress_level:       3
tif_compression:          tiff_deflate

--------- extract.ini ---------

[global]
allow_growth:             False
aligner_min_scale:        0.07
aligner_max_scale:        2.0
aligner_distance:         22.5
aligner_roll:             45.0
aligner_features:         True
filter_refeed:            True
save_filtered:            False
realign_refeeds:          True
filter_realign:           True

[align.external]
file_name:                import.json
origin:                   top-left
4_point_centering:        head

[align.fan]
batch-size:               12

[detect.cv2_dnn]
confidence:               50

[detect.external]
file_name:                import.json
origin:                   top-left

[detect.mtcnn]
minsize:                  20
scalefactor:              0.709
batch-size:               8
cpu:                      True
threshold_1:              0.6
threshold_2:              0.7
threshold_3:              0.7

[detect.s3fd]
confidence:               70
batch-size:               4

[mask.bisenet_fp]
batch-size:               8
cpu:                      False
weights:                  faceswap
include_ears:             False
include_hair:             False
include_glasses:          True

[mask.custom]
batch-size:               8
centering:                face
fill:                     False

[mask.unet_dfl]
batch-size:               8

[mask.vgg_clear]
batch-size:               6

[mask.vgg_obstructed]
batch-size:               2

[recognition.vgg_face2]
batch-size:               16
cpu:                      False

--------- gui.ini ---------

[global]
fullscreen:               False
tab:                      extract
options_panel_width:      30
console_panel_height:     20
icon_size:                14
font:                     default
font_size:                9
autosave_last_session:    prompt
timeout:                  120
auto_load_model_stats:    True

--------- train.ini ---------

[global]
centering:                face
coverage:                 87.5
icnr_init:                False
conv_aware_init:          False
optimizer:                adam
learning_rate:            5e-05
epsilon_exponent:         -7
save_optimizer:           exit
lr_finder_iterations:     1000
lr_finder_mode:           set
lr_finder_strength:       default
autoclip:                 False
reflect_padding:          False
allow_growth:             False
mixed_precision:          False
nan_protection:           True
convert_batchsize:        16

[global.loss]
loss_function:            ssim
loss_function_2:          mse
loss_weight_2:            100
loss_function_3:          None
loss_weight_3:            0
loss_function_4:          None
loss_weight_4:            0
mask_loss_function:       mse
eye_multiplier:           3
mouth_multiplier:         2
penalized_mask_loss:      True
mask_type:                extended
mask_dilation:            0.0
mask_blur_kernel:         3
mask_threshold:           4
learn_mask:               False

[model.dfaker]
output_size:              128

[model.dfl_h128]
lowmem:                   False

[model.dfl_sae]
input_size:               192
architecture:             liae
autoencoder_dims:         0
encoder_dims:             42
decoder_dims:             21
multiscale_decoder:       False

[model.dlight]
features:                 best
details:                  good
output_size:              256

[model.original]
lowmem:                   False

[model.phaze_a]
output_size:              128
shared_fc:                None
enable_gblock:            True
split_fc:                 True
split_gblock:             False
split_decoders:           False
enc_architecture:         fs_original
enc_scaling:              7
enc_load_weights:         True
bottleneck_type:          dense
bottleneck_norm:          None
bottleneck_size:          1024
bottleneck_in_encoder:    True
fc_depth:                 1
fc_min_filters:           1024
fc_max_filters:           1024
fc_dimensions:            4
fc_filter_slope:          -0.5
fc_dropout:               0.0
fc_upsampler:             upsample2d
fc_upsamples:             1
fc_upsample_filters:      512
fc_gblock_depth:          3
fc_gblock_min_nodes:      512
fc_gblock_max_nodes:      512
fc_gblock_filter_slope:   -0.5
fc_gblock_dropout:        0.0
dec_upscale_method:       subpixel
dec_upscales_in_fc:       0
dec_norm:                 None
dec_min_filters:          64
dec_max_filters:          512
dec_slope_mode:           full
dec_filter_slope:         -0.45
dec_res_blocks:           1
dec_output_kernel:        5
dec_gaussian:             True
dec_skip_last_residual:   True
freeze_layers:            keras_encoder
load_layers:              encoder
fs_original_depth:        4
fs_original_min_filters:  128
fs_original_max_filters:  1024
fs_original_use_alt:      False
mobilenet_width:          1.0
mobilenet_depth:          1
mobilenet_dropout:        0.001
mobilenet_minimalistic:   False

[model.realface]
input_size:               64
output_size:              128
dense_nodes:              1536
complexity_encoder:       128
complexity_decoder:       512

[model.unbalanced]
input_size:               128
lowmem:                   False
nodes:                    1024
complexity_encoder:       128
complexity_decoder_a:     384
complexity_decoder_b:     512

[model.villain]
lowmem:                   False

[trainer.original]
preview_images:           14
mask_opacity:             30
mask_color:               #ff0000
zoom_amount:              5
rotation_range:           10
shift_range:              5
flip_chance:              50
color_lightness:          30
color_ab:                 8
color_clahe_chance:       50
color_clahe_max_size:     4
Last edited by torzdf on Thu Jun 27, 2024 11:21 am, edited 1 time in total.
User avatar
torzdf
Posts: 2742
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 141 times
Been thanked: 642 times

Re: Conversion Error: ndarray is not C-contiguous

Post by torzdf »

This looks like some kind of bug....

Could you please enable TRACE logging until you see the error message (you can then terminate the process, I just need to see up to the first point that the error hits).

Be aware that trace logging will slow down the process and potentially generate huge log files, so you will want to put logging back to INFO again once done.

If you could then give me the faceswap.log file that has been generated in your faceswap folder, I should hopefully be able to find the issue.

My word is final

User avatar
landlocked
Posts: 7
Joined: Tue Jun 25, 2024 10:47 pm
Been thanked: 1 time

Re: Conversion Error: ndarray is not C-contiguous

Post by landlocked »

I made a 15-second test clip and edited/re-aligned the first three faces in the first three frames -- and the error was later generated when converted.

Thanks!

Landlocked

Last edited by landlocked on Thu Aug 01, 2024 9:11 pm, edited 2 times in total.
User avatar
landlocked
Posts: 7
Joined: Tue Jun 25, 2024 10:47 pm
Been thanked: 1 time

Re: Conversion Error: ndarray is not C-contiguous

Post by landlocked »

One more tidbit...I just built a MS virtual machine, but in CPU mode, and did not do any updates and only installed Faceswap 2. Same issue.

My faces and extracted frames are all VGG Obstructed 512 px. My DB is DFL SAE LIAE 192. I tried using 192 px images to no avail.

If I try to convert and select mask type as NONE, it does create the manually added face in the output PNG, but NO mask and NO error.

  • L
User avatar
torzdf
Posts: 2742
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 141 times
Been thanked: 642 times

Re: Conversion Error: ndarray is not C-contiguous

Post by torzdf »

Ok, it looks like it is failing because you have selected unet-dfl mask, but the image you are swapping doesn't have that mask.

This shouldn't fail in this way (you should be told that you are missing the mask, also it looks like you do have that mask)

Can you zip up the source + alignments file that creates this error, and provide, please, so I can investigate further.

Last edited by torzdf on Fri Jul 12, 2024 4:35 pm, edited 1 time in total.

My word is final

User avatar
landlocked
Posts: 7
Joined: Tue Jun 25, 2024 10:47 pm
Been thanked: 1 time

Re: Conversion Error: ndarray is not C-contiguous

Post by landlocked »

I went ahead and completely wiped my hard disk and did a clean install of Win 11 pro. I installed Faceswap 2 and still get the same error.

I am confused why you say that I am missing a mask. I thought I specified everything needed.

I went ahead and created a totally new test project with a 9-second clip. Here is my workflow:

1) Set Faceswap >> Settings >> Train >> Global >> Loss >> Mask to U-Net
2) Extracted source faces using U-Net mask
3) Extracted destination faces with U-Net mask
4) Removed unwanted swaps from dest folder
5) Ran alignment cleanup tool on alignments file.
6) Trained using DFL-SAE
7) Converted using U-Net mask to MKV without error

**BUT **

If I manually edit the mask, as I did in the first (only) extracted face, and then try to generate a MKV file I get the "Not C-Contigious" error. This happens if I create a new face or modify an existing face.

Clearly this is a "mea culpa" error, but I can't figure out what I am doing wrong.

Log and edited alignment file attached. Thanks!

Last edited by landlocked on Thu Aug 01, 2024 9:11 pm, edited 4 times in total.
User avatar
torzdf
Posts: 2742
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 141 times
Been thanked: 642 times

Re: Conversion Error: ndarray is not C-contiguous

Post by torzdf »

I will also need the source video that this alignments file relates to, to be able to diagnose this, I'm afraid.

My word is final

User avatar
landlocked
Posts: 7
Joined: Tue Jun 25, 2024 10:47 pm
Been thanked: 1 time

Re: Conversion Error: ndarray is not C-contiguous

Post by landlocked »

Please use the new alignment file included with this video clip. The log is also attached.

I edit just the first frame/face and that's the only one to fail.

Thanks!

Last edited by landlocked on Fri Aug 02, 2024 7:39 pm, edited 2 times in total.
User avatar
torzdf
Posts: 2742
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 141 times
Been thanked: 642 times

Re: Conversion Error: ndarray is not C-contiguous

Post by torzdf »

Ok, a couple of things...

  1. The log file you gave me does not show a not C-contiguous error. It shows a missing mask error, so the solution to this problem may not be the solution to the initial problem
  2. The reason why the first frame is failing is precisely because you edited the first frame. Any and all manual edits of a face will delete any neural-network generated masks. It has to, as the mask is no longer valid (the aligned face will have changed).

If you perform manual edits in this way, then you will need to run the mask tool afterwards to regenerate any masks that you may have invalidated. It is precisely for this reason that I don't recommend generating masks at extract time, rather I fix alignments first and then generate masks with the mask tool.

For confirmation, this is the summary of masks that exist in your alignment file:

Code: Select all

{'components': 94, 'extended': 94, 'unet-dfl': 93}

I thought the convert process reported missing mask errors, but apparently not. This is either a regression or an oversight, I have pushed a fix that remedies this.

Last edited by torzdf on Fri Aug 02, 2024 5:36 pm, edited 1 time in total.

My word is final

User avatar
landlocked
Posts: 7
Joined: Tue Jun 25, 2024 10:47 pm
Been thanked: 1 time

Re: Conversion Error: ndarray is not C-contiguous

Post by landlocked »

You, Sir, are a gentleman and a genius! Thank you SO very much for helping me find the evasive solution!

BTW -- I'm glad I can now fully use FS as it is FAR, FAR superior to DFL, IMHO. There are so many more options, am intuitive GUI, and the final product is always spot on!

Landlocked

Last edited by landlocked on Fri Aug 02, 2024 7:40 pm, edited 1 time in total.
Post Reply