ford442 commited on
Commit
966b4a8
Β·
1 Parent(s): 6311068

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -4
app.py CHANGED
@@ -124,7 +124,7 @@ def load_and_prepare_model(model_id):
124
  # Preload and compile both models
125
  models = {key: load_and_prepare_model(value) for key, value in MODEL_OPTIONS.items()}
126
 
127
- MAX_SEED = np.iinfo(np.int64).max
128
 
129
  def upload_to_ftp(filename):
130
  try:
@@ -148,8 +148,22 @@ def randomize_seed_fn(seed: int, randomize_seed: bool) -> int:
148
  if randomize_seed:
149
  seed = random.randint(0, MAX_SEED)
150
  return seed
 
151
 
152
- @spaces.GPU(duration=60)
 
 
 
 
 
 
 
 
 
 
 
 
 
153
  def generate(
154
  model_choice: str,
155
  prompt: str,
@@ -169,7 +183,7 @@ def generate(
169
  global models
170
  pipe = models[model_choice]
171
  seed = int(randomize_seed_fn(seed, randomize_seed))
172
- generator = torch.Generator(device='cuda').manual_seed(seed)
173
 
174
  prompt, negative_prompt = apply_style(style_selection, prompt, negative_prompt)
175
 
@@ -188,7 +202,8 @@ def generate(
188
  options["use_resolution_binning"] = True
189
 
190
  images = []
191
- for i in range(0, num_images, BATCH_SIZE):
 
192
  batch_options = options.copy()
193
  batch_options["prompt"] = options["prompt"][i:i+BATCH_SIZE]
194
  if "negative_prompt" in batch_options:
 
124
  # Preload and compile both models
125
  models = {key: load_and_prepare_model(value) for key, value in MODEL_OPTIONS.items()}
126
 
127
+ MAX_SEED = np.iinfo(np.int32).max
128
 
129
  def upload_to_ftp(filename):
130
  try:
 
148
  if randomize_seed:
149
  seed = random.randint(0, MAX_SEED)
150
  return seed
151
+
152
 
153
+
154
+ GPU_DURATION_OPTIONS = {
155
+ "Short (45s)": 45,
156
+ "Short (60s)": 60,
157
+ "Medium (80s)": 80,
158
+ "Medium (100s)": 100,
159
+ "Long (120s)": 120,
160
+ "Long (140s)": 140,
161
+ }
162
+
163
+ def set_gpu_duration(duration_choice):
164
+ os.environ["GPU_DURATION"] = str(GPU_DURATION_OPTIONS[duration_choice])
165
+
166
+ @spaces.GPU(duration=int(os.getenv("GPU_DURATION", "80"))) # Dynamic duration
167
  def generate(
168
  model_choice: str,
169
  prompt: str,
 
183
  global models
184
  pipe = models[model_choice]
185
  seed = int(randomize_seed_fn(seed, randomize_seed))
186
+ generator = torch.Generator(device='cpu').manual_seed(seed)
187
 
188
  prompt, negative_prompt = apply_style(style_selection, prompt, negative_prompt)
189
 
 
202
  options["use_resolution_binning"] = True
203
 
204
  images = []
205
+ with torch.no_grad():
206
+ for i in range(0, num_images, BATCH_SIZE):
207
  batch_options = options.copy()
208
  batch_options["prompt"] = options["prompt"][i:i+BATCH_SIZE]
209
  if "negative_prompt" in batch_options: