udayl commited on
Commit
d756e7e
·
1 Parent(s): b40e4d3

fix: gradio cache issues

Browse files
Files changed (1) hide show
  1. gradio_app.py +9 -12
gradio_app.py CHANGED
@@ -1,6 +1,5 @@
1
  import os
2
  import tempfile
3
- import gradio as gr
4
  import shutil
5
  import ast
6
  import numpy as np
@@ -26,16 +25,12 @@ from notebook_lm_kokoro import (
26
 
27
  os.environ["HOME"] = "/tmp/home" # Prevent fallback to /root
28
  os.makedirs("/tmp/home", exist_ok=True)
29
- os.environ["GRADIO_TEMP_DIR"] = "/tmp/gradio"
30
- os.environ["TRANSFORMERS_CACHE"] = "/tmp/huggingface/transformers"
31
- os.environ["TORCH_HOME"] = "/tmp/torch"
32
- os.environ["MOSHI_CACHE_DIR"] = "/tmp/moshi"
33
- os.environ["XDG_CACHE_HOME"] = "/tmp/huggingface" # already good
34
- os.environ["HF_HOME"] = "/tmp/huggingface" # already good
35
 
36
- # Patch GRADIO’s cache path resolution (so it doesn't default to '/.cache')
37
- gr.paths.default_cache_dir = lambda: pathlib.Path("/tmp/huggingface/gradio")
38
 
 
 
 
 
39
 
40
  warnings.filterwarnings("ignore")
41
  NUM_WORKERS = multiprocessing.cpu_count()
@@ -81,9 +76,11 @@ def generate_audio_from_script_with_voices(script, speaker1_voice, speaker2_voic
81
  if not isinstance(transcript_list, list):
82
  raise ValueError("Transcript is not a list")
83
 
84
- entries = [(entry, voice_map) for entry in transcript_list if isinstance(entry, tuple) and len(entry) == 2]
85
- with concurrent.futures.ProcessPoolExecutor(max_workers=NUM_WORKERS) as executor:
86
- results = [r for r in executor.map(process_segment, entries) if r is not None]
 
 
87
  if not results:
88
  return None
89
  sample_rate = 24000
 
1
  import os
2
  import tempfile
 
3
  import shutil
4
  import ast
5
  import numpy as np
 
25
 
26
  os.environ["HOME"] = "/tmp/home" # Prevent fallback to /root
27
  os.makedirs("/tmp/home", exist_ok=True)
 
 
 
 
 
 
28
 
 
 
29
 
30
+ os.environ["TORCH_HOME"] = "/tmp/torch"
31
+ os.environ["MOSHI_CACHE_DIR"] = "/tmp/moshi"
32
+ os.environ["TRANSFORMERS_CACHE"] = "/tmp/huggingface/transformers"
33
+ import gradio as gr
34
 
35
  warnings.filterwarnings("ignore")
36
  NUM_WORKERS = multiprocessing.cpu_count()
 
76
  if not isinstance(transcript_list, list):
77
  raise ValueError("Transcript is not a list")
78
 
79
+ results = []
80
+ for entry in transcript_list:
81
+ audio = process_segment((entry, voice_map))
82
+ if audio is not None:
83
+ results.append(audio)
84
  if not results:
85
  return None
86
  sample_rate = 24000