Preview tool doesn't update - RuntimeError: main thread is not in main loop

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.

Locked
User avatar
gregtorn
Posts: 12
Joined: Fri Aug 28, 2020 11:32 am

Preview tool doesn't update - RuntimeError: main thread is not in main loop

Post by gregtorn »

am i have a question - preview auto updates when you change parameters? as i changed some, waited for 10 min and preview stayed the same only the green light moves from left to right and thats it.

User avatar
torzdf
Posts: 2649
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 128 times
Been thanked: 623 times

Re: import a mask made with XSeg?

Post by torzdf »

It's a race condition bug which I have never been able to replicate, and therefore am unable to fix.

If you close and re-open the Preview tool, you may get lucky. Try this a few times. The previews should update fairly quickly on a parameter change (most times less than a second)

My word is final

User avatar
gregtorn
Posts: 12
Joined: Fri Aug 28, 2020 11:32 am

Re: import a mask made with XSeg?

Post by gregtorn »

im really not lucky =) i tried few different projects. and only thing that works is a green running bar and previews do not update no mater how many times i close and open preview :lol:
oh and i get this always when preview opens

Code: Select all

Exception in thread patch_thread:
Traceback (most recent call last):
File "C:\Users\admin\MiniConda3\envs\faceswap\lib\threading.py", line 973, in _bootstrap_inner
self.run()
File "C:\Users\admin\MiniConda3\envs\faceswap\lib\threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "F:\DeepFaceLab\faceswap\tools\preview\preview.py", line 546, in _process
tk_vars["refresh"].set(True)
File "C:\Users\admin\MiniConda3\envs\faceswap\lib\tkinter\__init__.py", line 589, in set
return self._tk.globalsetvar(self._name, self._tk.getboolean(value))
RuntimeError: main thread is not in main loop
User avatar
torzdf
Posts: 2649
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 128 times
Been thanked: 623 times

Re: import a mask made with XSeg?

Post by torzdf »

Ok, that's useful info. I've not seen this before. When I get a second I'll see if I can track down where this is coming from and try to fix the issue.

My word is final

User avatar
phatwila
Posts: 1
Joined: Thu Dec 15, 2022 4:28 pm

Re: Preview tool doesn't update - RuntimeError: main thread is not in main loop

Post by phatwila »

I'm having the same issue here as well:

Code: Select all

Exception in thread patch_thread:
Traceback (most recent call last):
File "C:\Users\phatw\MiniConda3\envs\faceswap\lib\threading.py", line 980, in _bootstrap_inner
self.run()
File "C:\Users\phatw\MiniConda3\envs\faceswap\lib\threading.py", line 917, in run
self._target(*self._args, **self._kwargs)
File "E:\faceswap\tools\preview\preview.py", line 546, in _process
tk_vars["refresh"].set(True)
File "C:\Users\phatw\MiniConda3\envs\faceswap\lib\tkinter\__init__.py", line 589, in set
return self._tk.globalsetvar(self._name, self._tk.getboolean(value))
RuntimeError: main thread is not in main loop

System Information:

Code: Select all

============ System Information ============
encoding:            cp1252
git_branch:          master
git_commits:         ffe8f9a Merge branch 'staging'
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 3080
gpu_devices_active:  GPU_0
gpu_driver:          527.37
gpu_vram:            GPU_0: 10240MB
os_machine:          AMD64
os_platform:         Windows-10-10.0.25262-SP0
os_release:          10
py_command:          E:\faceswap/faceswap.py gui
py_conda_version:    conda 22.11.1
py_implementation:   CPython
py_version:          3.9.15
py_virtual_env:      True
sys_cores:           64
sys_processor:       AMD64 Family 23 Model 49 Stepping 0, AuthenticAMD
sys_ram:             Total: 65406MB, Available: 39186MB, Used: 26219MB, Free: 39186MB

