Spaces:
Running
on
Zero
Running
on
Zero
# Copied from https://github.com/Shenyi-Z/TaylorSeer/blob/main/TaylorSeers-xDiT/taylorseer_flux/cache_functions/force_scheduler.py | |
import torch | |
def force_scheduler(cache_dic, current): | |
if cache_dic['fresh_ratio'] == 0: | |
# FORA | |
linear_step_weight = 0.0 | |
else: | |
# TokenCache | |
linear_step_weight = 0.0 | |
step_factor = torch.tensor(1 - linear_step_weight + 2 * linear_step_weight * current['step'] / current['num_steps']) | |
threshold = torch.round(cache_dic['fresh_threshold'] / step_factor) | |
# no force constrain for sensitive steps, cause the performance is good enough. | |
# you may have a try. | |
cache_dic['cal_threshold'] = threshold | |
#return threshold |