PoopMan333 commited on
Commit
547a95f
·
verified ·
1 Parent(s): 6203920

just drop this into custom_nodes folder root

Browse files
Files changed (1) hide show
  1. beta_57_standalone.py +52 -0
beta_57_standalone.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ import torch
3
+ import numpy
4
+ import scipy.stats
5
+ from comfy.samplers import SchedulerHandler, SCHEDULER_HANDLERS, SCHEDULER_NAMES
6
+
7
+ MIN_FLOAT = -sys.float_info.max
8
+ MAX_FLOAT = sys.float_info.max
9
+
10
+ def beta_57_scheduler(model_sampling, steps, alpha=0.5, beta=0.7):
11
+ total_timesteps = (len(model_sampling.sigmas) - 1)
12
+ ts = 1 - numpy.linspace(0, 1, steps, endpoint=False)
13
+ ts = numpy.rint(scipy.stats.beta.ppf(ts, alpha, beta) * total_timesteps)
14
+
15
+ sigs = []
16
+ last_t = -1
17
+ for t in ts:
18
+ if t != last_t:
19
+ sigs += [float(model_sampling.sigmas[int(t)])]
20
+ last_t = t
21
+ sigs += [0.0]
22
+ return torch.FloatTensor(sigs)
23
+
24
+ scheduler_name = "beta_57"
25
+ if scheduler_name not in SCHEDULER_HANDLERS:
26
+ scheduler_handler = SchedulerHandler(handler=beta_57_scheduler, use_ms=True)
27
+ SCHEDULER_HANDLERS[scheduler_name] = scheduler_handler
28
+ if scheduler_name not in SCHEDULER_NAMES:
29
+ SCHEDULER_NAMES.append(scheduler_name)
30
+
31
+ class StaticFloat:
32
+ @classmethod
33
+ def INPUT_TYPES(s):
34
+ return {
35
+ "required": {
36
+ "value": ("FLOAT", {"default": 1.0, "min": MIN_FLOAT, "max": MAX_FLOAT, "step": 0.01}),
37
+ },
38
+ }
39
+
40
+ RETURN_TYPES = ("FLOAT",)
41
+ CATEGORY = "utils/primitive"
42
+ FUNCTION = "set_float"
43
+
44
+ def set_float(self, value: float):
45
+ return (value,)
46
+
47
+ NODE_CLASS_MAPPINGS = {
48
+ "StaticFloat": StaticFloat,
49
+ }
50
+ NODE_DISPLAY_NAME_MAPPINGS = {
51
+ "StaticFloat": "Static Float Primitive",
52
+ }