tedi-resemble commited on
Commit
b807ffa
·
verified ·
1 Parent(s): 4d7d0ea

Adapt Space for ZeroGPU

Browse files
app.py CHANGED
@@ -2,17 +2,14 @@ import argparse
2
  from functools import partial
3
 
4
  import gradio as gr
 
5
  import torch
6
  import torchaudio
7
 
8
  from resemble_enhance.enhancer.inference import denoise, enhance
9
 
10
- if torch.cuda.is_available():
11
- device = "cuda"
12
- else:
13
- device = "cpu"
14
-
15
 
 
16
  def _fn(path, solver, nfe, tau, denoising, unlimited):
17
  if path is None:
18
  gr.Warning("Please upload an audio file.")
@@ -30,6 +27,7 @@ def _fn(path, solver, nfe, tau, denoising, unlimited):
30
  dwav, sr = torchaudio.load(path)
31
  dwav = dwav.mean(dim=0)
32
 
 
33
  wav1, new_sr = denoise(dwav, sr, device)
34
  wav2, new_sr = enhance(dwav, sr, device, nfe=nfe, solver=solver, lambd=lambd, tau=tau)
35
 
 
2
  from functools import partial
3
 
4
  import gradio as gr
5
+ import spaces
6
  import torch
7
  import torchaudio
8
 
9
  from resemble_enhance.enhancer.inference import denoise, enhance
10
 
 
 
 
 
 
11
 
12
+ @spaces.GPU(duration=300)
13
  def _fn(path, solver, nfe, tau, denoising, unlimited):
14
  if path is None:
15
  gr.Warning("Please upload an audio file.")
 
27
  dwav, sr = torchaudio.load(path)
28
  dwav = dwav.mean(dim=0)
29
 
30
+ device = "cuda" if torch.cuda.is_available() else "cpu"
31
  wav1, new_sr = denoise(dwav, sr, device)
32
  wav2, new_sr = enhance(dwav, sr, device, nfe=nfe, solver=solver, lambd=lambd, tau=tau)
33
 
requirements.txt CHANGED
@@ -1,5 +1,4 @@
1
  celluloid==0.2.0
2
- deepspeed==0.12.4
3
  librosa==0.10.1
4
  matplotlib==3.8.1
5
  numpy==1.26.2
@@ -9,9 +8,10 @@ ptflops==0.7.1.2
9
  rich==13.7.0
10
  scipy==1.11.4
11
  soundfile==0.12.1
12
- torch==2.1.1
13
- torchaudio==2.1.1
14
- torchvision==0.16.1
 
15
  tqdm==4.66.1
16
  resampy==0.4.2
17
  tabulate==0.8.10
 
1
  celluloid==0.2.0
 
2
  librosa==0.10.1
3
  matplotlib==3.8.1
4
  numpy==1.26.2
 
8
  rich==13.7.0
9
  scipy==1.11.4
10
  soundfile==0.12.1
11
+ spaces==0.50.4
12
+ torch==2.8.0
13
+ torchaudio==2.8.0
14
+ torchvision==0.23.0
15
  tqdm==4.66.1
16
  resampy==0.4.2
17
  tabulate==0.8.10
resemble_enhance/denoiser/inference.py CHANGED
@@ -4,7 +4,8 @@ from functools import cache
4
  import torch
5
 
6
  from ..inference import inference
7
- from .train import Denoiser, HParams
 
8
 
9
  logger = logging.getLogger(__name__)
10
 
 
4
  import torch
5
 
6
  from ..inference import inference
7
+ from .denoiser import Denoiser
8
+ from .hparams import HParams
9
 
10
  logger = logging.getLogger(__name__)
11
 
resemble_enhance/enhancer/enhancer.py CHANGED
@@ -1,6 +1,5 @@
1
  import logging
2
 
3
- import matplotlib.pyplot as plt
4
  import pandas as pd
5
  import torch
6
  from torch import Tensor, nn
@@ -9,8 +8,6 @@ from torch.distributions import Beta
9
  from ..common import Normalizer
10
  from ..denoiser.inference import load_denoiser
11
  from ..melspec import MelSpectrogram
12
- from ..utils.distributed import global_leader_only
13
- from ..utils.train_loop import TrainLoop
14
  from .hparams import HParams
15
  from .lcfm import CFM, IRMAE, LCFM
16
  from .univnet import UnivNet
@@ -106,24 +103,9 @@ class Enhancer(nn.Module):
106
  return self.mel_fn(x)[..., :-1] # (b d t)
107
  return self.mel_fn(x)
108
 
109
- @global_leader_only
110
  @torch.no_grad()
111
  def _visualize(self, original_mel, denoised_mel):
112
- loop = TrainLoop.get_running_loop()
113
- if loop is None or loop.global_step % 100 != 0:
114
- return
115
-
116
- plt.figure(figsize=(6, 6))
117
- plt.subplot(211)
118
- plt.title("Original")
119
- plt.imshow(original_mel[0].cpu().numpy(), origin="lower", interpolation="none")
120
- plt.subplot(212)
121
- plt.title("Denoised")
122
- plt.imshow(denoised_mel[0].cpu().numpy(), origin="lower", interpolation="none")
123
- plt.tight_layout()
124
-
125
- path = loop.get_running_loop_viz_path("input", ".png")
126
- plt.savefig(path, dpi=300)
127
 
128
  def _may_denoise(self, x: Tensor, y: Tensor | None = None):
129
  if self.hp.lcfm_training_mode == "cfm":
 
1
  import logging
2
 
 
3
  import pandas as pd
4
  import torch
5
  from torch import Tensor, nn
 
8
  from ..common import Normalizer
9
  from ..denoiser.inference import load_denoiser
10
  from ..melspec import MelSpectrogram
 
 
11
  from .hparams import HParams
12
  from .lcfm import CFM, IRMAE, LCFM
13
  from .univnet import UnivNet
 
103
  return self.mel_fn(x)[..., :-1] # (b d t)
104
  return self.mel_fn(x)
105
 
 
106
  @torch.no_grad()
107
  def _visualize(self, original_mel, denoised_mel):
108
+ return
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
 
110
  def _may_denoise(self, x: Tensor, y: Tensor | None = None):
111
  if self.hp.lcfm_training_mode == "cfm":
resemble_enhance/enhancer/inference.py CHANGED
@@ -5,7 +5,8 @@ import torch
5
 
6
  from ..inference import inference
7
  from .download import download
8
- from .train import Enhancer, HParams
 
9
 
10
  logger = logging.getLogger(__name__)
11
 
 
5
 
6
  from ..inference import inference
7
  from .download import download
8
+ from .enhancer import Enhancer
9
+ from .hparams import HParams
10
 
11
  logger = logging.getLogger(__name__)
12