=============== Pip Packages ===============
absl-py @ file:///C:/b/abs_5babsu7y5x/croot/absl-py_1666362945682/work
astunparse==1.6.3
cachetools==5.2.0
certifi==2022.12.7
charset-normalizer==2.1.1
clang==5.0
cloudpickle @ file:///tmp/build/80754af9/cloudpickle_1632508026186/work
colorama @ file:///C:/Windows/TEMP/abs_9439aeb1-0254-449a-96f7-33ab5eb17fc8apleb4yn/croots/recipe/colorama_1657009099097/work
cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
dm-tree==0.1.5
fastcluster @ file:///D:/bld/fastcluster_1649783471014/work
ffmpy==0.3.0
flatbuffers==1.12
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
fonttools==4.25.0
gast==0.4.0
google-auth==2.15.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.51.1
h5py==3.1.0
idna==3.4
imageio @ file:///C:/Windows/TEMP/abs_24c1b783-7540-4ca9-a1b1-0e8aa8e6ae64hb79ssux/croots/recipe/imageio_1658785038775/work
imageio-ffmpeg @ file:///home/conda/feedstock_root/build_artifacts/imageio-ffmpeg_1649960641006/work
importlib-metadata==5.1.0
joblib @ file:///C:/b/abs_e60_bwl1v6/croot/joblib_1666298845728/work
keras==2.9.0
Keras-Preprocessing==1.1.2
kiwisolver @ file:///C:/ci/kiwisolver_1653292407425/work
libclang==14.0.6
Markdown==3.4.1
MarkupSafe==2.1.1
matplotlib @ file:///C:/b/abs_ae02atcfur/croot/matplotlib-suite_1667356722968/work
mkl-fft==1.3.1
mkl-random @ file:///C:/ci/mkl_random_1626186184308/work
mkl-service==2.4.0
munkres==1.1.4
numexpr @ file:///C:/b/abs_a7kbak88hk/croot/numexpr_1668713882979/work
numpy @ file:///C:/b/abs_5ct9ex77k9/croot/numpy_and_numpy_base_1668593740598/work
nvidia-ml-py==11.515.75
oauthlib==3.2.2
opencv-python==4.6.0.66
opt-einsum==3.3.0
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
Pillow==9.2.0
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.4.8
pyasn1-modules==0.2.8
pyparsing @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_7f_7lba6rl/croots/recipe/pyparsing_1661452540662/work
PyQt5==5.15.7
PyQt5-sip @ file:///C:/Windows/Temp/abs_d7gmd2jg8i/croots/recipe/pyqt-split_1659273064801/work/pyqt_sip
python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
pywin32==305.1
pywinpty @ file:///C:/ci_310/pywinpty_1644230983541/work/target/wheels/pywinpty-2.0.2-cp39-none-win_amd64.whl
requests==2.28.1
requests-oauthlib==1.3.1
rsa==4.9
scikit-learn @ file:///C:/b/abs_eezai1guz5/croot/scikit-learn_1667587552067/work
scipy==1.9.3
sip @ file:///C:/Windows/Temp/abs_b8fxd17m2u/croots/recipe/sip_1659012372737/work
six @ file:///tmp/build/80754af9/six_1644875935023/work
tensorboard==2.9.1
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow-estimator==2.9.0
tensorflow-gpu==2.9.3
tensorflow-io-gcs-filesystem==0.28.0
tensorflow-probability @ file:///tmp/build/80754af9/tensorflow-probability_1633017132682/work
termcolor==1.1.0
threadpoolctl @ file:///Users/ktietz/demo/mc3/conda-bld/threadpoolctl_1629802263681/work
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
tornado @ file:///C:/ci/tornado_1662458743919/work
tqdm @ file:///C:/b/abs_0axbz66qik/croots/recipe/tqdm_1664392691071/work
typing_extensions @ file:///C:/b/abs_89eui86zuq/croot/typing_extensions_1669923792806/work
urllib3==1.26.13
Werkzeug==2.2.2
wincertstore==0.2
wrapt==1.12.1
zipp==3.11.0

