S-Vetrivel commited on
Commit
f229a41
·
1 Parent(s): e53bdb6

Fix model loading: upgrade transformers to 5.0.0 and handle safetensors metadata issue

Browse files
requirements.txt CHANGED
@@ -1,18 +1,20 @@
1
  fastapi
2
  uvicorn
3
  python-dotenv
4
- torch
5
- torchaudio
6
  librosa
7
  numpy<2.0.0
8
  python-multipart
9
  python-jose[cryptography]
10
  passlib[bcrypt]
11
  transformers
 
 
12
  pydub
13
  scipy
14
  speechbrain
15
- huggingface_hub<0.20.0
16
  soundfile
17
  pyyaml
18
  joblib
 
1
  fastapi
2
  uvicorn
3
  python-dotenv
4
+ torch==2.2.0+cpu
5
+ torchaudio==2.2.0+cpu
6
  librosa
7
  numpy<2.0.0
8
  python-multipart
9
  python-jose[cryptography]
10
  passlib[bcrypt]
11
  transformers
12
+ safetensors>=0.4.0
13
+ accelerate
14
  pydub
15
  scipy
16
  speechbrain
17
+ huggingface_hub
18
  soundfile
19
  pyyaml
20
  joblib
src/components/model_wrapper.py CHANGED
@@ -13,26 +13,40 @@ class ModelWrapper:
13
  self.feature_extractor = None
14
  self.vad = None
15
 
 
 
 
 
 
 
 
 
16
  self.load_model()
17
  self.load_vad()
18
 
19
  def load_model(self):
20
  try:
21
  print(f"Loading Deepfake Detection model {self.model_name} on {self.device}...")
22
- self.model = AutoModelForAudioClassification.from_pretrained(
23
  self.model_name,
24
  trust_remote_code=True
25
  ).to(self.device)
26
 
27
  fe_name = self.config.get("feature_extractor", self.model_name)
28
- self.feature_extractor = AutoFeatureExtractor.from_pretrained(fe_name)
 
 
 
 
29
  self.model.eval()
30
  print("Model loaded successfully.")
31
 
32
  except Exception as e:
33
  print(f"Error loading model: {e}")
 
34
  traceback.print_exc()
35
  self.model = None
 
36
 
37
  def load_vad(self):
38
  try:
 
13
  self.feature_extractor = None
14
  self.vad = None
15
 
16
+ # Log library versions for debugging
17
+ try:
18
+ import transformers
19
+ import safetensors
20
+ print(f"Library versions - transformers: {transformers.__version__}, safetensors: {safetensors.__version__}")
21
+ except Exception as e:
22
+ print(f"Warning: Could not log library versions: {e}")
23
+
24
  self.load_model()
25
  self.load_vad()
26
 
27
  def load_model(self):
28
  try:
29
  print(f"Loading Deepfake Detection model {self.model_name} on {self.device}...")
30
+ model = AutoModelForAudioClassification.from_pretrained(
31
  self.model_name,
32
  trust_remote_code=True
33
  ).to(self.device)
34
 
35
  fe_name = self.config.get("feature_extractor", self.model_name)
36
+ feature_extractor = AutoFeatureExtractor.from_pretrained(fe_name)
37
+
38
+ # Only set if both loaded successfully
39
+ self.model = model
40
+ self.feature_extractor = feature_extractor
41
  self.model.eval()
42
  print("Model loaded successfully.")
43
 
44
  except Exception as e:
45
  print(f"Error loading model: {e}")
46
+ print(f"Model name: {self.model_name}, Device: {self.device}")
47
  traceback.print_exc()
48
  self.model = None
49
+ self.feature_extractor = None
50
 
51
  def load_vad(self):
52
  try: