prevent black screen when seed and variation seed are the same.
This commit is contained in:
parent
c76a616bc9
commit
6a28aac866
|
@ -117,7 +117,12 @@ class Processed:
|
||||||
def slerp(val, low, high):
|
def slerp(val, low, high):
|
||||||
low_norm = low/torch.norm(low, dim=1, keepdim=True)
|
low_norm = low/torch.norm(low, dim=1, keepdim=True)
|
||||||
high_norm = high/torch.norm(high, dim=1, keepdim=True)
|
high_norm = high/torch.norm(high, dim=1, keepdim=True)
|
||||||
omega = torch.acos((low_norm*high_norm).sum(1))
|
dot = (low_norm*high_norm).sum(1)
|
||||||
|
|
||||||
|
if dot.mean() > 0.9995:
|
||||||
|
return low * val + high * (1 - val)
|
||||||
|
|
||||||
|
omega = torch.acos(dot)
|
||||||
so = torch.sin(omega)
|
so = torch.sin(omega)
|
||||||
res = (torch.sin((1.0-val)*omega)/so).unsqueeze(1)*low + (torch.sin(val*omega)/so).unsqueeze(1) * high
|
res = (torch.sin((1.0-val)*omega)/so).unsqueeze(1)*low + (torch.sin(val*omega)/so).unsqueeze(1) * high
|
||||||
return res
|
return res
|
||||||
|
|
Loading…
Reference in New Issue
Block a user