Ffftdtd5dtft commited on
Commit
8d09718
verified
1 Parent(s): 94f61cc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -10
app.py CHANGED
@@ -13,10 +13,9 @@ import multiprocessing
13
  import io
14
  import time
15
 
16
- # Obtener las variables de entorno
17
  hf_token = os.getenv("HF_TOKEN")
18
  redis_host = os.getenv("REDIS_HOST")
19
- redis_port = int(os.getenv("REDIS_PORT", 6379)) # Valor predeterminado si no se proporciona
20
  redis_password = os.getenv("REDIS_PASSWORD")
21
 
22
  HfFolder.save_token(hf_token)
@@ -25,8 +24,7 @@ def connect_to_redis():
25
  while True:
26
  try:
27
  redis_client = redis.Redis(host=redis_host, port=redis_port, password=redis_password)
28
- redis_client.ping() # Verifica si la conexi贸n est谩 activa
29
- print("Connected to Redis successfully.")
30
  return redis_client
31
  except (redis.exceptions.ConnectionError, redis.exceptions.TimeoutError, BrokenPipeError) as e:
32
  print(f"Connection to Redis failed: {e}. Retrying in 1 second...")
@@ -55,19 +53,16 @@ def save_object_to_redis(key, obj):
55
  redis_client = reconnect_if_needed(redis_client)
56
  try:
57
  redis_client.set(key, pickle.dumps(obj))
58
- print(f"Object saved to Redis: {key}")
59
  except redis.exceptions.RedisError as e:
60
  print(f"Failed to save object to Redis: {e}")
61
 
62
  def get_model_or_download(model_id, redis_key, loader_func):
63
  model = load_object_from_redis(redis_key)
64
  if model:
65
- print(f"Model loaded from Redis: {redis_key}")
66
  return model
67
  try:
68
  model = loader_func(model_id, torch_dtype=torch.float16)
69
  save_object_to_redis(redis_key, model)
70
- print(f"Model downloaded and saved to Redis: {redis_key}")
71
  except Exception as e:
72
  print(f"Failed to load or save model: {e}")
73
  return None
@@ -221,7 +216,6 @@ for _ in range(num_processes):
221
 
222
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
223
 
224
- # Cargar modelos
225
  text_to_image_pipeline = get_model_or_download("stabilityai/stable-diffusion-2", "text_to_image_model", StableDiffusionPipeline.from_pretrained)
226
  img2img_pipeline = get_model_or_download("CompVis/stable-diffusion-v1-4", "img2img_model", StableDiffusionImg2ImgPipeline.from_pretrained)
227
  flux_pipeline = get_model_or_download("black-forest-labs/FLUX.1-schnell", "flux_model", FluxPipeline.from_pretrained)
@@ -229,7 +223,6 @@ text_gen_pipeline = transformers_pipeline("text-generation", model="bigcode/star
229
  music_gen = load_object_from_redis("music_gen") or MusicGen.from_pretrained('melody')
230
  meta_llama_pipeline = get_model_or_download("meta-llama/Meta-Llama-3.1-8B-Instruct", "meta_llama_model", transformers_pipeline)
231
 
232
- # Definir interfaces de usuario
233
  gen_image_tab = gr.Interface(generate_image, gr.inputs.Textbox(label="Prompt:"), gr.outputs.Image(type="pil"), title="Generate Image")
234
  edit_image_tab = gr.Interface(edit_image_with_prompt, [gr.inputs.Image(type="pil", label="Image:"), gr.inputs.Textbox(label="Prompt:"), gr.inputs.Slider(0.1, 1.0, 0.75, step=0.05, label="Strength:")], gr.outputs.Image(type="pil"), title="Edit Image")
235
  generate_song_tab = gr.Interface(generate_song, [gr.inputs.Textbox(label="Prompt:"), gr.inputs.Slider(5, 60, 10, step=1, label="Duration (s):")], gr.outputs.Audio(type="numpy"), title="Generate Songs")
@@ -247,4 +240,4 @@ app.launch(share=True)
247
  for _ in range(num_processes):
248
  task_queue.put(None)
249
  for p in processes:
250
- p.join()
 
13
  import io
14
  import time
15
 
 
16
  hf_token = os.getenv("HF_TOKEN")
17
  redis_host = os.getenv("REDIS_HOST")
18
+ redis_port = int(os.getenv("REDIS_PORT", 6379))
19
  redis_password = os.getenv("REDIS_PASSWORD")
20
 
21
  HfFolder.save_token(hf_token)
 
24
  while True:
25
  try:
26
  redis_client = redis.Redis(host=redis_host, port=redis_port, password=redis_password)
27
+ redis_client.ping()
 
28
  return redis_client
29
  except (redis.exceptions.ConnectionError, redis.exceptions.TimeoutError, BrokenPipeError) as e:
30
  print(f"Connection to Redis failed: {e}. Retrying in 1 second...")
 
53
  redis_client = reconnect_if_needed(redis_client)
54
  try:
55
  redis_client.set(key, pickle.dumps(obj))
 
56
  except redis.exceptions.RedisError as e:
57
  print(f"Failed to save object to Redis: {e}")
58
 
59
  def get_model_or_download(model_id, redis_key, loader_func):
60
  model = load_object_from_redis(redis_key)
61
  if model:
 
62
  return model
63
  try:
64
  model = loader_func(model_id, torch_dtype=torch.float16)
65
  save_object_to_redis(redis_key, model)
 
66
  except Exception as e:
67
  print(f"Failed to load or save model: {e}")
68
  return None
 
216
 
217
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
218
 
 
219
  text_to_image_pipeline = get_model_or_download("stabilityai/stable-diffusion-2", "text_to_image_model", StableDiffusionPipeline.from_pretrained)
220
  img2img_pipeline = get_model_or_download("CompVis/stable-diffusion-v1-4", "img2img_model", StableDiffusionImg2ImgPipeline.from_pretrained)
221
  flux_pipeline = get_model_or_download("black-forest-labs/FLUX.1-schnell", "flux_model", FluxPipeline.from_pretrained)
 
223
  music_gen = load_object_from_redis("music_gen") or MusicGen.from_pretrained('melody')
224
  meta_llama_pipeline = get_model_or_download("meta-llama/Meta-Llama-3.1-8B-Instruct", "meta_llama_model", transformers_pipeline)
225
 
 
226
  gen_image_tab = gr.Interface(generate_image, gr.inputs.Textbox(label="Prompt:"), gr.outputs.Image(type="pil"), title="Generate Image")
227
  edit_image_tab = gr.Interface(edit_image_with_prompt, [gr.inputs.Image(type="pil", label="Image:"), gr.inputs.Textbox(label="Prompt:"), gr.inputs.Slider(0.1, 1.0, 0.75, step=0.05, label="Strength:")], gr.outputs.Image(type="pil"), title="Edit Image")
228
  generate_song_tab = gr.Interface(generate_song, [gr.inputs.Textbox(label="Prompt:"), gr.inputs.Slider(5, 60, 10, step=1, label="Duration (s):")], gr.outputs.Audio(type="numpy"), title="Generate Songs")
 
240
  for _ in range(num_processes):
241
  task_queue.put(None)
242
  for p in processes:
243
+ p.join()