yongyeol commited on
Commit
82191e2
Β·
verified Β·
1 Parent(s): 55e972c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -15
app.py CHANGED
@@ -19,13 +19,11 @@ dummy.__version__ = "0.0.0"
19
  ops = types.ModuleType("xformers.ops")
20
 
21
  def _fake_mea(q, k, v, *_, dropout_p: float = 0.0, **__):
22
- # PyTorch 2.x ν‘œμ€€ S-DPA둜 λŒ€μ²΄ (CPUμ—μ„œλ„ λ™μž‘)
23
  return torch.nn.functional.scaled_dot_product_attention(
24
  q, k, v, dropout_p=dropout_p, is_causal=False
25
  )
26
 
27
- class _FakeLowerTriangularMask:
28
- """audiocraftκ°€ νƒ€μž… 쑴재만 ν™•μΈν•˜λ―€λ‘œ 빈 클래슀둜 λŒ€μ²΄"""
29
  pass
30
 
31
  ops.memory_efficient_attention = _fake_mea
@@ -35,13 +33,11 @@ sys.modules["xformers"] = dummy
35
  sys.modules["xformers.ops"] = ops
36
 
37
  # ─────────────────────────────────────────────────────────────
38
- # 2. 기타 λˆ„λ½ λͺ¨λ“ˆμ— λŒ€ν•œ 더미(stub) μ•ˆμ „λ§
39
- # (requirements.txt 에 이미 μ„€μΉ˜ν•˜μ§€λ§Œ, ν˜Ήμ‹œ 빠져도 λŸ°νƒ€μž„ 톡과)
 
40
  # ─────────────────────────────────────────────────────────────
41
- for name in (
42
- "av", "librosa", "torchdiffeq", "torchmetrics",
43
- "pesq", "pystoi", "soxr"
44
- ):
45
  if name not in sys.modules:
46
  sys.modules[name] = types.ModuleType(name)
47
 
@@ -52,16 +48,14 @@ try:
52
  from audiocraft.models import MusicGen
53
  from audiocraft.data.audio import audio_write
54
  except ModuleNotFoundError:
55
- # 둜컬 μ‹€ν–‰ λ“±μœΌλ‘œ λ―Έμ„€μΉ˜ μ‹œ: μ˜μ‘΄μ„± μ—†λŠ” ν˜•νƒœλ‘œ μ„€μΉ˜
56
  subprocess.check_call([
57
  sys.executable, "-m", "pip", "install",
58
  "git+https://github.com/facebookresearch/audiocraft@main",
59
  "--no-deps", "--use-pep517"
60
  ])
61
- # ν•„μš” μ΅œμ†Œ μ˜μ‘΄μ„±λ§Œ 즉석 μ„€μΉ˜ (stubλ‘œλ„ λŒ€λΆ€λΆ„ ν†΅κ³Όν•˜μ§€λ§Œ μ•ˆμ „ν•˜κ²Œ)
62
  subprocess.check_call([sys.executable, "-m", "pip", "install",
63
- "encodec", "torchdiffeq", "torchmetrics",
64
- "librosa", "soxr", "av"])
65
  from audiocraft.models import MusicGen
66
  from audiocraft.data.audio import audio_write
67
 
@@ -81,10 +75,10 @@ tokenizer = AutoTokenizer.from_pretrained(
81
  )
82
 
83
  # ─────────────────────────────────────────────────────────────
84
- # 5. MusicGen λͺ¨λΈ (CPU μ „μš©)
85
  # ─────────────────────────────────────────────────────────────
86
  musicgen = MusicGen.get_pretrained("facebook/musicgen-small")
87
- musicgen.set_generation_params(duration=10) # 10초 길이
88
 
89
  # ─────────────────────────────────────────────────────────────
90
  # 6. νŒŒμ΄ν”„λΌμΈ ν•¨μˆ˜
 
19
  ops = types.ModuleType("xformers.ops")
20
 
21
  def _fake_mea(q, k, v, *_, dropout_p: float = 0.0, **__):
 
22
  return torch.nn.functional.scaled_dot_product_attention(
23
  q, k, v, dropout_p=dropout_p, is_causal=False
24
  )
25
 
26
+ class _FakeLowerTriangularMask: # audiocraftκ°€ 쑴재 μ—¬λΆ€λ§Œ 확인
 
27
  pass
28
 
29
  ops.memory_efficient_attention = _fake_mea
 
33
  sys.modules["xformers.ops"] = ops
34
 
35
  # ─────────────────────────────────────────────────────────────
36
+ # 2. (선택) μ„€μΉ˜ν•˜μ§€ μ•Šμ€ λͺ¨λ“ˆλ§Œ μ•ˆμ „λ§μœΌλ‘œ μŠ€ν… 처리 β˜…
37
+ # - 이미 requirements.txtμ—μ„œ μ„€μΉ˜ν•œ λͺ¨λ“ˆ(librosa, av λ“±)은
38
+ # μŠ€ν… λŒ€μƒμ—μ„œ μ œκ±°ν•©λ‹ˆλ‹€.
39
  # ─────────────────────────────────────────────────────────────
40
+ for name in ("pesq", "pystoi", "soxr"): # β˜… ν•„μš”μ‹œλ§Œ 남김
 
 
 
41
  if name not in sys.modules:
42
  sys.modules[name] = types.ModuleType(name)
43
 
 
48
  from audiocraft.models import MusicGen
49
  from audiocraft.data.audio import audio_write
50
  except ModuleNotFoundError:
 
51
  subprocess.check_call([
52
  sys.executable, "-m", "pip", "install",
53
  "git+https://github.com/facebookresearch/audiocraft@main",
54
  "--no-deps", "--use-pep517"
55
  ])
 
56
  subprocess.check_call([sys.executable, "-m", "pip", "install",
57
+ "encodec", "librosa", "av", "torchdiffeq",
58
+ "torchmetrics", "num2words"])
59
  from audiocraft.models import MusicGen
60
  from audiocraft.data.audio import audio_write
61
 
 
75
  )
76
 
77
  # ─────────────────────────────────────────────────────────────
78
+ # 5. MusicGen λͺ¨λΈ
79
  # ─────────────────────────────────────────────────────────────
80
  musicgen = MusicGen.get_pretrained("facebook/musicgen-small")
81
+ musicgen.set_generation_params(duration=10)
82
 
83
  # ─────────────────────────────────────────────────────────────
84
  # 6. νŒŒμ΄ν”„λΌμΈ ν•¨μˆ˜