Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

Some Personal Changes that Might Help #125

Open
wants to merge 7 commits into
base: 4.0
Choose a base branch
from
Open

Conversation

f-tang
Copy link

@f-tang f-tang commented Feb 24, 2023

大佬您好,我在个人fork仓库里做了一些微小的修复,内容主要是:

  1. inference_main.py 中加入了Exception handler防止批量推理时因某些文件的错误导致崩溃
  2. preprocess_flist_config.py 中调整了training set, validation set和test set的分配。一般来说training set和validation set的比例应为8:2 或 9:1,validation set不应过小。test set来源没有关系,但不应来自于training set。

如果有帮助的话可以approve。非常感谢这个项目,大佬辛苦了。

Hi,
I've made some fixes in my personal fork repo, including:

  1. Added Exception handler in inference_main.py to prevent batch inference process interrupted by some file errors.
  2. Changed the distribution of training set, validation set and test set in preprocess_flist_config.py. According to Machine Learning theory, the ratio of training set vs. validation set is typically 8:2 or 9:1. The validation set should not be too small. And test set feature doesn't matter so much, but it should not be a part of the training set.

Feel free to approve or discard my PR. Thanks so much for the project.
Regards,
f-tang

@innnky
Copy link
Owner

innnky commented Feb 24, 2023

关于验证集数量的问题,在vits中验证集并没有计算loss(而且音频的验证集loss并没有太大的意义,一切都是以主观听感为准),验证集的存在只是用来在tensorboard预览音频听主观效果的,加大验证集数量是没有意义的;
其次,验证集中每个音频在eval_interval 时候都会合成并存储下来,如果验证集太大每次eval会消耗更多时间,而且tensorboard的音频预览也会撑爆,硬盘空间也会消耗的特别快
综上,我认为我目前的方案:每个人两个音频做验证集是非常合理的。你想一下如果有总共有2万条音频数据,按你说的9:1,则每次eval需要推理以及存储2000条音频。。。这是完全不可行的,硬盘会被无意义的推理音频撑满,而且这么多预览音频你也听不过来

@innnky
Copy link
Owner

innnky commented Feb 24, 2023

关于验证集数量的问题,在vits中验证集并没有计算loss(而且音频的验证集loss并没有太大的意义,一切都是以主观听感为准),验证集的存在只是用来在tensorboard预览音频听主观效果的,加大验证集数量是没有意义的; 其次,验证集中每个音频在eval_interval 时候都会合成并存储下来,如果验证集太大每次eval会消耗更多时间,而且tensorboard的音频预览也会撑爆,硬盘空间也会消耗的特别快 综上,我认为我目前的方案:每个人两个音频做验证集是非常合理的。你想一下如果有总共有2万条音频数据,按你说的9:1,则每次eval需要推理以及存储2000条音频。。。这是完全不可行的,硬盘会被无意义的推理音频撑满,而且这么多预览音频你也听不过来

ps:预训练模型就是2万条音频训练的

@f-tang
Copy link
Author

f-tang commented Feb 24, 2023

感谢您的解答!我已revert相关改动。也就是说在vits中的val set实际上相当于是test set,那么为什么还要划分test set呢?

@f-tang
Copy link
Author

f-tang commented Feb 24, 2023

另外一个问题是,如果loss无意义,那么训练过程中tensorboard上的有用信息就只有AUDIO里的预览音频了是吗?

@innnky
Copy link
Owner

innnky commented Feb 25, 2023

test目前确实是没有用的,之前从freevc继承过来的代码一直懒得改了😂
tensorboard上现在是只有训练集的loss,训练集loss还是有点参考意义的,但一般只要不是loss起飞爆炸就没事,终极评价标准依旧是主观听感

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants