Deploy Project Halide Gradio Space
Browse files- .gitattributes +4 -0
- LICENSE +1 -1
- README.md +16 -5
- assets/demo_original.webp +3 -0
- assets/demo_overlay.webp +3 -0
- assets/demo_poster.jpg +3 -0
- assets/demo_walkthrough.mp4 +3 -0
- ui/app.py +7 -21
- ui/theme.py +16 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/demo_original.webp filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
assets/demo_overlay.webp filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
assets/demo_poster.jpg filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
assets/demo_walkthrough.mp4 filter=lfs diff=lfs merge=lfs -text
|
LICENSE
CHANGED
|
@@ -186,7 +186,7 @@
|
|
| 186 |
same "printed page" as the copyright notice for easier
|
| 187 |
identification within third-party archives.
|
| 188 |
|
| 189 |
-
Copyright
|
| 190 |
|
| 191 |
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
you may not use this file except in compliance with the License.
|
|
|
|
| 186 |
same "printed page" as the copyright notice for easier
|
| 187 |
identification within third-party archives.
|
| 188 |
|
| 189 |
+
Copyright 2026 Lonelyguyse1
|
| 190 |
|
| 191 |
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
you may not use this file except in compliance with the License.
|
README.md
CHANGED
|
@@ -18,9 +18,14 @@ tags:
|
|
| 18 |
- sponsor:nvidia
|
| 19 |
- sponsor:modal
|
| 20 |
- sponsor:openai
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
- achievement:offgrid
|
| 22 |
- achievement:welltuned
|
| 23 |
- achievement:offbrand
|
|
|
|
| 24 |
---
|
| 25 |
|
| 26 |
# Project Halide
|
|
@@ -38,7 +43,17 @@ Fine-tuned vision model:
|
|
| 38 |
<https://huggingface.co/Lonelyguyse1/halide-vision>
|
| 39 |
|
| 40 |
Source repository:
|
| 41 |
-
<https://github.com/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
|
| 43 |
Held-out validation summary:
|
| 44 |
|
|
@@ -47,7 +62,3 @@ Held-out validation summary:
|
|
| 47 |
- One near-clean private negative returned zero defects.
|
| 48 |
- A broad lifted crack network that failed full-frame inference was recovered by
|
| 49 |
the tiled fallback.
|
| 50 |
-
|
| 51 |
-
Demo video: pending publication.
|
| 52 |
-
|
| 53 |
-
Social post: pending publication.
|
|
|
|
| 18 |
- sponsor:nvidia
|
| 19 |
- sponsor:modal
|
| 20 |
- sponsor:openai
|
| 21 |
+
- badge:offbrand
|
| 22 |
+
- badge:tiny
|
| 23 |
+
- badge:demo
|
| 24 |
+
- badge:quest
|
| 25 |
- achievement:offgrid
|
| 26 |
- achievement:welltuned
|
| 27 |
- achievement:offbrand
|
| 28 |
+
- achievement:fieldnotes
|
| 29 |
---
|
| 30 |
|
| 31 |
# Project Halide
|
|
|
|
| 43 |
<https://huggingface.co/Lonelyguyse1/halide-vision>
|
| 44 |
|
| 45 |
Source repository:
|
| 46 |
+
<https://github.com/LonelyGuy-SE1/Project-Halide>
|
| 47 |
+
|
| 48 |
+
Demo video:
|
| 49 |
+
<https://huggingface.co/spaces/build-small-hackathon/project-halide/blob/main/assets/demo_walkthrough.mp4>
|
| 50 |
+
|
| 51 |
+
Public launch post:
|
| 52 |
+
<https://huggingface.co/spaces/build-small-hackathon/project-halide/discussions/1>
|
| 53 |
+
|
| 54 |
+
Modal was used for offline training, held-out GPU evaluation, checkpoint upload,
|
| 55 |
+
GGUF conversion, and Space deployment. The runtime app itself does not call
|
| 56 |
+
Modal or any hosted inference API.
|
| 57 |
|
| 58 |
Held-out validation summary:
|
| 59 |
|
|
|
|
| 62 |
- One near-clean private negative returned zero defects.
|
| 63 |
- A broad lifted crack network that failed full-frame inference was recovered by
|
| 64 |
the tiled fallback.
|
|
|
|
|
|
|
|
|
|
|
|
assets/demo_original.webp
ADDED
|
Git LFS Details
|
assets/demo_overlay.webp
ADDED
|
Git LFS Details
|
assets/demo_poster.jpg
ADDED
|
Git LFS Details
|
assets/demo_walkthrough.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3c0f2d24906c3b292f6df4c66f9f17ccc55d4e979bfc38090f777788c6affd04
|
| 3 |
+
size 732985
|
ui/app.py
CHANGED
|
@@ -37,7 +37,6 @@ from ui.components import (
|
|
| 37 |
run_state_html,
|
| 38 |
stats_html,
|
| 39 |
)
|
| 40 |
-
from ui.theme import THEME_CSS, build_theme
|
| 41 |
|
| 42 |
logger = logging.getLogger(__name__)
|
| 43 |
logging.basicConfig(level=logging.INFO)
|
|
@@ -531,8 +530,13 @@ def build_app() -> gr.Blocks:
|
|
| 531 |
)
|
| 532 |
|
| 533 |
gr.HTML(
|
| 534 |
-
|
| 535 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 536 |
)
|
| 537 |
|
| 538 |
run_event = run_btn.click(
|
|
@@ -594,21 +598,3 @@ def build_app() -> gr.Blocks:
|
|
| 594 |
)
|
| 595 |
|
| 596 |
return app
|
| 597 |
-
|
| 598 |
-
|
| 599 |
-
def main() -> None:
|
| 600 |
-
app = build_app()
|
| 601 |
-
app.queue(max_size=8).launch(
|
| 602 |
-
server_name="0.0.0.0",
|
| 603 |
-
server_port=7860,
|
| 604 |
-
show_error=True,
|
| 605 |
-
theme=build_theme(),
|
| 606 |
-
css=THEME_CSS,
|
| 607 |
-
allowed_paths=["assets"],
|
| 608 |
-
favicon_path="assets/logo.jpg",
|
| 609 |
-
max_file_size="60mb",
|
| 610 |
-
)
|
| 611 |
-
|
| 612 |
-
|
| 613 |
-
if __name__ == "__main__":
|
| 614 |
-
main()
|
|
|
|
| 37 |
run_state_html,
|
| 38 |
stats_html,
|
| 39 |
)
|
|
|
|
| 40 |
|
| 41 |
logger = logging.getLogger(__name__)
|
| 42 |
logging.basicConfig(level=logging.INFO)
|
|
|
|
| 530 |
)
|
| 531 |
|
| 532 |
gr.HTML(
|
| 533 |
+
'<footer><span>Project Halide, open-weight film diagnostics.</span>'
|
| 534 |
+
'<a href="https://huggingface.co/Lonelyguyse1/halide-vision" '
|
| 535 |
+
'target="_blank" rel="noreferrer">Vision model</a>'
|
| 536 |
+
'<a href="https://huggingface.co/spaces/build-small-hackathon/project-halide" '
|
| 537 |
+
'target="_blank" rel="noreferrer">Live Space</a>'
|
| 538 |
+
'<a href="https://github.com/LonelyGuy-SE1/Project-Halide" '
|
| 539 |
+
'target="_blank" rel="noreferrer">Source</a></footer>'
|
| 540 |
)
|
| 541 |
|
| 542 |
run_event = run_btn.click(
|
|
|
|
| 598 |
)
|
| 599 |
|
| 600 |
return app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ui/theme.py
CHANGED
|
@@ -798,6 +798,22 @@ footer {{
|
|
| 798 |
text-align: center;
|
| 799 |
padding: 14px 8px 4px;
|
| 800 |
font-size: 0.82rem;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 801 |
}}
|
| 802 |
|
| 803 |
#halide-header {{
|
|
|
|
| 798 |
text-align: center;
|
| 799 |
padding: 14px 8px 4px;
|
| 800 |
font-size: 0.82rem;
|
| 801 |
+
display: flex;
|
| 802 |
+
align-items: center;
|
| 803 |
+
justify-content: center;
|
| 804 |
+
flex-wrap: wrap;
|
| 805 |
+
gap: 10px 16px;
|
| 806 |
+
}}
|
| 807 |
+
|
| 808 |
+
footer a {{
|
| 809 |
+
color: var(--halide-amber-light) !important;
|
| 810 |
+
text-decoration: none;
|
| 811 |
+
border-bottom: 1px solid rgba(236, 177, 107, 0.35);
|
| 812 |
+
}}
|
| 813 |
+
|
| 814 |
+
footer a:hover {{
|
| 815 |
+
color: var(--halide-paper) !important;
|
| 816 |
+
border-bottom-color: rgba(236, 177, 107, 0.75);
|
| 817 |
}}
|
| 818 |
|
| 819 |
#halide-header {{
|