quazim commited on
Commit
5bb310c
·
1 Parent(s): d153695
Files changed (1) hide show
  1. app.py +25 -14
app.py CHANGED
@@ -48,18 +48,31 @@ import os
48
  # setup_flash_attention()
49
 
50
  # Load model and processor
51
- @gr.cache()
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  def load_model():
53
- """Load the musicgen model and processor"""
54
- processor = AutoProcessor.from_pretrained("facebook/musicgen-large")
55
- model = MusicgenForConditionalGeneration.from_pretrained(
56
- "facebook/musicgen-large",
57
- torch_dtype=torch.float16,
58
- device="cuda",
59
- mode="S",
60
- __paged=True,
61
- )
62
- return processor, model
63
 
64
  def generate_music(text_prompt, duration=10, temperature=1.0, top_k=250, top_p=0.0):
65
  """Generate music based on text prompt"""
@@ -83,7 +96,7 @@ def generate_music(text_prompt, duration=10, temperature=1.0, top_k=250, top_p=0
83
  top_p=top_p,
84
  cache_implementation="paged"
85
  )
86
-
87
  audio_data = audio_values[0, 0].cpu().numpy().astype(np.float32)
88
  sample_rate = model.config.sample_rate
89
 
@@ -166,8 +179,6 @@ with gr.Blocks(title="MusicGen Large - Music Generation") as demo:
166
  ["classical violin concerto"],
167
  ["reggae with steel drums and bass"],
168
  ["rock ballad with electric guitar solo"],
169
- ["test example"],
170
-
171
  ],
172
  inputs=text_input,
173
  label="Example Prompts"
 
48
  # setup_flash_attention()
49
 
50
  # Load model and processor
51
+ # @gr.cache()
52
+ # def load_model():
53
+ # """Load the musicgen model and processor"""
54
+ # processor = AutoProcessor.from_pretrained("facebook/musicgen-large")
55
+ # model = MusicgenForConditionalGeneration.from_pretrained(
56
+ # "facebook/musicgen-large",
57
+ # torch_dtype=torch.float16,
58
+ # device="cuda",
59
+ # mode="S",
60
+ # __paged=True,
61
+ # )
62
+ # return processor, model
63
+ _processor, _model = None, None
64
+
65
  def load_model():
66
+ global _processor, _model
67
+ if _model is None:
68
+ print("Initial model loading...")
69
+ _processor = AutoProcessor.from_pretrained("facebook/musicgen-large")
70
+ _model = MusicgenForConditionalGeneration.from_pretrained(
71
+ "facebook/musicgen-large",
72
+ torch_dtype=torch.float16,
73
+ device="cuda" if torch.cuda.is_available() else "cpu"
74
+ )
75
+ return _processor, _model
76
 
77
  def generate_music(text_prompt, duration=10, temperature=1.0, top_k=250, top_p=0.0):
78
  """Generate music based on text prompt"""
 
96
  top_p=top_p,
97
  cache_implementation="paged"
98
  )
99
+
100
  audio_data = audio_values[0, 0].cpu().numpy().astype(np.float32)
101
  sample_rate = model.config.sample_rate
102
 
 
179
  ["classical violin concerto"],
180
  ["reggae with steel drums and bass"],
181
  ["rock ballad with electric guitar solo"],
 
 
182
  ],
183
  inputs=text_input,
184
  label="Example Prompts"