Spaces:
Runtime error
Runtime error
fix error
Browse files- .gitignore +20 -0
- app.py +6 -8
- config/chatbot_ui.yaml +3 -1
- infer.py +38 -7
- requirements.txt +4 -2
.gitignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.pyc
|
| 2 |
+
*.pth
|
| 3 |
+
*.pt
|
| 4 |
+
*.pkl
|
| 5 |
+
*.ckpt
|
| 6 |
+
*.DS_Store
|
| 7 |
+
*__pycache__*
|
| 8 |
+
*.cache*
|
| 9 |
+
*.bin
|
| 10 |
+
*.idea
|
| 11 |
+
*.csv
|
| 12 |
+
cache
|
| 13 |
+
build
|
| 14 |
+
dist
|
| 15 |
+
dev
|
| 16 |
+
scepter.egg-info
|
| 17 |
+
.readthedocs.yml
|
| 18 |
+
*resources
|
| 19 |
+
*.ipynb_checkpoints*
|
| 20 |
+
*.vscode
|
app.py
CHANGED
|
@@ -27,9 +27,9 @@ from scepter.modules.utils.directory import get_md5
|
|
| 27 |
from scepter.modules.utils.file_system import FS
|
| 28 |
from scepter.studio.utils.env import init_env
|
| 29 |
|
| 30 |
-
from
|
| 31 |
-
from
|
| 32 |
-
from
|
| 33 |
|
| 34 |
|
| 35 |
refresh_sty = '\U0001f504' # 🔄
|
|
@@ -44,10 +44,9 @@ lock = threading.Lock()
|
|
| 44 |
|
| 45 |
class ChatBotUI(object):
|
| 46 |
def __init__(self,
|
| 47 |
-
|
| 48 |
root_work_dir='./'):
|
| 49 |
|
| 50 |
-
cfg = Config(cfg_file=cfg_general_file)
|
| 51 |
cfg.WORK_DIR = os.path.join(root_work_dir, cfg.WORK_DIR)
|
| 52 |
if not FS.exists(cfg.WORK_DIR):
|
| 53 |
FS.make_dir(cfg.WORK_DIR)
|
|
@@ -1189,11 +1188,10 @@ class ChatBotUI(object):
|
|
| 1189 |
|
| 1190 |
|
| 1191 |
if __name__ == '__main__':
|
| 1192 |
-
cfg = Config(cfg_file="config/chatbot_ui.yaml")
|
| 1193 |
|
|
|
|
| 1194 |
with gr.Blocks() as demo:
|
| 1195 |
chatbot = ChatBotUI(cfg)
|
| 1196 |
-
chatbot.
|
| 1197 |
chatbot.set_callbacks()
|
| 1198 |
-
|
| 1199 |
demo.launch()
|
|
|
|
| 27 |
from scepter.modules.utils.file_system import FS
|
| 28 |
from scepter.studio.utils.env import init_env
|
| 29 |
|
| 30 |
+
from infer import ACEInference
|
| 31 |
+
from example import get_examples
|
| 32 |
+
from utils import load_image
|
| 33 |
|
| 34 |
|
| 35 |
refresh_sty = '\U0001f504' # 🔄
|
|
|
|
| 44 |
|
| 45 |
class ChatBotUI(object):
|
| 46 |
def __init__(self,
|
| 47 |
+
cfg,
|
| 48 |
root_work_dir='./'):
|
| 49 |
|
|
|
|
| 50 |
cfg.WORK_DIR = os.path.join(root_work_dir, cfg.WORK_DIR)
|
| 51 |
if not FS.exists(cfg.WORK_DIR):
|
| 52 |
FS.make_dir(cfg.WORK_DIR)
|
|
|
|
| 1188 |
|
| 1189 |
|
| 1190 |
if __name__ == '__main__':
|
|
|
|
| 1191 |
|
| 1192 |
+
cfg = Config(cfg_file="config/chatbot_ui.yaml")
|
| 1193 |
with gr.Blocks() as demo:
|
| 1194 |
chatbot = ChatBotUI(cfg)
|
| 1195 |
+
chatbot.create_ui()
|
| 1196 |
chatbot.set_callbacks()
|
|
|
|
| 1197 |
demo.launch()
|
config/chatbot_ui.yaml
CHANGED
|
@@ -2,10 +2,12 @@ WORK_DIR: ./cache/chatbot
|
|
| 2 |
FILE_SYSTEM:
|
| 3 |
- NAME: LocalFs
|
| 4 |
TEMP_DIR: ./cache
|
| 5 |
-
- NAME:
|
| 6 |
TEMP_DIR: ./cache
|
| 7 |
- NAME: HuggingfaceFs
|
| 8 |
TEMP_DIR: ./cache
|
|
|
|
|
|
|
| 9 |
#
|
| 10 |
ENABLE_I2V: False
|
| 11 |
#
|
|
|
|
| 2 |
FILE_SYSTEM:
|
| 3 |
- NAME: LocalFs
|
| 4 |
TEMP_DIR: ./cache
|
| 5 |
+
- NAME: HttpFs
|
| 6 |
TEMP_DIR: ./cache
|
| 7 |
- NAME: HuggingfaceFs
|
| 8 |
TEMP_DIR: ./cache
|
| 9 |
+
- NAME: ModelscopeFs
|
| 10 |
+
TEMP_DIR: ./cache
|
| 11 |
#
|
| 12 |
ENABLE_I2V: False
|
| 13 |
#
|
infer.py
CHANGED
|
@@ -12,17 +12,48 @@ import torch.nn.functional as F
|
|
| 12 |
import torchvision.transforms.functional as TF
|
| 13 |
|
| 14 |
from scepter.modules.model.registry import DIFFUSIONS
|
| 15 |
-
from scepter.modules.model.utils.basic_utils import (
|
| 16 |
-
check_list_of_list,
|
| 17 |
-
pack_imagelist_into_tensor_v2 as pack_imagelist_into_tensor,
|
| 18 |
-
to_device,
|
| 19 |
-
unpack_tensor_into_imagelist
|
| 20 |
-
)
|
| 21 |
from scepter.modules.utils.distribute import we
|
| 22 |
from scepter.modules.utils.logger import get_logger
|
| 23 |
-
|
| 24 |
from scepter.modules.inference.diffusion_inference import DiffusionInference, get_model
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
def process_edit_image(images,
|
| 28 |
masks,
|
|
|
|
| 12 |
import torchvision.transforms.functional as TF
|
| 13 |
|
| 14 |
from scepter.modules.model.registry import DIFFUSIONS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
from scepter.modules.utils.distribute import we
|
| 16 |
from scepter.modules.utils.logger import get_logger
|
|
|
|
| 17 |
from scepter.modules.inference.diffusion_inference import DiffusionInference, get_model
|
| 18 |
|
| 19 |
+
def check_list_of_list(ll):
|
| 20 |
+
return isinstance(ll, list) and all(isinstance(i, list) for i in ll)
|
| 21 |
+
|
| 22 |
+
def pack_imagelist_into_tensor(image_list):
|
| 23 |
+
# allow None
|
| 24 |
+
example = None
|
| 25 |
+
image_tensor, shapes = [], []
|
| 26 |
+
for img in image_list:
|
| 27 |
+
if img is None:
|
| 28 |
+
example = find_example(image_tensor,
|
| 29 |
+
image_list) if example is None else example
|
| 30 |
+
image_tensor.append(example)
|
| 31 |
+
shapes.append(None)
|
| 32 |
+
continue
|
| 33 |
+
_, c, h, w = img.size()
|
| 34 |
+
image_tensor.append(img.view(c, h * w).transpose(1, 0)) # h*w, c
|
| 35 |
+
shapes.append((h, w))
|
| 36 |
+
|
| 37 |
+
image_tensor = pad_sequence(image_tensor,
|
| 38 |
+
batch_first=True).permute(0, 2, 1) # b, c, l
|
| 39 |
+
return image_tensor, shapes
|
| 40 |
+
|
| 41 |
+
def to_device(inputs, strict=True):
|
| 42 |
+
if inputs is None:
|
| 43 |
+
return None
|
| 44 |
+
if strict:
|
| 45 |
+
assert all(isinstance(i, torch.Tensor) for i in inputs)
|
| 46 |
+
return [i.to(we.device_id) if i is not None else None for i in inputs]
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
def unpack_tensor_into_imagelist(image_tensor, shapes):
|
| 50 |
+
image_list = []
|
| 51 |
+
for img, shape in zip(image_tensor, shapes):
|
| 52 |
+
h, w = shape[0], shape[1]
|
| 53 |
+
image_list.append(img[:, :h * w].view(1, -1, h, w))
|
| 54 |
+
|
| 55 |
+
return image_list
|
| 56 |
+
|
| 57 |
|
| 58 |
def process_edit_image(images,
|
| 59 |
masks,
|
requirements.txt
CHANGED
|
@@ -1,5 +1,7 @@
|
|
| 1 |
-
huggingface_hub
|
| 2 |
scepter>=1.1.0
|
| 3 |
diffusers
|
| 4 |
transformers
|
| 5 |
-
gradio_imageslider
|
|
|
|
|
|
|
|
|
| 1 |
+
huggingface_hub
|
| 2 |
scepter>=1.1.0
|
| 3 |
diffusers
|
| 4 |
transformers
|
| 5 |
+
gradio_imageslider
|
| 6 |
+
torch>=2.4.0
|
| 7 |
+
torchvision
|