Fabrice-TIERCELIN commited on
Commit
3e3bb91
·
verified ·
1 Parent(s): f479bbf

The resolution of the generated video will be...

Browse files
Files changed (1) hide show
  1. diffusers_helper/bucket_tools.py +103 -30
diffusers_helper/bucket_tools.py CHANGED
@@ -1,30 +1,103 @@
1
- bucket_options = {
2
- 640: [
3
- (416, 960),
4
- (448, 864),
5
- (480, 832),
6
- (512, 768),
7
- (544, 704),
8
- (576, 672),
9
- (608, 640),
10
- (640, 608),
11
- (672, 576),
12
- (704, 544),
13
- (768, 512),
14
- (832, 480),
15
- (864, 448),
16
- (960, 416),
17
- ],
18
- }
19
-
20
-
21
- def find_nearest_bucket(h, w, resolution=640):
22
- min_metric = float('inf')
23
- best_bucket = None
24
- for (bucket_h, bucket_w) in bucket_options[resolution]:
25
- metric = abs(h * bucket_w - w * bucket_h)
26
- if metric <= min_metric:
27
- min_metric = metric
28
- best_bucket = (bucket_h, bucket_w)
29
- return best_bucket
30
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ bucket_options = {
2
+ 640: [
3
+ (416, 960),
4
+ (448, 864),
5
+ (480, 832),
6
+ (512, 768),
7
+ (544, 704),
8
+ (576, 672),
9
+ (608, 640),
10
+ (640, 608),
11
+ (672, 576),
12
+ (704, 544),
13
+ (768, 512),
14
+ (832, 480),
15
+ (864, 448),
16
+ (960, 416),
17
+ ],
18
+ 672: [
19
+ (480, 864),
20
+ (512, 832),
21
+ (544, 768),
22
+ (576, 704),
23
+ (608, 672),
24
+ (640, 640),
25
+ (672, 608),
26
+ (704, 576),
27
+ (768, 544),
28
+ (832, 512),
29
+ (864, 480),
30
+ ],
31
+ 704: [
32
+ (480, 960),
33
+ (512, 864),
34
+ (544, 832),
35
+ (576, 768),
36
+ (608, 704),
37
+ (640, 672),
38
+ (672, 640),
39
+ (704, 608),
40
+ (768, 576),
41
+ (832, 544),
42
+ (864, 512),
43
+ (960, 480),
44
+ ],
45
+ 768: [
46
+ (512, 960),
47
+ (544, 864),
48
+ (576, 832),
49
+ (608, 768),
50
+ (640, 704),
51
+ (672, 672),
52
+ (704, 640),
53
+ (768, 608),
54
+ (832, 576),
55
+ (864, 544),
56
+ (960, 512),
57
+ ],
58
+ 832: [
59
+ (544, 960),
60
+ (576, 864),
61
+ (608, 832),
62
+ (640, 768),
63
+ (672, 704),
64
+ (704, 672),
65
+ (768, 640),
66
+ (832, 608),
67
+ (864, 576),
68
+ (960, 544),
69
+ ],
70
+ 864: [
71
+ (576, 960),
72
+ (608, 864),
73
+ (640, 832),
74
+ (672, 768),
75
+ (704, 704),
76
+ (768, 672),
77
+ (832, 640),
78
+ (864, 608),
79
+ (960, 576),
80
+ ],
81
+ 960: [
82
+ (608, 960),
83
+ (640, 864),
84
+ (672, 832),
85
+ (704, 768),
86
+ (768, 704),
87
+ (832, 672),
88
+ (864, 640),
89
+ (960, 608),
90
+ ],
91
+ }
92
+
93
+
94
+ def find_nearest_bucket(h, w, resolution=640):
95
+ min_metric = float('inf')
96
+ best_bucket = None
97
+ for (bucket_h, bucket_w) in bucket_options[resolution]:
98
+ metric = abs(h * bucket_w - w * bucket_h)
99
+ if metric <= min_metric:
100
+ min_metric = metric
101
+ best_bucket = (bucket_h, bucket_w)
102
+ print("The resolution of the generated video will be " + str(best_bucket))
103
+ return best_bucket