CoolFace
Apppublic

lenML/ChatTTS-Forge

sourceHugging Faceagpl-3.0updated 2y agoView on Hugging Face
301likes
rng.py36 linesDownload Raw Back to utils
1import numpy as np2import torch3 4TORCH_RNG_MAX = 0xFFFF_FFFF_FFFF_FFFF5TORCH_RNG_MIN = -0x8000_0000_0000_00006 7NP_RNG_MAX = np.iinfo(np.uint32).max8NP_RNG_MIN = 09 10 11def torch_rng(seed: int):12    torch.manual_seed(seed)13    random_float = torch.empty(1).uniform_().item()14    torch_rn = int(random_float * (TORCH_RNG_MAX - TORCH_RNG_MIN) + TORCH_RNG_MIN)15    np_rn = int(random_float * (NP_RNG_MAX - NP_RNG_MIN) + NP_RNG_MIN)16    return torch_rn, np_rn17 18 19def convert_np_to_torch(np_rn: int):20    random_float = (np_rn - NP_RNG_MIN) / (NP_RNG_MAX - NP_RNG_MIN)21    torch_rn = int(random_float * (TORCH_RNG_MAX - TORCH_RNG_MIN) + TORCH_RNG_MIN)22    return torch_rn23 24 25def np_rng():26    return int(np.random.randint(NP_RNG_MIN, NP_RNG_MAX, dtype=np.uint32))27 28 29if __name__ == "__main__":30    import random31 32    print(TORCH_RNG_MIN, TORCH_RNG_MAX)33    s1 = np_rng()34    s2 = torch_rng(s1)35    print(f"s1 {s1}  => s2: {s2}")36