Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,66 +1,46 @@
|
|
| 1 |
-
import os
|
| 2 |
-
import io
|
| 3 |
-
import gradio as gr
|
| 4 |
from huggingface_hub import HfApi
|
| 5 |
|
| 6 |
TOKEN = os.environ.get("HF_TOKEN", "")
|
| 7 |
DEST_REPO = "Joker5514/models"
|
| 8 |
DEST_TYPE = "dataset"
|
| 9 |
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
pad_text = (model_name + " placeholder ").encode() * (size_kb * 70)
|
| 27 |
-
pad_text = pad_text[:size_kb * 1000]
|
| 28 |
-
doc_string = b'\x32' + _varint(len(pad_text)) + pad_text # field 6
|
| 29 |
-
return ir_version + model_ver + opset + doc_string
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
def copy_models():
|
| 33 |
-
if not TOKEN:
|
| 34 |
-
return "ERROR: HF_TOKEN secret is not set."
|
| 35 |
api = HfApi(token=TOKEN)
|
| 36 |
results = []
|
| 37 |
-
|
| 38 |
-
("rnnoise_suppressor.onnx", "rnnoise_suppressor", 100),
|
| 39 |
-
("demucs_v4_quantized.onnx", "demucs_v4_quantized", 200),
|
| 40 |
-
("bsrnn_vocals.onnx", "bsrnn_vocals", 150),
|
| 41 |
-
]
|
| 42 |
-
for filename, model_name, size_kb in models:
|
| 43 |
try:
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
results.append(f"
|
| 55 |
except Exception as e:
|
| 56 |
-
results.append(f"
|
| 57 |
return "\n\n".join(results)
|
| 58 |
|
| 59 |
-
|
| 60 |
with gr.Blocks() as demo:
|
| 61 |
-
gr.Markdown("# ONNX Model Uploader")
|
| 62 |
-
|
| 63 |
-
output = gr.Textbox(label="Results", lines=12)
|
| 64 |
-
btn.click(copy_models, outputs=output)
|
| 65 |
-
|
| 66 |
demo.launch()
|
|
|
|
| 1 |
+
import os, io, requests, gradio as gr
|
|
|
|
|
|
|
| 2 |
from huggingface_hub import HfApi
|
| 3 |
|
| 4 |
TOKEN = os.environ.get("HF_TOKEN", "")
|
| 5 |
DEST_REPO = "Joker5514/models"
|
| 6 |
DEST_TYPE = "dataset"
|
| 7 |
|
| 8 |
+
MODELS = [
|
| 9 |
+
{"filename": "rnnoise_suppressor.onnx",
|
| 10 |
+
"url": "https://huggingface.co/niobures/RNNoise/resolve/main/models/rnnoise.onnx",
|
| 11 |
+
"min_bytes": 100_000},
|
| 12 |
+
{"filename": "demucs_v4_quantized.onnx",
|
| 13 |
+
"url": "https://huggingface.co/MrCitron/demucs-v4-onnx/resolve/main/htdemucs.onnx",
|
| 14 |
+
"fallback": "https://huggingface.co/timcsy/demucs-web-onnx/resolve/main/demucs.onnx",
|
| 15 |
+
"min_bytes": 10_000_000},
|
| 16 |
+
{"filename": "bsrnn_vocals.onnx",
|
| 17 |
+
"url": "https://huggingface.co/facebook/bsrnn/resolve/main/bsrnn_vocals.onnx",
|
| 18 |
+
"fallback": "https://huggingface.co/Randell/bsrnn-onnx/resolve/main/bsrnn_vocals.onnx",
|
| 19 |
+
"min_bytes": 5_000_000},
|
| 20 |
+
]
|
| 21 |
+
|
| 22 |
+
def upload_models():
|
| 23 |
+
if not TOKEN: return "ERROR: HF_TOKEN not set"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
api = HfApi(token=TOKEN)
|
| 25 |
results = []
|
| 26 |
+
for m in MODELS:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
try:
|
| 28 |
+
try:
|
| 29 |
+
r = requests.get(m["url"], timeout=300); r.raise_for_status(); data = r.content
|
| 30 |
+
if len(data) < m["min_bytes"]: raise ValueError("too small")
|
| 31 |
+
src = m["url"]
|
| 32 |
+
except:
|
| 33 |
+
r = requests.get(m.get("fallback", m["url"]), timeout=300); r.raise_for_status(); data = r.content
|
| 34 |
+
src = m.get("fallback", m["url"])
|
| 35 |
+
api.upload_file(path_or_fileobj=io.BytesIO(data), path_in_repo=m["filename"],
|
| 36 |
+
repo_id=DEST_REPO, repo_type=DEST_TYPE,
|
| 37 |
+
commit_message=f"Upload real ONNX: {m['filename']} ({len(data):,} bytes)")
|
| 38 |
+
results.append(f"SUCCESS {m['filename']} ({len(data)/1e6:.1f} MB) from {src}")
|
| 39 |
except Exception as e:
|
| 40 |
+
results.append(f"FAILED {m['filename']}: {e}")
|
| 41 |
return "\n\n".join(results)
|
| 42 |
|
|
|
|
| 43 |
with gr.Blocks() as demo:
|
| 44 |
+
gr.Markdown("# ONNX Model Uploader\nDownloads real models and uploads to Joker5514/models")
|
| 45 |
+
gr.Button("Upload Real ONNX Models", variant="primary").click(upload_models, outputs=gr.Textbox(lines=15))
|
|
|
|
|
|
|
|
|
|
| 46 |
demo.launch()
|