============== Conda Packages ==============
# packages in environment at C:\Users\phatw\MiniConda3\envs\faceswap:
#
# Name                    Version                   Build  Channel
absl-py                   0.15.0                   pypi_0    pypi
astunparse                1.6.3                    pypi_0    pypi
blas                      1.0                         mkl  
brotli 1.0.9 h2bbff1b_7
brotli-bin 1.0.9 h2bbff1b_7
ca-certificates 2022.12.7 h5b45459_0 conda-forge cachetools 5.2.0 pypi_0 pypi certifi 2022.12.7 pyhd8ed1ab_0 conda-forge charset-normalizer 2.1.1 pypi_0 pypi clang 5.0 pypi_0 pypi cloudpickle 2.0.0 pyhd3eb1b0_0
colorama 0.4.5 py39haa95532_0
cudatoolkit 11.2.2 h933977f_10 conda-forge cudnn 8.1.0.77 h3e0f4f4_0 conda-forge cycler 0.11.0 pyhd3eb1b0_0
decorator 5.1.1 pyhd3eb1b0_0
dm-tree 0.1.5 py39hf11a4ad_0
fastcluster 1.2.6 py39h2e25243_1 conda-forge ffmpeg 4.2.2 he774522_0
ffmpy 0.3.0 pypi_0 pypi fftw 3.3.9 h2bbff1b_1
flatbuffers 1.12 pypi_0 pypi flit-core 3.6.0 pyhd3eb1b0_0
fonttools 4.25.0 pyhd3eb1b0_0
freetype 2.12.1 ha860e81_0
gast 0.4.0 pypi_0 pypi git 2.34.1 haa95532_0
glib 2.69.1 h5dc1a3c_2
google-auth 2.15.0 pypi_0 pypi google-auth-oauthlib 0.4.6 pypi_0 pypi google-pasta 0.2.0 pypi_0 pypi grpcio 1.51.1 pypi_0 pypi gst-plugins-base 1.18.5 h9e645db_0
gstreamer 1.18.5 hd78058f_0
h5py 3.1.0 pypi_0 pypi icc_rt 2022.1.0 h6049295_2
icu 58.2 ha925a31_3
idna 3.4 pypi_0 pypi imageio 2.19.3 py39haa95532_0
imageio-ffmpeg 0.4.7 pyhd8ed1ab_0 conda-forge importlib-metadata 5.1.0 pypi_0 pypi intel-openmp 2021.4.0 haa95532_3556
joblib 1.1.1 py39haa95532_0
jpeg 9e h2bbff1b_0
keras 2.9.0 pypi_0 pypi keras-preprocessing 1.1.2 pypi_0 pypi kiwisolver 1.4.2 py39hd77b12b_0
lerc 3.0 hd77b12b_0
libbrotlicommon 1.0.9 h2bbff1b_7
libbrotlidec 1.0.9 h2bbff1b_7
libbrotlienc 1.0.9 h2bbff1b_7
libclang 14.0.6 pypi_0 pypi libdeflate 1.8 h2bbff1b_5
libffi 3.4.2 hd77b12b_6
libiconv 1.16 h2bbff1b_2
libogg 1.3.5 h2bbff1b_1
libpng 1.6.37 h2a8f88b_0
libtiff 4.4.0 h8a3f274_2
libvorbis 1.3.7 he774522_0
libwebp 1.2.4 h2bbff1b_0
libwebp-base 1.2.4 h2bbff1b_0
libxml2 2.9.14 h0ad7f3c_0
libxslt 1.1.35 h2bbff1b_0
lz4-c 1.9.3 h2bbff1b_1
markdown 3.4.1 pypi_0 pypi markupsafe 2.1.1 pypi_0 pypi matplotlib 3.5.3 py39haa95532_0
matplotlib-base 3.5.3 py39hd77b12b_0
mkl 2021.4.0 haa95532_640
mkl-service 2.4.0 py39h2bbff1b_0
mkl_fft 1.3.1 py39h277e83a_0
mkl_random 1.2.2 py39hf11a4ad_0
munkres 1.1.4 py_0
numexpr 2.8.4 py39h5b0cc5e_0
numpy 1.19.5 pypi_0 pypi numpy-base 1.23.4 py39h4da318b_0
nvidia-ml-py 11.515.75 pypi_0 pypi oauthlib 3.2.2 pypi_0 pypi opencv-python 4.6.0.66 pypi_0 pypi openssl 1.1.1s h2bbff1b_0
opt-einsum 3.3.0 pypi_0 pypi packaging 21.3 pyhd3eb1b0_0
pcre 8.45 hd77b12b_0
pillow 9.2.0 py39hdc2b20a_1
pip 22.2.2 py39haa95532_0
ply 3.11 py39haa95532_0
protobuf 3.19.6 pypi_0 pypi psutil 5.9.0 py39h2bbff1b_0
pyasn1 0.4.8 pypi_0 pypi pyasn1-modules 0.2.8 pypi_0 pypi pyparsing 3.0.9 py39haa95532_0
pyqt 5.15.7 py39hd77b12b_0
pyqt5-sip 12.11.0 py39hd77b12b_0
python 3.9.15 h6244533_2
python-dateutil 2.8.2 pyhd3eb1b0_0
python_abi 3.9 2_cp39 conda-forge pywin32 305 py39h2bbff1b_0
pywinpty 2.0.2 py39h5da7b33_0
qt-main 5.15.2 he8e5bd7_7
qt-webengine 5.15.9 hb9a9bb5_4
qtwebkit 5.212 h3ad3cdb_4
requests 2.28.1 pypi_0 pypi requests-oauthlib 1.3.1 pypi_0 pypi rsa 4.9 pypi_0 pypi scikit-learn 1.1.3 py39hd77b12b_0
scipy 1.9.3 py39he11b74f_0
setuptools 65.5.0 py39haa95532_0
sip 6.6.2 py39hd77b12b_0
six 1.15.0 pypi_0 pypi sqlite 3.40.0 h2bbff1b_0
tensorboard 2.9.1 pypi_0 pypi tensorboard-data-server 0.6.1 pypi_0 pypi tensorboard-plugin-wit 1.8.1 pypi_0 pypi tensorflow-estimator 2.9.0 pypi_0 pypi tensorflow-gpu 2.6.0 pypi_0 pypi tensorflow-io-gcs-filesystem 0.28.0 pypi_0 pypi tensorflow-probability 0.14.0 pyhd3eb1b0_0
termcolor 1.1.0 pypi_0 pypi threadpoolctl 2.2.0 pyh0d69192_0
tk 8.6.12 h2bbff1b_0
toml 0.10.2 pyhd3eb1b0_0
tornado 6.2 py39h2bbff1b_0
tqdm 4.64.1 py39haa95532_0
typing-extensions 3.7.4.3 pypi_0 pypi typing_extensions 4.4.0 py39haa95532_0
tzdata 2022g h04d1e81_0
urllib3 1.26.13 pypi_0 pypi vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
werkzeug 2.2.2 pypi_0 pypi wheel 0.37.1 pyhd3eb1b0_0
wincertstore 0.2 py39haa95532_2
winpty 0.4.3 4
wrapt 1.12.1 pypi_0 pypi xz 5.2.8 h8cc25b3_0
zipp 3.11.0 pypi_0 pypi zlib 1.2.13 h8cc25b3_0
zstd 1.5.2 h19a0ad4_0 ================= 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.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.fan] batch-size: 64 [detect.cv2_dnn] confidence: 50 [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: 64 [mask.bisenet_fp] batch-size: 12 cpu: True 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: 12 cpu: True --------- 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: True conv_aware_init: True optimizer: adabelief learning_rate: 5e-05 epsilon_exponent: -16 autoclip: False reflect_padding: False allow_growth: False mixed_precision: True nan_protection: True convert_batchsize: 16 [global.loss] loss_function: ms_ssim loss_function_2: smooth_loss loss_weight_2: 100 loss_function_3: ffl loss_weight_3: 100 loss_function_4: lpips_alex loss_weight_4: 1 mask_loss_function: mse eye_multiplier: 3 mouth_multiplier: 2 penalized_mask_loss: True mask_type: bisenet-fp_face 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: 128 architecture: df 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: 256 shared_fc: None enable_gblock: False split_fc: False split_gblock: False split_decoders: True enc_architecture: fs_original enc_scaling: 25 enc_load_weights: False bottleneck_type: dense bottleneck_norm: None bottleneck_size: 512 bottleneck_in_encoder: True fc_depth: 0 fc_min_filters: 512 fc_max_filters: 512 fc_dimensions: 1 fc_filter_slope: 0.0 fc_dropout: 0.0 fc_upsampler: upsample2d fc_upsamples: 2 fc_upsample_filters: 128 fc_gblock_depth: 1 fc_gblock_min_nodes: 128 fc_gblock_max_nodes: 128 fc_gblock_filter_slope: 0.0 fc_gblock_dropout: 0.0 dec_upscale_method: upscale_dny dec_upscales_in_fc: 1 dec_norm: None dec_min_filters: 16 dec_max_filters: 512 dec_slope_mode: cap_max dec_filter_slope: 0.5 dec_res_blocks: 0 dec_output_kernel: 1 dec_gaussian: False dec_skip_last_residual: False freeze_layers: encoder load_layers: encoder fs_original_depth: 7 fs_original_min_filters: 16 fs_original_max_filters: 512 fs_original_use_alt: True 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 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
User avatar
torzdf
Posts: 2649
Joined: Fri Jul 12, 2019 12:53 am
Answers: 159
Has thanked: 128 times
Been thanked: 623 times

Re: Preview tool doesn't update - RuntimeError: main thread is not in main loop

Post by torzdf »

Ok... I think this bug has been fixed now.

My word is final

Locked