Skip to content

Conversation

@yqzhishen
Copy link
Collaborator

@yqzhishen yqzhishen commented Apr 1, 2024

Motivation

Due to current limitations, the variance parameters in DiffSinger inference process cannot be shown, edited or persisted. However, this made DiffSinger unstable because real values of the parameters are re-genenrated each time their relative offsets are edited. Meanwhile, some voicebanks may use model weights that are exactly the same in their submodules across versions, so it is unnecessary (or unexpected, if this is a researching/benchmarking senario) to run inference repeatedly. Thus, making these intermediate variables persistent may improve the stability and reduce randomness.

Changes

This PR adds a tensor caching system for DiffSinger. With the caching system, same model weights and same input tensors will be guaranteed with the same outputs, regardless of how the model files are named, where they are placed and which voicebank they belong to. The caching system saves cache files with extension ".tensorcache" in the cache directory. The bahavior of reading and saving cache files can be manually disabled through Tools>Preferences>Cache>DiffSinger Tensor Cache.

@stakira stakira merged commit 893204e into stakira:master Apr 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants