Spaces:
Running
on
Zero
Running
on
Zero
add sd
Browse files- app.py +18 -2
- docker-compose.yml +22 -0
- requirements.txt +1 -1
app.py
CHANGED
@@ -414,8 +414,11 @@ def run_fn(
|
|
414 |
images = [tup[0] for tup in images]
|
415 |
images = [transform_image(image, resolution=resolution) for image in images]
|
416 |
images = torch.stack(images)
|
417 |
-
|
418 |
model = load_model(model_name)
|
|
|
|
|
|
|
419 |
|
420 |
kwargs = {
|
421 |
"model_name": model_name,
|
@@ -593,7 +596,8 @@ def make_output_images_section():
|
|
593 |
|
594 |
def make_parameters_section():
|
595 |
gr.Markdown("### Parameters <a style='color: #0044CC;' href='https://ncut-pytorch.readthedocs.io/en/latest/how_to_get_better_segmentation/' target='_blank'>Help</a>")
|
596 |
-
from ncut_pytorch.backbone import list_models, get_demo_model_names
|
|
|
597 |
model_names = list_models()
|
598 |
model_names = sorted(model_names)
|
599 |
model_dropdown = gr.Dropdown(model_names, label="Backbone", value="DiNO(dino_vitb8_448)", elem_id="model_name")
|
@@ -602,6 +606,13 @@ def make_parameters_section():
|
|
602 |
num_eig_slider = gr.Slider(1, 1000, step=1, label="NCUT: Number of eigenvectors", value=100, elem_id="num_eig", info='increase for more clusters')
|
603 |
|
604 |
def change_layer_slider(model_name):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
605 |
layer_dict = LAYER_DICT
|
606 |
if model_name in layer_dict:
|
607 |
value = layer_dict[model_name]
|
@@ -657,6 +668,8 @@ with demo:
|
|
657 |
logging_text = gr.Textbox("Logging information", label="Logging", elem_id="logging", type="text", placeholder="Logging information")
|
658 |
|
659 |
clear_images_button.click(lambda x: ([], []), outputs=[input_gallery, output_gallery])
|
|
|
|
|
660 |
submit_button.click(
|
661 |
run_fn,
|
662 |
inputs=[
|
@@ -917,3 +930,6 @@ if DOWNLOAD_ALL_MODELS_DATASETS:
|
|
917 |
threading.Thread(target=download_all_datasets).start()
|
918 |
|
919 |
demo.launch(share=True)
|
|
|
|
|
|
|
|
414 |
images = [tup[0] for tup in images]
|
415 |
images = [transform_image(image, resolution=resolution) for image in images]
|
416 |
images = torch.stack(images)
|
417 |
+
|
418 |
model = load_model(model_name)
|
419 |
+
if "stable" in model_name.lower() and "diffusion" in model_name.lower():
|
420 |
+
model.timestep = layer
|
421 |
+
layer = 1
|
422 |
|
423 |
kwargs = {
|
424 |
"model_name": model_name,
|
|
|
596 |
|
597 |
def make_parameters_section():
|
598 |
gr.Markdown("### Parameters <a style='color: #0044CC;' href='https://ncut-pytorch.readthedocs.io/en/latest/how_to_get_better_segmentation/' target='_blank'>Help</a>")
|
599 |
+
# from ncut_pytorch.backbone import list_models, get_demo_model_names
|
600 |
+
from backbone import list_models, get_demo_model_names
|
601 |
model_names = list_models()
|
602 |
model_names = sorted(model_names)
|
603 |
model_dropdown = gr.Dropdown(model_names, label="Backbone", value="DiNO(dino_vitb8_448)", elem_id="model_name")
|
|
|
606 |
num_eig_slider = gr.Slider(1, 1000, step=1, label="NCUT: Number of eigenvectors", value=100, elem_id="num_eig", info='increase for more clusters')
|
607 |
|
608 |
def change_layer_slider(model_name):
|
609 |
+
# SD2, UNET
|
610 |
+
if "stable" in model_name.lower() and "diffusion" in model_name.lower():
|
611 |
+
from backbone import SD_KEY_DICT
|
612 |
+
default_layer = 'up_2_resnets_1_block' if 'diffusion-3' not in model_name else 'block_23'
|
613 |
+
return (gr.Slider(1, 49, step=1, label="Diffusion: Timestep (Noise)", value=5, elem_id="layer", visible=True, info="Noise level, 50 is max noise"),
|
614 |
+
gr.Dropdown(SD_KEY_DICT[model_name], label="Diffusion: Layer and Node", value=default_layer, elem_id="node_type", info="From the SD U-Net"))
|
615 |
+
|
616 |
layer_dict = LAYER_DICT
|
617 |
if model_name in layer_dict:
|
618 |
value = layer_dict[model_name]
|
|
|
668 |
logging_text = gr.Textbox("Logging information", label="Logging", elem_id="logging", type="text", placeholder="Logging information")
|
669 |
|
670 |
clear_images_button.click(lambda x: ([], []), outputs=[input_gallery, output_gallery])
|
671 |
+
|
672 |
+
|
673 |
submit_button.click(
|
674 |
run_fn,
|
675 |
inputs=[
|
|
|
930 |
threading.Thread(target=download_all_datasets).start()
|
931 |
|
932 |
demo.launch(share=True)
|
933 |
+
|
934 |
+
|
935 |
+
# %%
|
docker-compose.yml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
version: '3.8'
|
2 |
+
|
3 |
+
services:
|
4 |
+
ncut_demo:
|
5 |
+
image: registry.hf.space/huzey-ncut-pytorch:latest
|
6 |
+
container_name: ncut_demo
|
7 |
+
environment:
|
8 |
+
- HF_ACCESS_TOKEN=${HF_ACCESS_TOKEN}
|
9 |
+
- USE_HUGGINGFACE_ZEROGPU=false
|
10 |
+
ports:
|
11 |
+
- "7860:7860"
|
12 |
+
deploy:
|
13 |
+
resources:
|
14 |
+
reservations:
|
15 |
+
devices:
|
16 |
+
- capabilities: [gpu]
|
17 |
+
platform: linux/amd64
|
18 |
+
runtime: nvidia
|
19 |
+
shm_size: '64G'
|
20 |
+
command: python app.py
|
21 |
+
networks:
|
22 |
+
- default
|
requirements.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
torch
|
2 |
torchvision
|
3 |
-
ncut-pytorch>=1.
|
4 |
opencv-python
|
5 |
decord
|
6 |
transformers
|
|
|
1 |
torch
|
2 |
torchvision
|
3 |
+
ncut-pytorch>=1.3.1
|
4 |
opencv-python
|
5 |
decord
|
6 |
transformers
|