Spaces:
Running
on
Zero
Running
on
Zero
Update processing.py
Browse files- processing.py +0 -98
processing.py
CHANGED
@@ -29,7 +29,6 @@ import locale
|
|
29 |
import re
|
30 |
import psutil
|
31 |
import concurrent.futures
|
32 |
-
from tqdm import tqdm
|
33 |
from google.oauth2.credentials import Credentials
|
34 |
import tempfile
|
35 |
from urllib.parse import urlparse, quote
|
@@ -115,103 +114,6 @@ def extract_model_name_from_checkpoint(checkpoint_path):
|
|
115 |
print(f"Original checkpoint path: {checkpoint_path}, extracted model_name: {model_name}")
|
116 |
return model_name.strip()
|
117 |
|
118 |
-
Hata mesajlarını inceledim ve sorun, run_command_and_process_files fonksiyonunda logging modülünün tanımlı olmaması nedeniyle ortaya çıkıyor. Bu, NameError: name 'logging' is not defined hatasına neden oluyor. Ayrıca, önceki konuşmalarımızda tqdm'yi kaldırarak time modülüyle %1'lik artışlarla (örneğin %23, %24, %25) ilerleme takibi yapmayı hedeflediğimiz için, bu entegrasyonu da tutarlı bir şekilde uygulayacağız. Aşağıda, hatayı çözmek ve istenen ilerleme takibini sağlamak için adım adım çözüm sunuyorum.
|
119 |
-
|
120 |
-
Hata Analizi
|
121 |
-
Hata Detayları:
|
122 |
-
Birincil Hata: logging.info çağrısı, logging modülünün run_command_and_process_files fonksiyonunda tanımlı olmaması nedeniyle NameError üretiyor (satır 128, processing.py).
|
123 |
-
İkincil Hata: Hata işleme bloğunda (except bloğu, satır 315), yine logging.error çağrısı aynı NameError'ü tetikliyor.
|
124 |
-
Dosya ve Konum: Hata, /home/user/app/processing.py içinde run_command_and_process_files fonksiyonunda meydana geliyor.
|
125 |
-
Bağlam: process_audio fonksiyonu, run_command_and_process_files üzerinden bir ses dosyasını işlerken bu hatayla karşılaşıyor.
|
126 |
-
Olası Nedenler:
|
127 |
-
logging modülü, processing.py dosyasında içe aktarılmamış.
|
128 |
-
Önceki kod düzenlemelerinde logging import'u atlanmış veya yanlışlıkla silinmiş.
|
129 |
-
run_command_and_process_files fonksiyonu, bağımsız bir modül olarak çalıştırıldığında bağımlılıkları eksik olabilir.
|
130 |
-
Hedefler:
|
131 |
-
NameError hatasını çözmek için logging modülünü processing.py dosyasına ekleyeceğiz.
|
132 |
-
run_command_and_process_files fonksiyonunu, tqdm'yi tamamen kaldırarak ve time modülüyle %1'lik ilerleme güncellemeleriyle Gradio arayüzüne uyumlu hale getireceğiz.
|
133 |
-
process_audio ve ilgili fonksiyonların hata yönetimini güçlendireceğiz.
|
134 |
-
ZeroGPU (Hugging Face Spaces) ortamında uyumluluğu koruyacağız.
|
135 |
-
Çözüm
|
136 |
-
1. logging Modülünü Ekleme
|
137 |
-
NameError'ü çözmek için processing.py dosyasına logging modülünü içe aktaracağız ve loglama ayarlarını yapılandıracağız. Ayrıca, log dosyasının (utils.log) doğru çalıştığından emin olacağız.
|
138 |
-
|
139 |
-
python
|
140 |
-
|
141 |
-
Collapse
|
142 |
-
|
143 |
-
Wrap
|
144 |
-
|
145 |
-
Run
|
146 |
-
|
147 |
-
Copy
|
148 |
-
import logging
|
149 |
-
|
150 |
-
# Loglama ayarları
|
151 |
-
logging.basicConfig(
|
152 |
-
level=logging.DEBUG,
|
153 |
-
filename='utils.log',
|
154 |
-
filemode='a',
|
155 |
-
format='%(asctime)s - %(levelname)s - %(message)s'
|
156 |
-
)
|
157 |
-
Bu kodu processing.py dosyasının en üstüne ekleyeceğiz.
|
158 |
-
|
159 |
-
2. run_command_and_process_files Fonksiyonunu Güncelleme
|
160 |
-
run_command_and_process_files fonksiyonunu, logging hatasını düzelterek, tqdm'yi kaldırarak ve time modülüyle %1'lik ilerleme takibi ekleyerek güncelliyoruz. Ayrıca, hata yönetimini güçlendirelim ve Gradio arayüzüyle uyumluluğu sağlayalım.
|
161 |
-
|
162 |
-
Aşağıda, güncellenmiş run_command_and_process_files fonksiyonu:
|
163 |
-
|
164 |
-
python
|
165 |
-
|
166 |
-
Collapse
|
167 |
-
|
168 |
-
Wrap
|
169 |
-
|
170 |
-
Run
|
171 |
-
|
172 |
-
Copy
|
173 |
-
import subprocess
|
174 |
-
import shutil
|
175 |
-
import time
|
176 |
-
import glob
|
177 |
-
import os
|
178 |
-
import librosa
|
179 |
-
import soundfile as sf
|
180 |
-
import sys
|
181 |
-
import traceback
|
182 |
-
import logging
|
183 |
-
|
184 |
-
# Loglama ayarları
|
185 |
-
logging.basicConfig(
|
186 |
-
level=logging.DEBUG,
|
187 |
-
filename='utils.log',
|
188 |
-
filemode='a',
|
189 |
-
format='%(asctime)s - %(levelname)s - %(message)s'
|
190 |
-
)
|
191 |
-
|
192 |
-
from assets.i18n.i18n import I18nAuto
|
193 |
-
i18n = I18nAuto()
|
194 |
-
|
195 |
-
def extract_model_name_from_checkpoint(checkpoint_path):
|
196 |
-
"""Checkpoint dosya adından model adını çıkarır."""
|
197 |
-
return os.path.splitext(os.path.basename(checkpoint_path))[0]
|
198 |
-
|
199 |
-
def sanitize_filename(filename):
|
200 |
-
"""Dosya adını güvenli hale getirir."""
|
201 |
-
return "".join(c if c.isalnum() or c in "._-" else "-" for c in filename)
|
202 |
-
|
203 |
-
def update_progress_html(progress_label, progress_percent):
|
204 |
-
"""Gradio arayüzü için ilerleme çubuğu HTML'si oluşturur."""
|
205 |
-
progress_percent = min(max(round(progress_percent), 0), 100) # %1 hassasiyet
|
206 |
-
return f"""
|
207 |
-
<div id="custom-progress" style="margin-top: 10px;">
|
208 |
-
<div style="font-size: 1rem; color: #C0C0C0; margin-bottom: 5px;" id="progress-label">{progress_label}</div>
|
209 |
-
<div style="width: 100%; background-color: #444; border-radius: 5px; overflow: hidden;">
|
210 |
-
<div id="progress-bar" style="width: {progress_percent}%; height: 20px; background-color: #6e8efb; transition: width 0.3s; max-width: 100%;"></div>
|
211 |
-
</div>
|
212 |
-
</div>
|
213 |
-
"""
|
214 |
-
|
215 |
def run_command_and_process_files(
|
216 |
model_type,
|
217 |
config_path,
|
|
|
29 |
import re
|
30 |
import psutil
|
31 |
import concurrent.futures
|
|
|
32 |
from google.oauth2.credentials import Credentials
|
33 |
import tempfile
|
34 |
from urllib.parse import urlparse, quote
|
|
|
114 |
print(f"Original checkpoint path: {checkpoint_path}, extracted model_name: {model_name}")
|
115 |
return model_name.strip()
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
def run_command_and_process_files(
|
118 |
model_type,
|
119 |
config_path,
|