Open Iagmon opened 2 months ago
I had a similar issue with both XTTS webui and XTTS webui finetuner. I managed to solve it for both of them, by going into xtts-webui\venv\Lib\site-packages\pydantic_internal and opening the _config.py file. In this file, I found arbitrary_types_allowed=False and changed it to arbitrary_types_allowed=True. Hope this helps.
I had the same issues and this resolved it with one small correction. The path to the file is:
xtts-webui\venv\Lib\site-packages\pydantic\_internal
EDITED TO IMPROVE RESPONSE AND DETAIL
I lost an entire day going in circles trying to install the finetuning, and believe I've worked out why, hopefully this helps others. i first tried these forks, but both FAILED
https://github.com/aitrepreneur/xtts-finetune-webui
https://github.com/daswer123/xtts-webui?tab=readme-ov-file
the former was getting ASGI errors during install. the latter installed, loaded the Web UI, but errored when creating datasets - After amending "arbitrary_types_allowed" to "True" in the "_internal/config.py" I could load datasets, but then got errors trying to train the model. i trial and errored multiple versions of conflicting packages, even used ChatGPT to help, tried all sorts (lost a day!) but as soon as one thing was fixed it broke or conflicted with something else.
the main difference i found on these forks were the "requirements.txt" - as soon as i realised this, i began trying all other forks that specified different requirement.txt.
and pretty quickly stumbled on this - WORKING fork:
https://github.com/KataevEvgeniy/xtts-finetune-webui
the "requirements.txt" - contained these:
faster_whisper==1.0.2
gradio==4.13.0
spacy==3.7.4
coqui-tts[languages] == 0.24.1
cutlet
fugashi[unidic-lite]
(FYI - the pydantic versions this ends up with are "pydantic-2.9.2." and "pydantic_core-2.23.4" - but neither need to be included in the requirements.txt, at least they didnt for me)
now, here's a CRUCIAL part no one seems to make clear. when you download the source files, you don't have the "VENV" sub-folder yet, and that will later contain the config.py where you need to amend "arbitrary_types_allowed" to "True"
so, the steps should be:
download the source files, and unzip to an install directory of your choice
(optional step, but might affect some users) grant the "users" group, or "everyone" read, write, and modify (or full control if you want) to the install directory you chose.
Run the install.bat in the root directory - this will install the "VENV" (among other things) wait for it to complete, IGNORE any errors (if any) just for the moment.
once finished, navigate to "xtts-webui\venv\Lib\site-packages\pydantic_internal\config.py" and amend "arbitrary_types_allowed" to "True" - save and close "config.py" (for clarity, this fixes errors when creating datasets before training a model)
go back and re-run the install.bat a 2nd time (I've had it where it previously errors due to a missing package, but on subsequent runs manages to find it and overcome the error) no harm will be done, at worst case it just reinstalls everything over the top again, or fills in any gaps.
hopefully you get no errors this time around, and it will either automatically load the server for you, or you'll have to manually run the "start.bat" yourself.
so at this point, you should be able to:
you MIGHT still run into errors when trying to train the model.... firstly, this could be due to "OutOfMemory" similar to this error:
RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 2.61 GiB already allocated; 0 bytes free; 2.86 GiB reserved in total by PyTorch)
i was getting this on an 8GB laptop 4060 RTX card, with 16GB of system RAM. the problem is the default settings for the driver, restricting the GPU to only using its VRAM, and 8GB wasn't enough. NVidia drivers need to be on version 531 or higher to make use of a setting called "CUDA - System Fallback Policy" that lets its use system RAM in addition to VRAM if it runs out. if you're driver supports this feature (my NVidia driver version was 555) just to go "NVidia control panel > 3d Settings > Manage 3d Settings > Global settings (tab) > CUDA - system fallback policy" and set it to "Prefer System Fallback" this will hopefully solve the OutOfMemory issue during training.
the 2nd problem you might come across, especially if you had at least 1 x failed attempt to train before, is a "Permission denied" error when the XTTS wants to delete the "run" folder from the previous training. even with full permissions, it fails to delete the folder and aborts the rest of the task. if thats the case, you must delete the run folder yourself to overcome it. the run folder will be stored here:
"xtts-webui\finetune_models\run"
delete that, then retry training your model. fingers crossed, it will start working.
for your first run, you might want to keep:
once you've managed to finish your training, do the "optimize model" step to quantize it to a much more manageable size. you can then use that model wherever you like.
I just installed XTTS-Finetune-Webui, but I can't use it because when I click the "Create Dataset" I get the error below.
Reinstalling it didn't help, and looking for previous similar issues didn't help either (the only issue I found that was just like mine was closed by the same user who opened it, saying he managed to get things running after restarting the PC, but that didn't work for me).
I also got the exact same issue when I installed the XTTS-Webui, but then I downloaded the XTTS-Webui's portable version and it worked normally.
I did run the following commands, as mentioned in a similar issue, but to no avail.
Here's the error log: