Peter Shi commited on
Commit
ea93ac1
·
1 Parent(s): f36ee58

Fix import error by using sam-audio library

Browse files
Files changed (2) hide show
  1. app.py +21 -13
  2. requirements.txt +4 -0
app.py CHANGED
@@ -10,7 +10,19 @@ except ImportError:
10
  return func
11
  return decorator
12
 
13
- from transformers import AutoProcessor, AutoModelForAudioSegmentation
 
 
 
 
 
 
 
 
 
 
 
 
14
  import numpy as np
15
  import librosa
16
  import tempfile
@@ -21,8 +33,8 @@ MODEL_ID = "facebook/sam-audio-small"
21
 
22
  print(f"Loading model: {MODEL_ID}...")
23
  try:
24
- processor = AutoProcessor.from_pretrained(MODEL_ID)
25
- model = AutoModelForAudioSegmentation.from_pretrained(
26
  MODEL_ID,
27
  device_map="auto",
28
  torch_dtype=torch.float16
@@ -30,17 +42,13 @@ try:
30
  print("Model loaded successfully.")
31
  except Exception as e:
32
  print(f"Error loading model: {e}")
33
- print("Attempting to load with 8-bit quantization...")
 
 
34
  try:
35
- from transformers import BitsAndBytesConfig
36
- quantization_config = BitsAndBytesConfig(load_in_8bit=True)
37
- processor = AutoProcessor.from_pretrained(MODEL_ID)
38
- model = AutoModelForAudioSegmentation.from_pretrained(
39
- MODEL_ID,
40
- quantization_config=quantization_config,
41
- device_map="auto"
42
- )
43
- print("Model loaded with 8-bit quantization.")
44
  except Exception as e2:
45
  print(f"Critical error loading model: {e2}")
46
  raise e2
 
10
  return func
11
  return decorator
12
 
13
+ import gradio as gr
14
+ import torch
15
+ try:
16
+ import spaces
17
+ except ImportError:
18
+ class spaces:
19
+ @staticmethod
20
+ def GPU(duration=60):
21
+ def decorator(func):
22
+ return func
23
+ return decorator
24
+
25
+ from sam_audio import SAMAudio, SAMAudioProcessor
26
  import numpy as np
27
  import librosa
28
  import tempfile
 
33
 
34
  print(f"Loading model: {MODEL_ID}...")
35
  try:
36
+ processor = SAMAudioProcessor.from_pretrained(MODEL_ID)
37
+ model = SAMAudio.from_pretrained(
38
  MODEL_ID,
39
  device_map="auto",
40
  torch_dtype=torch.float16
 
42
  print("Model loaded successfully.")
43
  except Exception as e:
44
  print(f"Error loading model: {e}")
45
+ # Fallback currently not fully supported for SAMAudio custom class in bitsandbytes via config directly
46
+ # unless it inherits correctly. Let's try standard float32 if float16 fails, or keep the error.
47
+ print("Retrying with default precision...")
48
  try:
49
+ processor = SAMAudioProcessor.from_pretrained(MODEL_ID)
50
+ model = SAMAudio.from_pretrained(MODEL_ID, device_map="auto")
51
+ print("Model loaded with default precision.")
 
 
 
 
 
 
52
  except Exception as e2:
53
  print(f"Critical error loading model: {e2}")
54
  raise e2
requirements.txt CHANGED
@@ -4,8 +4,12 @@ transformers>=4.38.0
4
  accelerate>=0.27.0
5
  bitsandbytes>=0.41.0
6
  scipy
 
7
  librosa
8
  opencv-python-headless
9
  spaces
 
 
 
10
 
11
 
 
4
  accelerate>=0.27.0
5
  bitsandbytes>=0.41.0
6
  scipy
7
+ scipy
8
  librosa
9
  opencv-python-headless
10
  spaces
11
+ git+https://github.com/facebookresearch/sam-audio.git
12
+ torchaudio
13
+
14
 
15