slslslrhfem commited on
Commit
90ddc2d
·
1 Parent(s): 95b58b8

change python

Browse files
Files changed (2) hide show
  1. app.py +42 -12
  2. requirements.txt +0 -1
app.py CHANGED
@@ -3,10 +3,49 @@ import gradio as gr
3
  import torch
4
  import librosa
5
  import numpy as np
6
- from inference import inference
 
7
  from huggingface_hub import snapshot_download
8
  from pathlib import Path
9
- import os
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  token = os.getenv("HF_TOKEN")
12
 
@@ -59,7 +98,7 @@ def download_data_from_hub():
59
  for folder_name in folders_to_check:
60
  downloaded_folders[folder_name] = None
61
  else:
62
- print(f"✅ Data folders and files already exist locally")
63
  for folder_name in folders_to_check:
64
  folder_path = base_dir / folder_name
65
  if folder_path.exists():
@@ -68,15 +107,6 @@ def download_data_from_hub():
68
  downloaded_folders[folder_name] = str(folder_path)
69
  else:
70
  downloaded_folders[folder_name] = None
71
-
72
- for file_name in files_to_check:
73
- file_path = base_dir / file_name
74
- if file_path.exists():
75
- file_size = file_path.stat().st_size / (1024*1024) # MB
76
- print(f" 📄 {file_name}: {file_size:.1f} MB")
77
- downloaded_folders[file_name] = str(file_path)
78
- else:
79
- downloaded_folders[file_name] = None
80
 
81
  return downloaded_folders
82
 
 
3
  import torch
4
  import librosa
5
  import numpy as np
6
+ import subprocess
7
+ import sys
8
  from huggingface_hub import snapshot_download
9
  from pathlib import Path
10
+ import os
11
+
12
+ # Runtime installation of madmom
13
+ def install_madmom():
14
+ """
15
+ Install madmom at runtime after Cython and numpy are available
16
+ """
17
+ try:
18
+ import madmom
19
+ print("✅ madmom already installed")
20
+ return True
21
+ except ImportError:
22
+ print("📦 Installing madmom at runtime...")
23
+ try:
24
+ subprocess.check_call([
25
+ sys.executable, "-m", "pip", "install",
26
+ "madmom", "--no-cache-dir"
27
+ ])
28
+ print("✅ madmom installed successfully")
29
+ return True
30
+ except subprocess.CalledProcessError as e:
31
+ print(f"⚠️ Failed to install madmom: {e}")
32
+ return False
33
+
34
+ # Install madmom before importing inference
35
+ madmom_available = install_madmom()
36
+
37
+ # Import inference after madmom installation
38
+ try:
39
+ from inference import inference
40
+ except ImportError as e:
41
+ print(f"⚠️ Failed to import inference: {e}")
42
+ print("This might be due to missing madmom dependency")
43
+
44
+ def inference(audio_file):
45
+ return {
46
+ 'matches': [],
47
+ 'message': 'madmom dependency not available'
48
+ }
49
 
50
  token = os.getenv("HF_TOKEN")
51
 
 
98
  for folder_name in folders_to_check:
99
  downloaded_folders[folder_name] = None
100
  else:
101
+ print(f"✅ Data folders already exist locally")
102
  for folder_name in folders_to_check:
103
  folder_path = base_dir / folder_name
104
  if folder_path.exists():
 
107
  downloaded_folders[folder_name] = str(folder_path)
108
  else:
109
  downloaded_folders[folder_name] = None
 
 
 
 
 
 
 
 
 
110
 
111
  return downloaded_folders
112
 
requirements.txt CHANGED
@@ -39,7 +39,6 @@ lazy_loader
39
  libclang
40
  librosa
41
  llvmlite
42
- madmom
43
  Markdown
44
  MarkupSafe
45
  mido
 
39
  libclang
40
  librosa
41
  llvmlite
 
42
  Markdown
43
  MarkupSafe
44
  mido