Merge pull request #34 from modelscope/v1.0.0_dev

v1.0.0 update
This commit is contained in:
jiangzeyinzi
2024-06-03 17:49:47 +08:00
committed by GitHub
193 changed files with 7636 additions and 3149 deletions
+1 -1
View File
@@ -15,6 +15,6 @@ dev
scepter.egg-info
.readthedocs.yml
1.9
MANIFEST.in
#MANIFEST.in
*resources
*.ipynb_checkpoints*
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

+1
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
+15 -2
View File
@@ -29,8 +29,21 @@ Given an original image, image editing aims to generate an image that align with
<td><img src="../../../asset/images/stylebooth/retrogame.jpeg" width="240"></td>
<td><img src="../../../asset/images/stylebooth/vangogh.jpeg" width="240"></td>
</tr>
<tr>
<td><strong>Origin Image</strong></td>
<td><strong>Lowpoly</strong></td>
<td><strong>Colored Pencil Art</strong></td>
<td><strong>Watercolor</strong></td>
<td><strong>misc-disco</strong></td>
</tr>
<tr>
<td><img src="../../../asset/images/stylebooth/mountain.jpg" width="240"></td>
<td><img src="../../../asset/images/stylebooth/lowpoly.jpg" width="240"></td>
<td><img src="../../../asset/images/stylebooth/colorpencil.jpeg" width="240"></td>
<td><img src="../../../asset/images/stylebooth/watercolor.jpeg" width="240"></td>
<td><img src="../../../asset/images/stylebooth/disco.jpeg" width="240"></td>
</tr>
</table>
## Features
| **Text-Based** | **Exemplar-Based** |
@@ -92,7 +105,7 @@ class DiffusionInferenceTest(unittest.TestCase):
output = diff_infer({'prompt': 'Let this image be in the style of sai-lowpoly'},
style_edit_image=Image.open('asset/images/inpainting_text_ref/ex4_scene_im.jpg'),
style_guide_scale_text=7.5,
style_guide_scale_image=0.5)
style_guide_scale_image=1.5)
save_path = os.path.join(self.tmp_dir,
'stylebooth_test_lowpoly_cute_dog.png')
save_image(output['images'], save_path)
+7 -2
View File
@@ -5,7 +5,7 @@ Below are examples for each format, illustrating their details and basic usage.
## Modelscope Format
We use a [custom-stylized dataset](https://modelscope.cn/datasets/damo/style_custom_dataset/summary), which included classes 3D, anime, flat illustration, oil painting, sketch, and watercolor, each with 30 image-text pairs.
We use a [custom-stylized dataset](https://modelscope.cn/datasets/iic/style_custom_dataset/summary), which included classes 3D, anime, flat illustration, oil painting, sketch, and watercolor, each with 30 image-text pairs.
```python
# pip install modelscope
@@ -16,7 +16,11 @@ print(next(iter(ms_train_dataset)))
## CSV Format
For the data format used by SCEPTER Studio, please refer to [3D_example_csv.zip](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets/3D_example_csv.zip).
For the data format used by SCEPTER Studio, please refer to [3D_example_csv.zip](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets/3D_example_csv.zip) and [hed_pair.zip](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets%2Fhed_pair.zip).
```shell
mkdir -p cache/datasets/ && wget 'https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets/3D_example_csv.zip' -O cache/datasets/3D_example_csv.zip && unzip cache/datasets/3D_example_csv.zip -d cache/datasets/ && rm cache/datasets/3D_example_csv.zip
mkdir -p cache/datasets/ && wget 'https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets/hed_pair.zip' -O cache/datasets/hed_pair.zip && unzip cache/datasets/hed_pair.zip -d cache/datasets/ && rm cache/datasets/hed_pair.zip
```
## TXT Format
@@ -24,3 +28,4 @@ To facilitate starting training in command-line mode, you can use a dataset in t
```shell
mkdir -p cache/datasets/ && wget 'https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets/3D_example_txt.zip' -O cache/datasets/3D_example_txt.zip && unzip cache/datasets/3D_example_txt.zip -d cache/datasets/ && rm cache/datasets/3D_example_txt.zip
```
+2 -2
View File
@@ -40,6 +40,6 @@ python scepter/tools/run_inference.py --cfg scepter/methods/scedit/t2i/sd15_512_
- SCEdit
```shell
python scepter/tools/run_inference.py --cfg scepter/methods/scedit/ctr/sd21_768_sce_ctr_canny.yaml --num_samples 1 --prompt 'a single flower is shown in front of a tree' --save_folder 'test_flower_canny' --image_size 768 --task control --image 'asset/images/flower.jpg' --control_mode canny --pretrained_model ms://damo/scepter_scedit@controllable_model/SD2.1/canny_control/0_SwiftSCETuning/pytorch_model.bin # canny
python scepter/tools/run_inference.py --cfg scepter/methods/scedit/ctr/sd21_768_sce_ctr_pose.yaml --num_samples 1 --prompt 'super mario' --save_folder 'test_mario_pose' --image_size 768 --task control --image 'asset/images/pose_source.png' --control_mode source --pretrained_model ms://damo/scepter_scedit@controllable_model/SD2.1/pose_control/0_SwiftSCETuning/pytorch_model.bin # pose
python scepter/tools/run_inference.py --cfg scepter/methods/scedit/ctr/sd21_768_sce_ctr_canny.yaml --num_samples 1 --prompt 'a single flower is shown in front of a tree' --save_folder 'test_flower_canny' --image_size 768 --task control --image 'asset/images/flower.jpg' --control_mode canny --pretrained_model ms://iic/scepter_scedit@controllable_model/SD2.1/canny_control/0_SwiftSCETuning/pytorch_model.bin # canny
python scepter/tools/run_inference.py --cfg scepter/methods/scedit/ctr/sd21_768_sce_ctr_pose.yaml --num_samples 1 --prompt 'super mario' --save_folder 'test_mario_pose' --image_size 768 --task control --image 'asset/images/pose_source.png' --control_mode source --pretrained_model ms://iic/scepter_scedit@controllable_model/SD2.1/pose_control/0_SwiftSCETuning/pytorch_model.bin # pose
```
+1
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
+1
View File
@@ -6,4 +6,5 @@ dependencies:
- pip>=20.3
- numpy>=1.23.1
- pip:
- -r requirements/recommended.txt
- -r requirements.txt
-1
View File
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import numpy as np
import torchvision
from scepter.modules.data.dataset.base_dataset import BaseDataset
from scepter.modules.data.dataset.registry import DATASETS
from scepter.modules.utils.config import dict_to_yaml
+43 -43
View File
@@ -18,6 +18,7 @@ SCEPTER offers 3 core components:
## 🎉 News
- [2024.05]: Introducing SCEPTER v1, supporting customized image edit tasks! Simply provide 10 image pairs, SCEPTER will tune an edit tuner for your own Image-to-Image tasks, like `Clay Style`, `De-Text`, `Segmentation`, etc.
- [2024.04]: New [StyleBooth](https://ali-vilab.github.io/stylebooth-page/) demo on SCEPTER Studio for`Text-Based Style Editing`.
- [2024.03]: We optimize the training UI and checkpoint management. New [LAR-Gen](https://arxiv.org/abs/2403.19534) model has been added on SCEPTER Studio, supporting `zoom-out`, `virtual try on`, `inpainting`.
- [2024.02]: We release new SCEdit controllable image synthesis models for SD v2.1 and SD XL. Multiple strategies applied to accelerate inference time for SCEPTER Studio.
@@ -29,59 +30,60 @@ SCEPTER offers 3 core components:
## 🖼 Gallery for Recent Works
### StyleBooth
<table>
<tr>
<td><strong>Origin Image</strong><br>Gold Dragon Tuner</td>
<td><strong>Graffiti Art</strong></td>
<td><strong>Adorable Kawaii</strong></td>
<td><strong>game-retro game</strong></td>
<td><strong>Vincent van Gogh</strong></td>
</tr>
<tr>
<td><img src="asset/images/scedit/tuner_gold_dragon.jpeg" width="240"></td>
<td><img src="asset/images/stylebooth/graffiti.jpeg" width="240"></td>
<td><img src="asset/images/stylebooth/kawaii.jpeg" width="240"></td>
<td><img src="asset/images/stylebooth/retrogame.jpeg" width="240"></td>
<td><img src="asset/images/stylebooth/vangogh.jpeg" width="240"></td>
</tr>
</table>
### Edit Tuners
<table>
<tr>
<td><strong>Origin Image</strong></td>
<td><strong>Lowpoly</strong></td>
<td><strong>Colored Pencil Art</strong></td>
<td><strong>Watercolor</strong></td>
<td><strong>misc-disco</strong></td>
</tr>
<tr>
<td><img src="asset/images/stylebooth/mountain.jpg" width="240"></td>
<td><img src="asset/images/stylebooth/lowpoly.jpg" width="240"></td>
<td><img src="asset/images/stylebooth/colorpencil.jpeg" width="240"></td>
<td><img src="asset/images/stylebooth/watercolor.jpeg" width="240"></td>
<td><img src="asset/images/stylebooth/disco.jpeg" width="240"></td>
</tr>
</table>
Simply provide 10 image pairs, SCEPTER will tune an edit tuner for your own Image-to-Image tasks, like `Clay Style`, `De-Text`, `Segmentation`, etc.
Try our official few-shot datasets: [De-Text](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets%2Fdetext.zip), [Image2Hed](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets%2Fhed_pair.zip), [Image2Depth](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets%2Fimage2depth.zip), [Depth2Image](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=datasets%2Fdepth2image.zip).
<table><tbody>
<tr>
<th align="center" colspan="4">Clay Style<br>Prompt: "Convert this image into clay style"</th>
</tr>
<tr>
<td><img src="asset/images/edit_tuner/vermeer.jpeg" width="300"></td>
<td><img src="asset/images/edit_tuner/clay_vermeer.jpeg" width="300"></td>
<td><img src="asset/images/edit_tuner/cat_512.jpg" width="300"></td>
<td><img src="asset/images/edit_tuner/clay_cat.jpeg" width="300"></td>
</tr>
<tr>
<th align="center" colspan="2">De-Text<br>Prompt: "Remove the texts"</th>
<th align="center" colspan="2">Image2Hed<br>Prompt: "Convert to an edge map"</th>
</tr>
<tr>
<td><img src="asset/images/edit_tuner/text.jpg" width="300"></td>
<td><img src="asset/images/edit_tuner/detext.jpeg" width="300"></td>
<td><img src="asset/images/edit_tuner/cat_512.jpg" width="300"></td>
<td><img src="asset/images/edit_tuner/hed.jpeg" width="300"></td>
</tr>
<tr>
<th align="center" colspan="2">Image2Depth<br>Prompt: "Calculate the depth map"</th>
<th align="center" colspan="2">Depth2Image<br>Prompt: "Convert depth map into color image"</th>
</tr>
<tr>
<td><img src="asset/images/edit_tuner/house.jpg" width="300"></td>
<td><img src="asset/images/edit_tuner/image2depth.jpeg" width="300"></td>
<td><img src="asset/images/edit_tuner/depth.jpg" width="300"></td>
<td><img src="asset/images/edit_tuner/depth2image.jpeg" width="300"></td>
</tr>
</tbody>
</table>
Note: Left image is input and right image is output.
## 🛠️ Installation
- Create new environment
- Create new environment with `conda` command:
```shell
conda env create -f environment.yaml
conda activate scepter
```
- We recommend installing the specific version of PyTorch and accelerate toolbox [xFormers](https://pypi.org/project/xformers/). You can install these recommended version by pip:
- Install with `pip` command:
We recommend installing the specific version of PyTorch and accelerate toolbox [xFormers](https://pypi.org/project/xformers/). You can install these recommended version by pip:
```shell
pip install -r requirements/recommended.txt
```
- Install SCEPTER by the `pip` command:
```shell
pip install scepter
```
@@ -132,8 +134,6 @@ The startup of **SCEPTER Studio** eliminates the need for manual downloading and
Depending on the network and hardware situation, the initial startup usually requires 15-60 minutes, primarily involving the download and processing of SDv1.5, SDv2.1, and SDXL models.
Therefore, subsequent startups will become much faster (about one minute) as downloading is no longer required.
To support the sharing and downloading of models,
please make sure that you have installed **zip** and Git Large File Storage (**git lfs**).
### Usage Demo
| [Image Editing](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets%2Fscepter_studio%2Fimage_editing_20240419.webm) | [Training](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets%2Fscepter_studio%2Ftraining_20240419.webm) | [Model Sharing](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets%2Fscepter_studio%2Fmodel_sharing_20240419.webm) | [Model Inference](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets%2Fscepter_studio%2Fmodel_inference_20240419.webm) | [Data Management](https://www.modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets%2Fscepter_studio%2Fdata_management_20240419.webm) |
@@ -142,7 +142,7 @@ please make sure that you have installed **zip** and Git Large File Storage (**g
### Modelscope Studio & Huggingface Space
We deploy a work studio on Modelscope that includes only the inference tab, please refer to [ms_scepter_studio](https://www.modelscope.cn/studios/damo/scepter_studio/summary) and [hf_scepter_studio](https://huggingface.co/spaces/modelscope/scepter_studio)
We deploy a work studio on Modelscope that includes only the inference tab, please refer to [ms_scepter_studio](https://www.modelscope.cn/studios/iic/scepter_studio/summary) and [hf_scepter_studio](https://huggingface.co/spaces/modelscope/scepter_studio)
## 🔍 Learn More
+250
View File
@@ -0,0 +1,250 @@
ENV:
BACKEND: nccl
SOLVER:
NAME: LatentDiffusionSolver
RESUME_FROM:
LOAD_MODEL_ONLY: True
USE_FSDP: False
SHARDING_STRATEGY:
USE_AMP: True
DTYPE: float16
CHANNELS_LAST: True
MAX_STEPS: 2000
MAX_EPOCHS: -1
NUM_FOLDS: 1
ACCU_STEP: 1
EVAL_INTERVAL: 100
#
WORK_DIR: ./cache/save_data/edit_512_lora
LOG_FILE: std_log.txt
#
FILE_SYSTEM:
NAME: "ModelscopeFs"
TEMP_DIR: "./cache/data"
#
TUNER:
-
NAME: SwiftLoRA
R: 64
LORA_ALPHA: 64
LORA_DROPOUT: 0.0
BIAS: "none"
TARGET_MODULES: model.*(to_q|to_k|to_v|to_out.0|net.0.proj|net.2)$
#
MODEL:
NAME: LatentDiffusionEdit
PARAMETERIZATION: eps
TIMESTEPS: 1000
MIN_SNR_GAMMA:
ZERO_TERMINAL_SNR: False
PRETRAINED_MODEL: ms://iic/stylebooth@models/stylebooth-tb-5000-0.bin
IGNORE_KEYS: [ ]
CONCAT_NO_SCALE_FACTOR: True
SCALE_FACTOR: 0.18215
SIZE_FACTOR: 8
# DEFAULT_N_PROMPT: 'lowres, error, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, out of frame, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, username, watermark, signature'
DEFAULT_N_PROMPT:
SCHEDULE_ARGS:
"NAME": "scaled_linear"
"BETA_MIN": 0.00085
"BETA_MAX": 0.012
USE_EMA: False
#
DIFFUSION_MODEL:
NAME: DiffusionUNet
IN_CHANNELS: 8
OUT_CHANNELS: 4
MODEL_CHANNELS: 320
NUM_HEADS: 8
NUM_RES_BLOCKS: 2
ATTENTION_RESOLUTIONS: [ 4, 2, 1 ]
CHANNEL_MULT: [ 1, 2, 4, 4 ]
CONV_RESAMPLE: True
DIMS: 2
USE_CHECKPOINT: False
USE_SCALE_SHIFT_NORM: False
RESBLOCK_UPDOWN: False
USE_SPATIAL_TRANSFORMER: True
TRANSFORMER_DEPTH: 1
CONTEXT_DIM: 768
DISABLE_MIDDLE_SELF_ATTN: False
USE_LINEAR_IN_TRANSFORMER: False
PRETRAINED_MODEL:
IGNORE_KEYS: []
#
FIRST_STAGE_MODEL:
NAME: AutoencoderKL
EMBED_DIM: 4
PRETRAINED_MODEL:
IGNORE_KEYS: []
BATCH_SIZE: 4
#
ENCODER:
NAME: Encoder
CH: 128
OUT_CH: 3
NUM_RES_BLOCKS: 2
IN_CHANNELS: 3
ATTN_RESOLUTIONS: [ ]
CH_MULT: [ 1, 2, 4, 4 ]
Z_CHANNELS: 4
DOUBLE_Z: True
DROPOUT: 0.0
RESAMP_WITH_CONV: True
#
DECODER:
NAME: Decoder
CH: 128
OUT_CH: 3
NUM_RES_BLOCKS: 2
IN_CHANNELS: 3
ATTN_RESOLUTIONS: [ ]
CH_MULT: [ 1, 2, 4, 4 ]
Z_CHANNELS: 4
DROPOUT: 0.0
RESAMP_WITH_CONV: True
GIVE_PRE_END: False
TANH_OUT: False
#
TOKENIZER:
NAME: ClipTokenizer
PRETRAINED_PATH: ms://AI-ModelScope/clip-vit-large-patch14
LENGTH: 77
CLEAN: True
#
COND_STAGE_MODEL:
NAME: FrozenCLIPEmbedder
FREEZE: True
LAYER: last
PRETRAINED_MODEL: ms://AI-ModelScope/clip-vit-large-patch14
#
LOSS:
NAME: ReconstructLoss
LOSS_TYPE: l2
#
SAMPLE_ARGS:
SAMPLER: ddim
SAMPLE_STEPS: 50
SEED: 2023
GUIDE_SCALE: #7.5
image: 1.5
text: 7.5
GUIDE_RESCALE: 0.5
DISCRETIZATION: trailing
IMAGE_SIZE: [512, 512]
RUN_TRAIN_N: False
#
OPTIMIZER:
NAME: AdamW
LEARNING_RATE: 0.064
BETAS: [ 0.9, 0.999 ]
EPS: 1e-8
WEIGHT_DECAY: 1e-2
AMSGRAD: False
#
TRAIN_DATA:
NAME: ImageTextPairMSDataset
MODE: train
MS_DATASET_NAME: cache/datasets/hed_pair
MS_DATASET_NAMESPACE: ""
MS_DATASET_SPLIT: "train"
MS_DATASET_SUBNAME: ""
PROMPT_PREFIX: ""
REPLACE_STYLE: False
PIN_MEMORY: True
BATCH_SIZE: 1
NUM_WORKERS: 4
SAMPLER:
NAME: LoopSampler
TRANSFORMS:
- NAME: LoadImageFromFileList
FILE_KEYS: ['img_path', 'src_path']
RGB_ORDER: RGB
BACKEND: pillow
- NAME: FlexibleResize
INTERPOLATION: bilinear
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'img', 'src' ]
BACKEND: pillow
- NAME: FlexibleCenterCrop
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'img', 'src' ]
BACKEND: pillow
- NAME: ImageToTensor
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'img', 'src' ]
BACKEND: pillow
- NAME: Normalize
MEAN: [ 0.5, 0.5, 0.5 ]
STD: [ 0.5, 0.5, 0.5 ]
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'image', 'condition_cat' ]
BACKEND: torchvision
- NAME: Select
KEYS: [ 'image', 'condition_cat', 'prompt' ]
META_KEYS: [ 'data_key' ]
#
TRAIN_HOOKS:
-
NAME: BackwardHook
PRIORITY: 0
-
NAME: LogHook
LOG_INTERVAL: 50
-
NAME: CheckpointHook
INTERVAL: 1000
-
NAME: ProbeDataHook
PROB_INTERVAL: 100
EVAL_DATA:
NAME: Text2ImageDataset
MODE: eval
PROMPT_FILE:
PROMPT_DATA: [ "Convert to an edge map#;#cache/datasets/hed_pair/images/src_001.jpeg" ]
IMAGE_SIZE: [ 512, 512 ]
FIELDS: [ "prompt", "src_path" ]
DELIMITER: '#;#'
PROMPT_PREFIX: ''
PIN_MEMORY: True
BATCH_SIZE: 1
NUM_WORKERS: 4
TRANSFORMS:
- NAME: LoadImageFromFileList
FILE_KEYS: [ 'src_path' ]
RGB_ORDER: RGB
BACKEND: pillow
- NAME: FlexibleResize
INTERPOLATION: bilinear
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'src' ]
BACKEND: pillow
- NAME: FlexibleCenterCrop
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'src' ]
BACKEND: pillow
- NAME: ImageToTensor
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'src' ]
BACKEND: pillow
- NAME: Normalize
MEAN: [ 0.5, 0.5, 0.5 ]
STD: [ 0.5, 0.5, 0.5 ]
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'condition_cat' ]
BACKEND: torchvision
- NAME: Select
KEYS: [ 'condition_cat', 'prompt' ]
META_KEYS: [ 'image_size' ]
EVAL_HOOKS:
-
NAME: ProbeDataHook
PROB_INTERVAL: 100
SAVE_LAST: True
SAVE_NAME_PREFIX: 'step'
SAVE_PROBE_PREFIX: 'image'
@@ -127,7 +127,7 @@ SOLVER:
DOWN_RATIO: 1.0
CONTROL_ANNO:
NAME: HedAnnotator
PRETRAINED_MODEL: ms://damo/scepter_scedit@annotator/ckpts/ControlNetHED.pth
PRETRAINED_MODEL: ms://iic/scepter_scedit@annotator/ckpts/ControlNetHED.pth
#
SAMPLE_ARGS:
SAMPLER: ddim
@@ -125,8 +125,8 @@ SOLVER:
DOWN_RATIO: 1.0
CONTROL_ANNO:
NAME: OpenposeAnnotator
BODY_MODEL_PATH: ms://damo/scepter_scedit@annotator/ckpts/body_pose_model.pth
HAND_MODEL_PATH: ms://damo/scepter_scedit@annotator/ckpts/hand_pose_model.pth
BODY_MODEL_PATH: ms://iic/scepter_scedit@annotator/ckpts/body_pose_model.pth
HAND_MODEL_PATH: ms://iic/scepter_scedit@annotator/ckpts/hand_pose_model.pth
#
SAMPLE_ARGS:
SAMPLER: ddim
@@ -241,7 +241,7 @@ SOLVER:
DOWN_RATIO: 1.0
CONTROL_ANNO:
NAME: MidasDetector
PRETRAINED_MODEL: ms://damo/scepter_scedit@annotator/ckpts/dpt_hybrid-midas-501f0c75.pt
PRETRAINED_MODEL: ms://iic/scepter_scedit@annotator/ckpts/dpt_hybrid-midas-501f0c75.pt
#
SAMPLE_ARGS:
SAMPLER: ddim
@@ -5,59 +5,59 @@ CONTROLLERS:
DESCRIPTION:
BASE_MODEL: SD2.1
TYPE: Canny
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD2.1/canny_control/
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD2.1/canny_control/
- NAME: openpose
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD2.1
TYPE: Openpose
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD2.1/pose_control/
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD2.1/pose_control/
- NAME: color
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD2.1
TYPE: Color
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD2.1/color_control/
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD2.1/color_control/
- NAME: hed
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD2.1
TYPE: Hed
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD2.1/hed_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD2.1/hed_control
- NAME: depth
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD2.1
TYPE: Midas
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD2.1/depth_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD2.1/depth_control
# SD_XL1.0
- NAME: canny
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD_XL1.0
TYPE: Canny
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD_XL1.0/canny_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD_XL1.0/canny_control
- NAME: color
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD_XL1.0
TYPE: Color
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD_XL1.0/color_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD_XL1.0/color_control
- NAME: depth
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD_XL1.0
TYPE: Midas
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD_XL1.0/depth_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD_XL1.0/depth_control
- NAME: hed
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD_XL1.0
TYPE: Hed
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD_XL1.0/hed_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD_XL1.0/hed_control
- NAME: openpose
NAME_ZH:
DESCRIPTION:
BASE_MODEL: SD_XL1.0
TYPE: Openpose
MODEL_PATH: ms://damo/scepter_scedit@controllable_model/SD_XL1.0/pose_control
MODEL_PATH: ms://iic/scepter_scedit@controllable_model/SD_XL1.0/pose_control
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,20 @@
TUNERS:
- NAME: Clay-Style-Editing
NAME_ZH: 黏土风
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: EDIT
MODEL_PATH: ms://iic/stylebooth@tuners/clay_style_edit/
IMAGE_PATH: ms://iic/stylebooth@tuners/clay_style_edit/image.jpg
TUNER_TYPE: LORA
PROMPT_EXAMPLE: Convert this image into clay style
- NAME: Azure-Dragon
NAME_ZH: 青龙
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/azure_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/azure_dragon/xl_azure_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/azure_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/azure_dragon/xl_azure_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: Azure Dragon, 8K, high quality,Ultra High Detail.One of the Four Divine Creatures in Charge of Water.
- NAME: Gold-Dragon
@@ -13,8 +22,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/gold_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/gold_dragon/xl_gold_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/gold_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/gold_dragon/xl_gold_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: Chinese Gold Dragon in the clouds. Translucent Texture. Zbrush. Fuzzy Art. Exquisite Craftsmanship. 3D. 8K. Ultra High Detail
- NAME: SpringFestival-Dragon
@@ -22,8 +31,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/spring_festival_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/spring_festival_dragon/xl_spring_festival_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/spring_festival_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/spring_festival_dragon/xl_spring_festival_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: Chinese dragon. Spring Festival.Festive.Street.Lanterns.32K.High quality.expressive, dramatic, dreamlike and mysterious, Surrealism
- NAME: Red-Dragon
@@ -31,8 +40,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/red_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/red_dragon/xl_red_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/red_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/red_dragon/xl_red_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: Traditional Red Dragon of China. Low Water Level. Studio Ghibli Style. Mural Illustration. White Background. High Detail
- NAME: ChinesePunk-Dragon
@@ -40,8 +49,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/chinese_punk_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/chinese_punk_dragon/xl_chinese_punk_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/chinese_punk_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/chinese_punk_dragon/xl_chinese_punk_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: uhd Image,Dragon,Chinese Dragon, Dunhuang Mural Style, Traditional Maritime Art Style
- NAME: Cute-Dragon
@@ -49,8 +58,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/cute_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/cute_dragon/xl_kawaii_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/cute_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/cute_dragon/xl_kawaii_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: China Kawaii Dragon. Contest Winner. Minimalist Illustration. White Background. Flat Style. Digital Painting Style. Red. 32k uhd. Fun Comics. Fuzzy Art. Bold. Comic-Inspired Characters
- NAME: Dragon-Baby
@@ -58,8 +67,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/baby_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/baby_dragon/xl_baby_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/baby_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/baby_dragon/xl_baby_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: Warm Colors, Soft,Chinese Dragon Baby, Felt Style,Dragon Baby, Best Quality, 3D Doll, Macaron Tones, Glittering Big Eyes, Winter,Dragon
- NAME: Sloppy-Dragon
@@ -67,8 +76,8 @@ TUNERS:
SOURCE: scepter
DESCRIPTION: None
BASE_MODEL: SD_XL1.0
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sloppy_dragon/
IMAGE_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sloppy_dragon/xl_sloppy_dragon.png
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sloppy_dragon/
IMAGE_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sloppy_dragon/xl_sloppy_dragon.png
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: Messy Chinese Dragon,Cute, Wu Guanzhong, Rough
-
@@ -77,8 +86,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/894f40ed44b37c3372e6a22b8ae577a4.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/Caricature
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/894f40ed44b37c3372e6a22b8ae577a4.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/Caricature
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -87,8 +96,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/894f40ed44b37c3372e6a22b8ae577a4.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/Caricature
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/894f40ed44b37c3372e6a22b8ae577a4.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/Caricature
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -97,8 +106,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/894f40ed44b37c3372e6a22b8ae577a4.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/Caricature
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/894f40ed44b37c3372e6a22b8ae577a4.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/Caricature
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -107,8 +116,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/80e5b4075c572c04cbb4e48c37b8366b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/ColorFieldPainting
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/80e5b4075c572c04cbb4e48c37b8366b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/ColorFieldPainting
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -117,8 +126,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/80e5b4075c572c04cbb4e48c37b8366b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/ColorFieldPainting
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/80e5b4075c572c04cbb4e48c37b8366b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/ColorFieldPainting
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -127,8 +136,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/80e5b4075c572c04cbb4e48c37b8366b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/ColorFieldPainting
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/80e5b4075c572c04cbb4e48c37b8366b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/ColorFieldPainting
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -137,8 +146,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/9ae235d7f1a7c2a4edab52a5e9f9cbae.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/ColoredPencilArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/9ae235d7f1a7c2a4edab52a5e9f9cbae.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/ColoredPencilArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -147,8 +156,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/9ae235d7f1a7c2a4edab52a5e9f9cbae.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/ColoredPencilArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/9ae235d7f1a7c2a4edab52a5e9f9cbae.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/ColoredPencilArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -157,8 +166,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/9ae235d7f1a7c2a4edab52a5e9f9cbae.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/ColoredPencilArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/9ae235d7f1a7c2a4edab52a5e9f9cbae.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/ColoredPencilArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -167,8 +176,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/3da915da2f5cedaf243e57e08163f35b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/DarkMoodyAtmosphere
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/3da915da2f5cedaf243e57e08163f35b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/DarkMoodyAtmosphere
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -177,8 +186,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/3da915da2f5cedaf243e57e08163f35b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/DarkMoodyAtmosphere
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/3da915da2f5cedaf243e57e08163f35b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/DarkMoodyAtmosphere
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -187,8 +196,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/3da915da2f5cedaf243e57e08163f35b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/DarkMoodyAtmosphere
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/3da915da2f5cedaf243e57e08163f35b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/DarkMoodyAtmosphere
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -197,8 +206,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/69fd81f5983107acc3d334af62915851.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/DrippingPaintSplatterArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/69fd81f5983107acc3d334af62915851.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/DrippingPaintSplatterArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -207,8 +216,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/69fd81f5983107acc3d334af62915851.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/DrippingPaintSplatterArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/69fd81f5983107acc3d334af62915851.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/DrippingPaintSplatterArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -217,8 +226,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/69fd81f5983107acc3d334af62915851.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/DrippingPaintSplatterArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/69fd81f5983107acc3d334af62915851.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/DrippingPaintSplatterArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -227,8 +236,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/f152edb4b3ca6248758b48115258ddfa.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/FadedPolaroidPhoto
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/f152edb4b3ca6248758b48115258ddfa.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/FadedPolaroidPhoto
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -237,8 +246,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/f152edb4b3ca6248758b48115258ddfa.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/FadedPolaroidPhoto
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/f152edb4b3ca6248758b48115258ddfa.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/FadedPolaroidPhoto
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -247,8 +256,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/f152edb4b3ca6248758b48115258ddfa.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/FadedPolaroidPhoto
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/f152edb4b3ca6248758b48115258ddfa.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/FadedPolaroidPhoto
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -257,8 +266,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/940cfd34155634cf051e1b2942cca426.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/Flat2DArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/940cfd34155634cf051e1b2942cca426.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/Flat2DArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -267,8 +276,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/940cfd34155634cf051e1b2942cca426.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/Flat2DArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/940cfd34155634cf051e1b2942cca426.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/Flat2DArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -277,8 +286,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/940cfd34155634cf051e1b2942cca426.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/Flat2DArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/940cfd34155634cf051e1b2942cca426.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/Flat2DArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -287,8 +296,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/57b751b11564cb22cd49ef21f2004a5f.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/GraffitiArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/57b751b11564cb22cd49ef21f2004a5f.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/GraffitiArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -297,8 +306,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/57b751b11564cb22cd49ef21f2004a5f.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/GraffitiArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/57b751b11564cb22cd49ef21f2004a5f.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/GraffitiArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -307,8 +316,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/57b751b11564cb22cd49ef21f2004a5f.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/GraffitiArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/57b751b11564cb22cd49ef21f2004a5f.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/GraffitiArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -317,8 +326,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/0312b673dc6858a9864d7f45f0c5c1fc.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/Impressionism
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/0312b673dc6858a9864d7f45f0c5c1fc.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/Impressionism
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -327,8 +336,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/0312b673dc6858a9864d7f45f0c5c1fc.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/Impressionism
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/0312b673dc6858a9864d7f45f0c5c1fc.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/Impressionism
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -337,8 +346,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/0312b673dc6858a9864d7f45f0c5c1fc.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/Impressionism
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/0312b673dc6858a9864d7f45f0c5c1fc.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/Impressionism
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -347,8 +356,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/9aa040b0c60d289da9610c91ad9b7c7e.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/LogoDesign
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/9aa040b0c60d289da9610c91ad9b7c7e.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/LogoDesign
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -357,8 +366,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/9aa040b0c60d289da9610c91ad9b7c7e.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/LogoDesign
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/9aa040b0c60d289da9610c91ad9b7c7e.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/LogoDesign
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -367,8 +376,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/9aa040b0c60d289da9610c91ad9b7c7e.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/LogoDesign
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/9aa040b0c60d289da9610c91ad9b7c7e.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/LogoDesign
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -377,8 +386,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/a9056e1eac85e5e4fe96a93917d4cce4.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/PencilSketchDrawing
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/a9056e1eac85e5e4fe96a93917d4cce4.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/PencilSketchDrawing
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -387,8 +396,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/a9056e1eac85e5e4fe96a93917d4cce4.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/PencilSketchDrawing
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/a9056e1eac85e5e4fe96a93917d4cce4.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/PencilSketchDrawing
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -397,8 +406,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/a9056e1eac85e5e4fe96a93917d4cce4.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/PencilSketchDrawing
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/a9056e1eac85e5e4fe96a93917d4cce4.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/PencilSketchDrawing
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -407,8 +416,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/568777f447fc02510b618152726d5002.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/SilhouetteArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/568777f447fc02510b618152726d5002.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/SilhouetteArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -417,8 +426,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/568777f447fc02510b618152726d5002.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/SilhouetteArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/568777f447fc02510b618152726d5002.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/SilhouetteArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -427,8 +436,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/568777f447fc02510b618152726d5002.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/SilhouetteArt
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/568777f447fc02510b618152726d5002.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/SilhouetteArt
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -437,8 +446,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/07d7b27cd73f2d43684003563511c15b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/Steampunk2
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/07d7b27cd73f2d43684003563511c15b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/Steampunk2
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -447,8 +456,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/07d7b27cd73f2d43684003563511c15b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/Steampunk2
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/07d7b27cd73f2d43684003563511c15b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/Steampunk2
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -457,8 +466,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/07d7b27cd73f2d43684003563511c15b.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/Steampunk2
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/07d7b27cd73f2d43684003563511c15b.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/Steampunk2
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -467,8 +476,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/2d1e9867058db2c57f2fe47530de3243.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/StickerDesigns
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/2d1e9867058db2c57f2fe47530de3243.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/StickerDesigns
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -477,8 +486,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/2d1e9867058db2c57f2fe47530de3243.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/StickerDesigns
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/2d1e9867058db2c57f2fe47530de3243.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/StickerDesigns
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -487,8 +496,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/2d1e9867058db2c57f2fe47530de3243.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/StickerDesigns
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/2d1e9867058db2c57f2fe47530de3243.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/StickerDesigns
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -497,8 +506,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/8859d532ae5901cc8457d6118fb9b7da.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/Watercolor2
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/8859d532ae5901cc8457d6118fb9b7da.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/Watercolor2
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -507,8 +516,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/8859d532ae5901cc8457d6118fb9b7da.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/Watercolor2
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/8859d532ae5901cc8457d6118fb9b7da.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/Watercolor2
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -517,8 +526,8 @@ TUNERS:
DESCRIPTION:
SOURCE: diva
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/8859d532ae5901cc8457d6118fb9b7da.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/Watercolor2
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/8859d532ae5901cc8457d6118fb9b7da.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/Watercolor2
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -527,8 +536,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/5895d78cf58c1ca05178991f37cc48ff.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/mre-elemental-art
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/5895d78cf58c1ca05178991f37cc48ff.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/mre-elemental-art
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -537,8 +546,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/5895d78cf58c1ca05178991f37cc48ff.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/mre-elemental-art
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/5895d78cf58c1ca05178991f37cc48ff.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/mre-elemental-art
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -547,8 +556,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/5895d78cf58c1ca05178991f37cc48ff.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/mre-elemental-art
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/5895d78cf58c1ca05178991f37cc48ff.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/mre-elemental-art
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -557,8 +566,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/a08149bc8e50f6bc65c0010d4cd416f8.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/mre-anime
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/a08149bc8e50f6bc65c0010d4cd416f8.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/mre-anime
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -567,8 +576,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/a08149bc8e50f6bc65c0010d4cd416f8.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/mre-anime
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/a08149bc8e50f6bc65c0010d4cd416f8.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/mre-anime
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -577,8 +586,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/a08149bc8e50f6bc65c0010d4cd416f8.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/mre-anime
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/a08149bc8e50f6bc65c0010d4cd416f8.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/mre-anime
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -587,8 +596,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/48c65cebf1fa4284d7b8feb619412e65.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/mre-comic
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/48c65cebf1fa4284d7b8feb619412e65.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/mre-comic
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -597,8 +606,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/48c65cebf1fa4284d7b8feb619412e65.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/mre-comic
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/48c65cebf1fa4284d7b8feb619412e65.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/mre-comic
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -607,8 +616,8 @@ TUNERS:
DESCRIPTION:
SOURCE: mre
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/48c65cebf1fa4284d7b8feb619412e65.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/mre-comic
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/48c65cebf1fa4284d7b8feb619412e65.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/mre-comic
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -617,8 +626,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/8fc51113f725f27326c4398a7457cd6d.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sai-craftclay
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/8fc51113f725f27326c4398a7457cd6d.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sai-craftclay
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -627,8 +636,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/8fc51113f725f27326c4398a7457cd6d.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/sai-craftclay
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/8fc51113f725f27326c4398a7457cd6d.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/sai-craftclay
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -637,8 +646,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/8fc51113f725f27326c4398a7457cd6d.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/sai-craftclay
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/8fc51113f725f27326c4398a7457cd6d.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/sai-craftclay
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -647,8 +656,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/a6f8d92afcd5803dfb2ebecbc92091b6.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sai-fantasyart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/a6f8d92afcd5803dfb2ebecbc92091b6.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sai-fantasyart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -657,8 +666,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/a6f8d92afcd5803dfb2ebecbc92091b6.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/sai-fantasyart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/a6f8d92afcd5803dfb2ebecbc92091b6.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/sai-fantasyart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -667,8 +676,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/a6f8d92afcd5803dfb2ebecbc92091b6.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/sai-fantasyart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/a6f8d92afcd5803dfb2ebecbc92091b6.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/sai-fantasyart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -677,8 +686,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/034a51b0dd34b018be8859bf45b4f7ed.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sai-lineart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/034a51b0dd34b018be8859bf45b4f7ed.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sai-lineart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -687,8 +696,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/034a51b0dd34b018be8859bf45b4f7ed.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/sai-lineart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/034a51b0dd34b018be8859bf45b4f7ed.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/sai-lineart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -697,8 +706,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/034a51b0dd34b018be8859bf45b4f7ed.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/sai-lineart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/034a51b0dd34b018be8859bf45b4f7ed.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/sai-lineart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -707,8 +716,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/7e9ed25bb34008beb5f417df63c4b2fe.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sai-neonpunk
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/7e9ed25bb34008beb5f417df63c4b2fe.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sai-neonpunk
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -717,8 +726,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/7e9ed25bb34008beb5f417df63c4b2fe.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/sai-neonpunk
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/7e9ed25bb34008beb5f417df63c4b2fe.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/sai-neonpunk
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -727,8 +736,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/7e9ed25bb34008beb5f417df63c4b2fe.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/sai-neonpunk
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/7e9ed25bb34008beb5f417df63c4b2fe.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/sai-neonpunk
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -737,8 +746,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/924f46a8f276011a0953d7988e90ee25.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sai-origami
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/924f46a8f276011a0953d7988e90ee25.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sai-origami
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -747,8 +756,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/924f46a8f276011a0953d7988e90ee25.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/sai-origami
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/924f46a8f276011a0953d7988e90ee25.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/sai-origami
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -757,8 +766,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/924f46a8f276011a0953d7988e90ee25.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/sai-origami
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/924f46a8f276011a0953d7988e90ee25.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/sai-origami
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -767,8 +776,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD_XL1.0
IMAGE_PATH: ms://damo/scepter@mantra_images/SD_XL1.0/a5ab89c0960be8c1216e65c98d92ae4a.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD_XL1.0/sai-pixelart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD_XL1.0/a5ab89c0960be8c1216e65c98d92ae4a.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD_XL1.0/sai-pixelart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -777,8 +786,8 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD2.1
IMAGE_PATH: ms://damo/scepter@mantra_images/SD2.1/a5ab89c0960be8c1216e65c98d92ae4a.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD2.1/sai-pixelart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD2.1/a5ab89c0960be8c1216e65c98d92ae4a.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD2.1/sai-pixelart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
-
@@ -787,7 +796,7 @@ TUNERS:
DESCRIPTION:
SOURCE: sai
BASE_MODEL: SD1.5
IMAGE_PATH: ms://damo/scepter@mantra_images/SD1.5/a5ab89c0960be8c1216e65c98d92ae4a.png
MODEL_PATH: ms://damo/scepter_scedit@tuners_model/SD1.5/sai-pixelart
IMAGE_PATH: ms://iic/scepter@mantra_images_jpg/SD1.5/a5ab89c0960be8c1216e65c98d92ae4a.jpg
MODEL_PATH: ms://iic/scepter_scedit@tuners_model/SD1.5/sai-pixelart
TUNER_TYPE: SwiftSCE
PROMPT_EXAMPLE: a boy wearing green jacket
+2 -2
View File
@@ -10,7 +10,7 @@ DESC_INFO:
<table align="center">
<tr>
<td>
<img src="https://modelscope.cn/api/v1/models/damo/scepter/repo?Revision=master&FilePath=assets/scepter_studio/scepter_studio_banner.jpg">
<img src="https://modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets/scepter_studio/scepter_studio_banner.jpg">
<h3><center>SCEPTER Studio是基于开源基模型和自研微调编辑算法构建的生成定制和编辑工具箱,提供围绕生成、微调、编辑、数据处理等一系列的工具和插件。</center><h3>
</td>
</tr>
@@ -22,7 +22,7 @@ DESC_INFO:
<table align="center">
<tr>
<td>
<img src="https://modelscope.cn/api/v1/models/damo/scepter/repo?Revision=master&FilePath=assets/scepter_studio/scepter_studio_banner.jpg">
<img src="https://modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets/scepter_studio/scepter_studio_banner.jpg">
<h3><center>SCEPTER Studio is a customized generation and editing toolkit built on the open-source base models and proprietary fine-tuning editing algorithms, offering a range of tools and plugins centered around generation, fine-tuning, editing, and data processing.</center><h3>
</td>
</tr>
@@ -2,7 +2,7 @@ NAME: EDIT
IS_DEFAULT: False
DEFAULT_PARAS:
PARAS:
RESOLUTIONS: [[1024, 1024]]
RESOLUTIONS: [[512, 512], [1024, 1024]]
INPUT:
IMAGE:
PROMPT: ""
@@ -49,7 +49,7 @@ DEFAULT_PARAS:
INPUT: ["PROMPT", "NEGATIVE_PROMPT"]
MODEL:
PRETRAINED_MODEL: ms://damo/stylebooth@models/stylebooth-tb-5000-0.bin
PRETRAINED_MODEL: ms://iic/stylebooth@models/stylebooth-tb-5000-0.bin
SCHEDULE:
PARAMETERIZATION: "eps"
TIMESTEPS: 1000
@@ -63,7 +63,8 @@ DIFFUSION_PARAS:
MAX: 1.0
DEFAULT: 0.15
RESOLUTIONS:
VALUES: [[704, 1408], [704, 1344], [768, 1344],
VALUES: [ [512, 512], [768, 768],
[704, 1408], [704, 1344], [768, 1344],
[720, 1280],
[768, 1280], [832, 1216], [832, 1152],
[896, 1152], [896, 1088], [960, 1088],
@@ -87,18 +88,18 @@ CONTROLABLE_ANNOTATORS:
IS_DEFAULT: True
-
NAME: "HedAnnotator"
PRETRAINED_MODEL: "ms://damo/scepter_scedit@annotator/ckpts/ControlNetHED.pth"
PRETRAINED_MODEL: "ms://iic/scepter_scedit@annotator/ckpts/ControlNetHED.pth"
TYPE: Hed
IS_DEFAULT: False
-
NAME: "OpenposeAnnotator"
BODY_MODEL_PATH: "ms://damo/scepter_scedit@annotator/ckpts/body_pose_model.pth"
HAND_MODEL_PATH: "ms://damo/scepter_scedit@annotator/ckpts/hand_pose_model.pth"
BODY_MODEL_PATH: "ms://iic/scepter_scedit@annotator/ckpts/body_pose_model.pth"
HAND_MODEL_PATH: "ms://iic/scepter_scedit@annotator/ckpts/hand_pose_model.pth"
TYPE: Openpose
IS_DEFAULT: False
-
NAME: "MidasDetector"
PRETRAINED_MODEL: "ms://damo/scepter_scedit@annotator/ckpts/dpt_hybrid-midas-501f0c75.pt"
PRETRAINED_MODEL: "ms://iic/scepter_scedit@annotator/ckpts/dpt_hybrid-midas-501f0c75.pt"
TYPE: Midas
IS_DEFAULT: False
-
@@ -68,7 +68,7 @@ DEFAULT_PARAS:
INPUT: ["ORIGINAL_SIZE_AS_TUPLE", "AESTHETIC_SCORE", "NEGATIVE_AESTHETIC_SCORE", "CROP_COORDS_TOP_LEFT", "PROMPT", "NEGATIVE_PROMPT"]
MODEL:
PRETRAINED_MODEL: ms://damo/LARGEN@models/largen_ckpt_s22k.pth
PRETRAINED_MODEL: ms://iic/LARGEN@models/largen_ckpt_s22k.pth
# SCHEDULE_ARGS DESCRIPTION: TYPE: default: ''
SCHEDULE:
PARAMETERIZATION: "eps"
@@ -245,8 +245,8 @@ MODEL:
LEGACY_UCG_VALUE:
-
NAME: IPAdapterPlusEmbedder
CLIP_DIR: ms://damo/LARGEN@models/clip_encoder/
PRETRAINED_MODEL: ms://damo/LARGEN@models/ip-adapter-plus_sdxl_vit-h.bin
CLIP_DIR: ms://iic/LARGEN@models/clip_encoder/
PRETRAINED_MODEL: ms://iic/LARGEN@models/ip-adapter-plus_sdxl_vit-h.bin
INPUT_KEYS: [ "ref_ip", "ref_detail" ]
IN_DIM: 1280
HEADS: 20
+2 -2
View File
@@ -48,11 +48,11 @@ BANNER: |
</div>
<div class="qr-codes">
<div class="qr-code-container">
<img src="https://modelscope.cn/api/v1/models/damo/scepter/repo?Revision=master&FilePath=assets/scepter_studio/ms_scepter_studio_qr.png" alt="ms_scepter_studio_qr">
<img src="https://modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets/scepter_studio/ms_scepter_studio_qr.png" alt="ms_scepter_studio_qr">
<div class="caption"><a href="https://www.modelscope.cn/studios/iic/scepter_studio">Modelscope Studio</a></div>
</div>
<div class="qr-code-container">
<img src="https://modelscope.cn/api/v1/models/damo/scepter/repo?Revision=master&FilePath=assets/scepter_studio/scepter_github_qr.png" alt="scepter_github_qr">
<img src="https://modelscope.cn/api/v1/models/iic/scepter/repo?Revision=master&FilePath=assets/scepter_studio/scepter_github_qr.png" alt="scepter_github_qr">
<div class="caption"><a href="https://github.com/modelscope/scepter">Github</a></div>
</div>
</div>
@@ -0,0 +1,376 @@
ENV:
BACKEND: nccl
META:
VERSION: 'EDIT'
DESCRIPTION: "EDIT"
IS_DEFAULT: False
IS_SHARE: True
INFERENCE_PARAS:
INFERENCE_BATCH_SIZE: 1
INFERENCE_PREFIX: ""
DEFAULT_SAMPLER: "ddim"
DEFAULT_SAMPLE_STEPS: 40
INFERENCE_N_PROMPT: ""
RESOLUTION: [512, 512]
PARAS:
-
TASK: 'Image Editing'
TRAIN_BATCH_SIZE: 1
TRAIN_PREFIX: ""
TRAIN_N_PROMPT: ""
RESOLUTION: [512, 512]
MEMORY: 29000
EPOCHS: 50
SAVE_INTERVAL: 25
EPSEC: 0.818
LEARNING_RATE: 0.0001
IS_DEFAULT: False
TUNER: FULL
-
TASK: 'Image Editing'
TRAIN_BATCH_SIZE: 1
TRAIN_PREFIX: ""
TRAIN_N_PROMPT: ""
RESOLUTION: [512, 512]
MEMORY: 29000
EPOCHS: 50
SAVE_INTERVAL: 25
EPSEC: 0.818
LEARNING_RATE: 0.0001
IS_DEFAULT: True
TUNER: LORA
-
TASK: 'Image Editing'
TRAIN_BATCH_SIZE: 1
TRAIN_PREFIX: ""
TRAIN_N_PROMPT: ""
RESOLUTION: [512, 512]
MEMORY: 29000
EPOCHS: 50
SAVE_INTERVAL: 25
EPSEC: 0.818
LEARNING_RATE: 0.0001
IS_DEFAULT: False
TUNER: SCE
-
TASK: 'Image Editing'
TRAIN_BATCH_SIZE: 1
TRAIN_PREFIX: ""
TRAIN_N_PROMPT: ""
RESOLUTION: [512, 512]
MEMORY: 29000
EPOCHS: 50
SAVE_INTERVAL: 25
EPSEC: 0.818
LEARNING_RATE: 0.0001
IS_DEFAULT: False
TUNER: TEXT_SCE
-
TASK: 'Image Editing'
TRAIN_BATCH_SIZE: 4
TRAIN_PREFIX: ""
TRAIN_N_PROMPT: ""
RESOLUTION: [512, 512]
MEMORY: 29000
EPOCHS: 50
SAVE_INTERVAL: 25
EPSEC: 0.818
LEARNING_RATE: 0.0001
IS_DEFAULT: False
TUNER: TEXT_LORA
TUNERS:
LORA:
-
NAME: SwiftLoRA
R: 256
LORA_ALPHA: 256
LORA_DROPOUT: 0.0
BIAS: "none"
TARGET_MODULES: "model.*(to_q|to_k|to_v|to_out.0|net.0.proj|net.2)$"
TEXT_LORA:
-
NAME: SwiftLoRA
R: 256
LORA_ALPHA: 256
LORA_DROPOUT: 0.0
BIAS: "none"
TARGET_MODULES: "(cond_stage_model.*(q_proj|k_proj|v_proj|out_proj|mlp.fc1|mlp.fc2))|(model.*(to_q|to_k|to_v|to_out.0|net.0.proj|net.2))$"
SCE:
-
NAME: SwiftSCETuning
DIMS: [1280, 1280, 1280, 1280, 1280, 640, 640, 640, 320, 320, 320, 320]
DOWN_RATIO: 1.0
TARGET_MODULES: model.lsc_identity\.\d+$
TUNER_MODE: identity
TEXT_SCE:
-
NAME: SwiftSCETuning
DIMS: [ 1280, 1280, 1280, 1280, 1280, 640, 640, 640, 320, 320, 320, 320 ]
DOWN_RATIO: 1.0
TARGET_MODULES: model.lsc_identity\.\d+$
TUNER_MODE: identity
-
NAME: SwiftLoRA
R: 256
LORA_ALPHA: 256
LORA_DROPOUT: 0.0
BIAS: "none"
TARGET_MODULES: "cond_stage_model.*(q_proj|k_proj|v_proj|out_proj|mlp.fc1|mlp.fc2)$"
MODIFY_PARAS:
TEXT_LORA:
TRAIN:
SOLVER.MODEL.COND_STAGE_MODEL.USE_GRAD: True
TEXT_SCE:
TRAIN:
SOLVER.MODEL.COND_STAGE_MODEL.USE_GRAD: True
SOLVER:
NAME: LatentDiffusionSolver
RESUME_FROM:
LOAD_MODEL_ONLY: True
USE_FSDP: False
SHARDING_STRATEGY:
USE_AMP: True
DTYPE: float16
CHANNELS_LAST: True
MAX_STEPS: 1000
MAX_EPOCHS: -1
NUM_FOLDS: 1
ACCU_STEP: 1
EVAL_INTERVAL: -1
#
WORK_DIR:
LOG_FILE: std_log.txt
#
FILE_SYSTEM:
NAME: "ModelscopeFs"
TEMP_DIR: "./cache/data"
#
FREEZE:
#
TUNER:
#
MODEL:
NAME: LatentDiffusionEdit
PARAMETERIZATION: eps
TIMESTEPS: 1000
MIN_SNR_GAMMA:
ZERO_TERMINAL_SNR: False
PRETRAINED_MODEL: ms://iic/stylebooth@models/stylebooth-tb-5000-0.bin
IGNORE_KEYS: [ ]
CONCAT_NO_SCALE_FACTOR: True
SCALE_FACTOR: 0.18215
SIZE_FACTOR: 8
# DEFAULT_N_PROMPT: 'lowres, error, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, out of frame, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, username, watermark, signature'
DEFAULT_N_PROMPT:
SCHEDULE_ARGS:
"NAME": "scaled_linear"
"BETA_MIN": 0.00085
"BETA_MAX": 0.012
USE_EMA: False
#
DIFFUSION_MODEL:
NAME: DiffusionUNet
IN_CHANNELS: 8
OUT_CHANNELS: 4
MODEL_CHANNELS: 320
NUM_HEADS: 8
NUM_RES_BLOCKS: 2
ATTENTION_RESOLUTIONS: [ 4, 2, 1 ]
CHANNEL_MULT: [ 1, 2, 4, 4 ]
CONV_RESAMPLE: True
DIMS: 2
USE_CHECKPOINT: False
USE_SCALE_SHIFT_NORM: False
RESBLOCK_UPDOWN: False
USE_SPATIAL_TRANSFORMER: True
TRANSFORMER_DEPTH: 1
CONTEXT_DIM: 768
DISABLE_MIDDLE_SELF_ATTN: False
USE_LINEAR_IN_TRANSFORMER: False
IGNORE_KEYS: []
#
FIRST_STAGE_MODEL:
NAME: AutoencoderKL
EMBED_DIM: 4
IGNORE_KEYS: []
BATCH_SIZE: 4
#
ENCODER:
NAME: Encoder
CH: 128
OUT_CH: 3
NUM_RES_BLOCKS: 2
IN_CHANNELS: 3
ATTN_RESOLUTIONS: [ ]
CH_MULT: [ 1, 2, 4, 4 ]
Z_CHANNELS: 4
DOUBLE_Z: True
DROPOUT: 0.0
RESAMP_WITH_CONV: True
#
DECODER:
NAME: Decoder
CH: 128
OUT_CH: 3
NUM_RES_BLOCKS: 2
IN_CHANNELS: 3
ATTN_RESOLUTIONS: [ ]
CH_MULT: [ 1, 2, 4, 4 ]
Z_CHANNELS: 4
DROPOUT: 0.0
RESAMP_WITH_CONV: True
GIVE_PRE_END: False
TANH_OUT: False
#
TOKENIZER:
NAME: ClipTokenizer
PRETRAINED_PATH: ms://AI-ModelScope/clip-vit-large-patch14
LENGTH: 77
CLEAN: True
#
COND_STAGE_MODEL:
NAME: FrozenCLIPEmbedder
FREEZE: True
USE_GRAD: False
LAYER: last
PRETRAINED_MODEL: ms://AI-ModelScope/clip-vit-large-patch14
#
LOSS:
NAME: ReconstructLoss
LOSS_TYPE: l2
#
SAMPLE_ARGS:
SAMPLER: ddim
SAMPLE_STEPS: 50
SEED: 2023
GUIDE_SCALE: #7.5
image: 1.5
text: 7.5
GUIDE_RESCALE: 0.5
DISCRETIZATION: trailing
IMAGE_SIZE: [512, 512]
RUN_TRAIN_N: False
#
OPTIMIZER:
NAME: AdamW
LEARNING_RATE: 0.064
BETAS: [ 0.9, 0.999 ]
EPS: 1e-8
WEIGHT_DECAY: 1e-2
AMSGRAD: False
#
TRAIN_DATA:
NAME: ImageTextPairMSDataset
MODE: train
MS_DATASET_NAME: cache/save_data/delogo/
MS_DATASET_NAMESPACE: ""
MS_DATASET_SPLIT: "train"
MS_DATASET_SUBNAME: ""
PROMPT_PREFIX: ""
REPLACE_STYLE: False
PIN_MEMORY: True
BATCH_SIZE: 1
NUM_WORKERS: 4
SAMPLER:
NAME: LoopSampler
TRANSFORMS:
- NAME: LoadImageFromFileList
FILE_KEYS: ['img_path', 'src_path']
RGB_ORDER: RGB
BACKEND: pillow
- NAME: FlexibleResize
INTERPOLATION: bilinear
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'img', 'src' ]
BACKEND: pillow
- NAME: FlexibleCenterCrop
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'img', 'src' ]
BACKEND: pillow
- NAME: ImageToTensor
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'img', 'src' ]
BACKEND: pillow
- NAME: Normalize
MEAN: [ 0.5, 0.5, 0.5 ]
STD: [ 0.5, 0.5, 0.5 ]
INPUT_KEY: [ 'img', 'src' ]
OUTPUT_KEY: [ 'image', 'condition_cat' ]
BACKEND: torchvision
- NAME: Select
KEYS: [ 'image', 'condition_cat', 'prompt' ]
META_KEYS: [ 'data_key' ]
#
TRAIN_HOOKS:
-
NAME: BackwardHook
PRIORITY: 0
-
NAME: LogHook
LOG_INTERVAL: 10
SHOW_GPU_MEM: True
-
NAME: TensorboardLogHook
-
NAME: CheckpointHook
INTERVAL: 10000
PRIORITY: 200
SAVE_LAST: True
SAVE_NAME_PREFIX: 'step'
DISABLE_SNAPSHOT: True
#
EVAL_DATA:
NAME: Text2ImageDataset
MODE: eval
PROMPT_FILE:
PROMPT_DATA: [ ]
IMAGE_SIZE: [ 512, 512 ]
FIELDS: [ "prompt", "src_path" ]
DELIMITER: '#;#'
PROMPT_PREFIX: ''
PIN_MEMORY: True
BATCH_SIZE: 1
NUM_WORKERS: 4
TRANSFORMS:
- NAME: LoadImageFromFileList
FILE_KEYS: [ 'src_path' ]
RGB_ORDER: RGB
BACKEND: pillow
- NAME: FlexibleResize
INTERPOLATION: bilinear
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'src' ]
BACKEND: pillow
- NAME: FlexibleCenterCrop
SIZE: [ 512, 512 ]
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'src' ]
BACKEND: pillow
- NAME: ImageToTensor
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'src' ]
BACKEND: pillow
- NAME: Normalize
MEAN: [ 0.5, 0.5, 0.5 ]
STD: [ 0.5, 0.5, 0.5 ]
INPUT_KEY: [ 'src' ]
OUTPUT_KEY: [ 'condition_cat' ]
BACKEND: torchvision
- NAME: Select
KEYS: [ 'condition_cat', 'prompt' ]
META_KEYS: [ 'image_size' ]
EVAL_HOOKS:
-
NAME: ProbeDataHook
PROB_INTERVAL: 100
SAVE_LAST: True
SAVE_NAME_PREFIX: 'step'
SAVE_PROBE_PREFIX: 'image'
@@ -1,7 +1,7 @@
---
frameworks:
- Pytorch
license: Apache License 2.0
license: apache-2.0
tasks:
- efficient-diffusion-tuning
---
@@ -1,7 +1,7 @@
---
frameworks:
- Pytorch
license: Apache License 2.0
license: apache-2.0
tasks:
- efficient-diffusion-tuning
---
@@ -1,14 +1,15 @@
WORK_DIR: "tuner_manager"
SELF_TRAIN_DIR: "self_train"
EXPORT_DIR: "export_model"
TUNER_LIST_YAML: "tuner_list.yaml"
README_EN: "scepter/methods/studio/tuner_manager/readme_en.md"
README_ZH: "scepter/methods/studio/tuner_manager/readme_zh.md"
BASE_MODEL_VERSION:
- BASE_MODEL: 'SD_XL1.0'
TUNER_TYPE: [ 'TEXT_SCE', 'SCE', 'LORA', 'TEXT_LORA', 'FULL' ]
- BASE_MODEL: 'SD1.5'
TUNER_TYPE: [ 'TEXT_SCE', 'SCE', 'LORA', 'TEXT_LORA', 'FULL' ]
TUNER_TYPE: [ 'TEXT_LORA', 'TEXT_SCE', 'LORA', 'SCE', 'FULL' ]
- BASE_MODEL: 'SD_XL1.0'
TUNER_TYPE: [ 'TEXT_LORA', 'TEXT_SCE', 'LORA', 'SCE', 'FULL' ]
- BASE_MODEL: 'SD2.1'
TUNER_TYPE: [ 'SCE', 'LORA', 'FULL' ]
TUNER_TYPE: [ 'LORA', 'SCE', 'FULL' ]
- BASE_MODEL: 'EDIT'
TUNER_TYPE: [ 'LORA', 'SCE', 'FULL' ]
@@ -4,7 +4,6 @@ from abc import ABCMeta
import torch
import torch.nn as nn
from scepter.modules.annotator.registry import ANNOTATORS
from scepter.modules.model.base_model import BaseModel
from scepter.modules.utils.config import dict_to_yaml
-1
View File
@@ -6,7 +6,6 @@ import cv2
import numpy as np
import torch
from PIL import Image
from scepter.modules.annotator.base_annotator import BaseAnnotator
from scepter.modules.annotator.registry import ANNOTATORS
from scepter.modules.utils.config import dict_to_yaml
-1
View File
@@ -6,7 +6,6 @@ import cv2
import numpy as np
import torch
from PIL import Image
from scepter.modules.annotator.base_annotator import BaseAnnotator
from scepter.modules.annotator.registry import ANNOTATORS
from scepter.modules.utils.config import dict_to_yaml
+15 -12
View File
@@ -11,13 +11,14 @@ from abc import ABCMeta
import cv2
import numpy as np
import torch
import torchvision
from einops import rearrange
from scepter.modules.annotator.base_annotator import BaseAnnotator
from scepter.modules.annotator.registry import ANNOTATORS
from scepter.modules.utils.config import dict_to_yaml
from scepter.modules.utils.distribute import we
from scepter.modules.utils.file_system import FS
from torchvision.transforms import InterpolationMode
def nms(x, t, s):
@@ -123,6 +124,8 @@ class HedAnnotator(BaseAnnotator, metaclass=ABCMeta):
if len(image.shape) == 3:
image = rearrange(image, 'h w c -> 1 c h w')
B, C, H, W = image.shape
elif len(image.shape) == 4:
B, C, H, W = image.shape
else:
raise "Unsurpport input image's shape"
elif isinstance(image, np.ndarray):
@@ -130,22 +133,22 @@ class HedAnnotator(BaseAnnotator, metaclass=ABCMeta):
if len(image.shape) == 3:
image = rearrange(image, 'h w c -> 1 c h w')
B, C, H, W = image.shape
elif len(image.shape) == 4:
B, C, H, W = image.shape
else:
raise "Unsurpport input image's shape"
else:
raise "Unsurpport input image's type"
transform = torchvision.transforms.Resize(
(H, W), interpolation=InterpolationMode.BILINEAR, antialias=True)
edges = self.netNetwork(image.to(we.device_id))
edges = [
e.detach().cpu().numpy().astype(np.float32)[0, 0] for e in edges
]
edges = [
cv2.resize(e, (W, H), interpolation=cv2.INTER_LINEAR)
for e in edges
]
edges = np.stack(edges, axis=2)
edge = 1 / (1 + np.exp(-np.mean(edges, axis=2).astype(np.float64)))
edge = 255 - (edge * 255.0).clip(0, 255).astype(np.uint8)
return edge[..., None].repeat(3, 2)
edges = [transform(e) for e in edges]
edges = torch.cat(edges, dim=1)
edges = 1 / (1 +
torch.exp(-torch.mean(edges, dim=1).type(torch.float)))
edges = edges.cpu().numpy()
edges = 255 - (edges * 255.0).clip(0, 255).astype(np.uint8)
return edges[..., None].repeat(3, -1)
@staticmethod
def get_config_template():
@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
+1
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
# based on https://github.com/isl-org/MiDaS
import cv2
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
import torch.nn as nn
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
import torch.nn as nn
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
"""MidashNet: Network for monocular depth estimation trained by mixing several datasets.
This file contains code that is adapted from
https://github.com/thomasjpfan/pytorch_refinenet/blob/master/pytorch_refinenet/refinenet/refinenet_4cascade.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
"""MidashNet: Network for monocular depth estimation trained by mixing several datasets.
This file contains code that is adapted from
https://github.com/thomasjpfan/pytorch_refinenet/blob/master/pytorch_refinenet/refinenet/refinenet_4cascade.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import math
import cv2
+1
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
"""Utils for monoDepth."""
import re
import sys
+1
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import math
import types
-1
View File
@@ -9,7 +9,6 @@ import numpy as np
import torch
from einops import rearrange
from PIL import Image
from scepter.modules.annotator.base_annotator import BaseAnnotator
from scepter.modules.annotator.midas.api import MiDaSInference
from scepter.modules.annotator.registry import ANNOTATORS
@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
import torch.nn as nn
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
import torch.nn as nn
import torch.utils.model_zoo as model_zoo
+1
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
# modified by lihaoweicv
# pytorch version
-1
View File
@@ -11,7 +11,6 @@ import cv2
import numpy as np
import torch
from PIL import Image
from scepter.modules.annotator.base_annotator import BaseAnnotator
from scepter.modules.annotator.mlsd.mbv2_mlsd_large import MobileV2_MLSD_Large
from scepter.modules.annotator.mlsd.utils import pred_lines
+2 -3
View File
@@ -15,13 +15,12 @@ import numpy as np
import torch
import torch.nn as nn
from PIL import Image
from scipy.ndimage.filters import gaussian_filter
from skimage.measure import label
from scepter.modules.annotator.base_annotator import BaseAnnotator
from scepter.modules.annotator.registry import ANNOTATORS
from scepter.modules.utils.config import dict_to_yaml
from scepter.modules.utils.file_system import FS
from scipy.ndimage.filters import gaussian_filter
from skimage.measure import label
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
+5 -5
View File
@@ -37,30 +37,30 @@ class AnnotatorProcessor():
hed_cfg = {
'NAME': 'HedAnnotator',
'PRETRAINED_MODEL':
'ms://damo/scepter_scedit@annotator/ckpts/ControlNetHED.pth',
'ms://iic/scepter_scedit@annotator/ckpts/ControlNetHED.pth',
'INPUT_KEYS': ['img'],
'OUTPUT_KEYS': ['hed']
}
openpose_cfg = {
'NAME': 'OpenposeAnnotator',
'BODY_MODEL_PATH':
'ms://damo/scepter_scedit@annotator/ckpts/body_pose_model.pth',
'ms://iic/scepter_scedit@annotator/ckpts/body_pose_model.pth',
'HAND_MODEL_PATH':
'ms://damo/scepter_scedit@annotator/ckpts/hand_pose_model.pth',
'ms://iic/scepter_scedit@annotator/ckpts/hand_pose_model.pth',
'INPUT_KEYS': ['img'],
'OUTPUT_KEYS': ['openpose']
}
midas_cfg = {
'NAME': 'MidasDetector',
'PRETRAINED_MODEL':
'ms://damo/scepter_scedit@annotator/ckpts/dpt_hybrid-midas-501f0c75.pt',
'ms://iic/scepter_scedit@annotator/ckpts/dpt_hybrid-midas-501f0c75.pt',
'INPUT_KEYS': ['img'],
'OUTPUT_KEYS': ['depth']
}
mlsd_cfg = {
'NAME': 'MLSDdetector',
'PRETRAINED_MODEL':
'ms://damo/scepter_scedit@annotator/ckpts/mlsd_large_512_fp32.pth',
'ms://iic/scepter_scedit@annotator/ckpts/mlsd_large_512_fp32.pth',
'INPUT_KEYS': ['img'],
'OUTPUT_KEYS': ['mlsd']
}
+1 -2
View File
@@ -3,14 +3,13 @@
from abc import ABCMeta, abstractmethod
from torch.utils.data import Dataset
from scepter.modules.transform.registry import TRANSFORMS, build_pipeline
from scepter.modules.utils.config import dict_to_yaml
from scepter.modules.utils.distribute import we
from scepter.modules.utils.file_system import FS
from scepter.modules.utils.logger import get_logger
from scepter.modules.utils.registry import old_python_version
from torch.utils.data import Dataset
class BaseDataset(Dataset, metaclass=ABCMeta):
+5 -1
View File
@@ -8,7 +8,6 @@ from collections.abc import Iterable
import numpy as np
import torchvision
from scepter.modules.data.dataset.base_dataset import BaseDataset
from scepter.modules.data.dataset.registry import DATASETS
from scepter.modules.utils.config import dict_to_yaml
@@ -272,6 +271,11 @@ class Text2ImageDataset(BaseDataset):
item['prompt'] = prompt_prefix + value
elif key in ['oss_key', 'path', 'img_path', 'target_img_path']:
item['meta']['img_path'] = os.path.join(path_prefix, value)
elif key in [
'src_oss_key', 'src_path', 'src_img_path',
'src_target_img_path'
]:
item['meta']['src_path'] = os.path.join(path_prefix, value)
elif key in ['width', 'height']:
item['meta'][key] = int(value)
else:
+31 -17
View File
@@ -101,14 +101,13 @@ class ImageTextPairMSDataset(BaseDataset):
if isinstance(self.output_size, numbers.Number):
self.output_size = [self.output_size, self.output_size]
# Use modelscope dataset
if not ms_dataset_name:
raise (
'Your must set MS_DATASET_NAME as modelscope dataset or your local dataset orignized '
'as modelscope dataset.')
if FS.exists(ms_dataset_name):
ms_dataset_name = FS.get_dir_to_local_dir(ms_dataset_name)
ms_remap_path = ms_dataset_name
# ms_remap_path = ms_dataset_name
try:
self.data = MsDataset.load(str(ms_dataset_name),
namespace=ms_dataset_namespace,
@@ -133,9 +132,11 @@ class ImageTextPairMSDataset(BaseDataset):
if ms_remap_path:
def map_func(example):
example['Target:FILE'] = os.path.join(ms_remap_path,
example['Target:FILE'])
return example
return {
k: os.path.join(ms_remap_path, v)
if k.endswith(':FILE') else v
for k, v in example.items()
}
self.data = self.data.ds_instance.map(map_func)
self.real_number = len(self.data)
@@ -149,9 +150,12 @@ class ImageTextPairMSDataset(BaseDataset):
def _get(self, index: int):
current_data = self.data[index % len(self.data)]
# print(current_data.keys())
image_path = current_data['Target:FILE']
prompt = current_data['Prompt']
image_path = current_data[
'Target:FILE'] if 'Target:FILE' in current_data else ''
prompt = current_data.get('Prompt', current_data.get('prompt', ''))
style = current_data['Style'] if 'Style' in current_data else ''
src_image_path = current_data[
'Source:FILE'] if 'Source:FILE' in current_data else ''
# print(prompt, style)
if self.replace_style and not style == '':
prompt = prompt.replace(style, f'<{self.keywords_sign}>')
@@ -166,6 +170,7 @@ class ImageTextPairMSDataset(BaseDataset):
ret_item = {
'meta': {
'img_path': image_path,
'src_path': src_image_path,
'data_key': style,
'data_num': self.real_number
},
@@ -173,6 +178,9 @@ class ImageTextPairMSDataset(BaseDataset):
}
if self.output_size is not None:
ret_item['meta']['image_size'] = self.output_size
for key in current_data:
if key not in ret_item['meta']:
ret_item['meta'][key] = current_data[key]
return ret_item
@staticmethod
@@ -241,19 +249,18 @@ class ImageTextPairFolderDataset(BaseDataset):
data_folder = FS.get_dir_to_local_dir(data_folder)
all_lines = open(os.path.join(data_folder, 'train.csv'),
'r').read().split('\n')
assert all_lines[0] == 'Target:FILE,Prompt'
header = all_lines[0].split(',')
self.data = []
for line in all_lines[1:]:
line = line.strip()
if line == '':
continue
self.data.append({
'Target:FILE':
os.path.join(data_folder,
line.split(',', 1)[0]),
'Prompt':
line.split(',', 1)[1]
})
record = dict(zip(header, line.split(',', len(header) - 1)))
record = {
k: os.path.join(data_folder, v) if k.endswith(':FILE') else v
for k, v in record.items()
}
self.data.append(record)
self.real_number = len(self.data)
def __len__(self):
@@ -265,9 +272,12 @@ class ImageTextPairFolderDataset(BaseDataset):
def _get(self, index: int):
current_data = self.data[index % len(self.data)]
# print(current_data.keys())
image_path = current_data['Target:FILE']
prompt = current_data['Prompt']
image_path = current_data[
'Target:FILE'] if 'Target:FILE' in current_data else ''
prompt = current_data.get('Prompt', current_data.get('prompt', ''))
style = current_data['Style'] if 'Style' in current_data else ''
src_image_path = current_data[
'Source:FILE'] if 'Source:FILE' in current_data else ''
# print(prompt, style)
if self.replace_style and not style == '':
prompt = prompt.replace(style, f'<{self.keywords_sign}>')
@@ -282,6 +292,7 @@ class ImageTextPairFolderDataset(BaseDataset):
ret_item = {
'meta': {
'img_path': image_path,
'src_path': src_image_path,
'data_key': style,
'data_num': self.real_number
},
@@ -289,6 +300,9 @@ class ImageTextPairFolderDataset(BaseDataset):
}
if self.output_size is not None:
ret_item['meta']['image_size'] = self.output_size
for key in current_data:
if key not in ret_item['meta']:
ret_item['meta'][key] = current_data[key]
return ret_item
@staticmethod
+1 -2
View File
@@ -7,13 +7,12 @@ import re
from functools import partial
import torch
from torch.utils.data import DataLoader, DistributedSampler
from scepter.modules.data.sampler import (SAMPLERS, MixtureOfSamplers,
MultiFoldDistributedSampler,
MultiLevelBatchSampler)
from scepter.modules.utils.registry import (Registry, deep_copy,
old_python_version)
from torch.utils.data import DataLoader, DistributedSampler
string_classes = (str, bytes)
int_classes = (int, )
+1 -2
View File
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
from torch.utils.data.sampler import Sampler
from scepter.modules.utils.config import dict_to_yaml
from scepter.modules.utils.distribute import we
from torch.utils.data.sampler import Sampler
class BaseSampler(Sampler):
-1
View File
@@ -12,7 +12,6 @@ from typing import List, Optional
import numpy as np
import torch
import torch.distributed as dist
from scepter.modules.data.sampler.base_sampler import BaseSampler
from scepter.modules.data.sampler.registry import SAMPLERS
from scepter.modules.data.utils.data_bucket import (BucketBatchIndex,
@@ -8,7 +8,6 @@ import torch
import torch.nn as nn
import torchvision.transforms as TT
from PIL.Image import Image
from scepter.modules.model.registry import TUNERS
from scepter.modules.utils.config import Config
from scepter.modules.utils.distribute import we
@@ -8,7 +8,6 @@ from collections import OrderedDict
import torch
import torch.nn.functional as F
from PIL.Image import Image
from scepter.modules.model.network.diffusion.diffusion import GaussianDiffusion
from scepter.modules.model.network.diffusion.schedules import noise_schedule
from scepter.modules.model.registry import (BACKBONES, EMBEDDERS, MODELS,
@@ -277,7 +276,7 @@ class DiffusionInference():
module = self.load(module)
self.loaded_model[name] = module
return module
elif module['device'] == 'cpu' or module['device'] == "offline":
elif module['device'] == 'cpu' or module['device'] == 'offline':
module = self.load(module)
return module
else:
@@ -629,7 +628,7 @@ class DiffusionInference():
}, {
'cond': refine_null_context
}],
steps=value_input.get('sample_steps', 50),
steps=value_input.get('refine_sample_steps', 50),
guide_scale=value_input.get('refine_guide_scale', 7.5),
guide_rescale=value_input.get('refine_guide_rescale',
0.5),
@@ -120,7 +120,7 @@ class StyleboothInference(DiffusionInference):
cat_uc=True,
tuner_model=None,
control_model=None,
stylebooth_state=False,
stylebooth_state=True,
style_edit_image=None,
style_exemplar_image=None,
style_guide_scale_text=None,
@@ -7,7 +7,6 @@ import os
import warnings
import torch
from scepter.modules.utils.file_system import FS
try:
@@ -4,14 +4,13 @@
import torch
import torch.nn as nn
from einops import repeat
from torch.utils.checkpoint import checkpoint
from scepter.modules.model.backbone.autoencoder.ae_utils import (
XFORMERS_IS_AVAILBLE, AttnBlock, Downsample, MemoryEfficientAttention,
Normalize, ResnetBlock, Upsample, nonlinearity)
from scepter.modules.model.base_model import BaseModel
from scepter.modules.model.registry import BACKBONES
from scepter.modules.utils.config import dict_to_yaml
from torch.utils.checkpoint import checkpoint
@BACKBONES.register_class()
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.base_model import BaseModel
from scepter.modules.model.registry import BACKBONES
from scepter.modules.utils.config import dict_to_yaml
@@ -3,14 +3,14 @@
from collections import OrderedDict
from typing import List, Tuple, Union
from pkg_resources import packaging
import numpy as np
import torch
import torch.nn.functional as F
from pkg_resources import packaging
from torch import nn
from scepter.modules.model.backbone.image.utils.simple_tokenizer import \
SimpleTokenizer as _Tokenizer
from torch import nn
_tokenizer = _Tokenizer()
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
import torch.nn as nn
from scepter.modules.model.backbone.image.utils.vit import (
MULTI_HEAD_VIT_MODEL, VIT, VIT_MODEL, MULTI_HEAD_VIT_MODEL_Split)
from scepter.modules.model.base_model import BaseModel
@@ -6,7 +6,6 @@ from collections import OrderedDict
import torch
import torch.nn as nn
from scepter.modules.model.backbone.unet.unet_utils import (
BasicTransformerBlock, Downsample, ResBlock, SpatialTransformer,
SpatialTransformerV2, Timestep, TimestepEmbedSequential,
@@ -6,16 +6,16 @@ import warnings
from abc import abstractmethod
from importlib import find_loader
from packaging import version
import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
import torchvision.transforms.functional as TF
from einops import rearrange, repeat
from packaging import version
from torch.utils.checkpoint import checkpoint
from scepter.modules.model.utils.basic_utils import default, exists
from torch.utils.checkpoint import checkpoint
try:
import xformers
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.base_branch import BaseBranch
from scepter.modules.model.registry import BRICKS
from scepter.modules.utils.config import Config, dict_to_yaml
@@ -5,7 +5,6 @@
import torch
import torch.nn as nn
import torch.nn.functional as F
from scepter.modules.model.backbone.video.bricks.visualize_3d_module import \
Visualize3DModule
from scepter.modules.model.registry import BRICKS
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.base_branch import BaseBranch
from scepter.modules.model.registry import BRICKS
from scepter.modules.utils.config import Config, dict_to_yaml
@@ -4,7 +4,6 @@
import math
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.base_branch import BaseBranch
from scepter.modules.model.registry import BRICKS
from scepter.modules.utils.config import Config, dict_to_yaml
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.visualize_3d_module import \
Visualize3DModule
from scepter.modules.model.registry import STEMS
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.visualize_3d_module import \
Visualize3DModule
from scepter.modules.model.registry import STEMS
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.stems.base_3d_stem import \
Base3DStem
from scepter.modules.model.registry import STEMS
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.visualize_3d_module import \
Visualize3DModule
from scepter.modules.model.registry import STEMS
@@ -4,7 +4,6 @@
import math
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.stems.base_3d_stem import \
Base3DStem
from scepter.modules.model.registry import STEMS
@@ -8,7 +8,6 @@ from itertools import repeat
import torch
import torch.nn as nn
import torch.nn.functional as F
from scepter.modules.model.backbone.video.bricks.base_branch import BaseBranch
from scepter.modules.model.registry import BRICKS
from scepter.modules.utils.config import Config, dict_to_yaml
@@ -22,7 +22,6 @@ import torch
import torch.nn as nn
import torch.nn.functional as F
from einops import rearrange, repeat
from scepter.modules.model.backbone.video.bricks.visualize_3d_module import \
Visualize3DModule
from scepter.modules.model.registry import BRICKS
@@ -4,7 +4,6 @@
import os
import torch.nn as nn
from scepter.modules.utils.config import dict_to_yaml
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.backbone.video.bricks.non_local import NonLocal
from scepter.modules.model.backbone.video.init_helper import \
_init_convnet_weights
@@ -33,7 +33,6 @@ import torch
import torch.nn as nn
import torch.nn.functional
from einops import rearrange
from scepter.modules.model.backbone.video.init_helper import (
_init_transformer_weights, trunc_normal_)
from scepter.modules.model.registry import BACKBONES, BRICKS, STEMS
-1
View File
@@ -3,7 +3,6 @@
import copy
import torch.nn as nn
from scepter.modules.utils.config import dict_to_yaml
from scepter.modules.utils.distribute import gather_data, we
from scepter.modules.utils.probe import (ProbeData, merge_gathered_probe,
+1 -2
View File
@@ -11,8 +11,6 @@ import torch
import torch.nn as nn
import torch.utils.dlpack
from einops import rearrange
from torch.utils.checkpoint import checkpoint
# to check
from scepter.modules.model.backbone.unet.unet_utils import Timestep
from scepter.modules.model.registry import EMBEDDERS
@@ -20,6 +18,7 @@ from scepter.modules.model.utils.basic_utils import expand_dims_like
from scepter.modules.utils.config import dict_to_yaml
from scepter.modules.utils.distribute import we
from scepter.modules.utils.file_system import FS
from torch.utils.checkpoint import checkpoint
from .base_embedder import BaseEmbedder
from .resampler import Resampler
@@ -7,11 +7,10 @@ from collections import OrderedDict
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.nn.parameter import Parameter
from scepter.modules.model.base_model import BaseModel
from scepter.modules.model.registry import HEADS
from scepter.modules.utils.config import dict_to_yaml
from torch.nn.parameter import Parameter
@HEADS.register_class()
+2 -2
View File
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from packaging import version
from torch.version import __version__ as torch_version
import torch.nn as nn
from scepter.modules.model.registry import LOSSES
from scepter.modules.utils.config import dict_to_yaml
from torch.version import __version__ as torch_version
@LOSSES.register_class()
+1 -2
View File
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch
from torch import nn
from scepter.modules.model.registry import LOSSES
from scepter.modules.utils.config import dict_to_yaml
from torch import nn
@LOSSES.register_class()
@@ -5,7 +5,6 @@ from collections import OrderedDict
import numpy as np
import torch
from scepter.modules.model.metric.base_metric import BaseMetric
from scepter.modules.model.metric.registry import METRICS
from scepter.modules.utils.config import dict_to_yaml
@@ -2,7 +2,6 @@
# Copyright (c) Alibaba, Inc. and its affiliates.
import torch.nn as nn
from scepter.modules.model.base_model import BaseModel
from scepter.modules.model.registry import NECKS
from scepter.modules.utils.config import dict_to_yaml
@@ -5,7 +5,6 @@ from collections import OrderedDict
import numpy as np
import torch
from scepter.modules.model.network.train_module import TrainModule
from scepter.modules.model.registry import BACKBONES, LOSSES, MODELS
from scepter.modules.utils.config import dict_to_yaml
+2 -3
View File
@@ -1,17 +1,16 @@
# -*- coding: utf-8 -*-
# Copyright 2021 Alibaba Group Holding Limited. All Rights Reserved.
# Copyright (c) Alibaba, Inc. and its affiliates.
from collections import OrderedDict
from functools import partial
import torch.nn as nn
from torch.nn.functional import sigmoid, softmax
from scepter.modules.model.metric.registry import METRICS
from scepter.modules.model.network.train_module import TrainModule
from scepter.modules.model.registry import (BACKBONES, HEADS, LOSSES, MODELS,
NECKS)
from scepter.modules.utils.config import Config, dict_to_yaml
from torch.nn.functional import sigmoid, softmax
_ACTIVATE_MAPPER = {'softmax': partial(softmax, dim=1), 'sigmoid': sigmoid}
@@ -10,10 +10,12 @@ import random
import torch
from .schedules import karras_schedule
from .solvers import (sample_ddim, sample_dpm_2, sample_dpm_2_ancestral,
sample_dpmpp_2m, sample_dpmpp_2m_sde,
sample_dpmpp_2s_ancestral, sample_dpmpp_sde,
sample_euler, sample_euler_ancestral, sample_heun)
from .solvers import (
sample_ddim, sample_dpm_2, sample_dpm_2_ancestral, sample_dpmpp_2m,
sample_dpmpp_2m_sde, sample_dpmpp_2m_sde_lcm, sample_dpmpp_2s_ancestral,
sample_dpmpp_sde, sample_euler, sample_euler_ancestral, sample_heun,
sample_onestep, stochastic_iterative_sampler,
stochastic_iterative_sampler2, stochastic_iterative_sampler3)
__all__ = ['GaussianDiffusion']
@@ -427,7 +429,12 @@ class GaussianDiffusion(object):
'dpmpp_2s_ancestral_karras': sample_dpmpp_2s_ancestral,
'dpmpp_2m_karras': sample_dpmpp_2m,
'dpmpp_sde_karras': sample_dpmpp_sde,
'dpmpp_2m_sde_karras': sample_dpmpp_2m_sde
'dpmpp_2m_sde_karras': sample_dpmpp_2m_sde,
'onestep': sample_onestep,
'multistep': stochastic_iterative_sampler,
'multistep2': stochastic_iterative_sampler2,
'multistep3': stochastic_iterative_sampler3,
'dpmpp_2m_sde_lcm': sample_dpmpp_2m_sde_lcm,
}[solver]
# options
@@ -620,6 +627,44 @@ class GaussianDiffusion(object):
| torch.isinf(log_sigma)] = float('inf')
return log_sigma.exp()
@torch.no_grad()
def stochastic_encode(self, x0, t, steps):
# fast, but does not allow for exact reconstruction
# t serves as an index to gather the correct alphas
t_max = None
t_min = None
# discretization method
discretization = 'trailing' if self.prediction_type == 'v' else 'leading'
# timesteps
if isinstance(steps, int):
t_max = self.num_timesteps - 1 if t_max is None else t_max
t_min = 0 if t_min is None else t_min
steps = discretize_timesteps(t_max, t_min, steps, discretization)
steps = torch.as_tensor(steps).round().long().flip(0).to(x0.device)
# steps = torch.as_tensor(steps).round().long().to(x0.device)
# self.alphas_bar = torch.cumprod(1 - self.sigmas ** 2, dim=0)
# print('sigma: ', self.sigmas, len(self.sigmas))
# print('alpha_bar: ', self.alphas_bar, len(self.alphas_bar))
# print('steps: ', steps, len(steps))
# sqrt_alphas_cumprod = torch.sqrt(self.alphas_bar).to(x0.device)[steps]
# sqrt_one_minus_alphas_cumprod = torch.sqrt(1 - self.alphas_bar).to(x0.device)[steps]
sqrt_alphas_cumprod = self.alphas.to(x0.device)[steps]
sqrt_one_minus_alphas_cumprod = self.sigmas.to(x0.device)[steps]
# print('sigma: ', self.sigmas, len(self.sigmas))
# print('alpha: ', self.alphas, len(self.alphas))
# print('steps: ', steps, len(steps))
noise = torch.randn_like(x0)
return (
extract_into_tensor(sqrt_alphas_cumprod, t, x0.shape) * x0 +
extract_into_tensor(sqrt_one_minus_alphas_cumprod, t, x0.shape) *
noise)
def extract_into_tensor(a, t, x_shape):
b, *_ = t.shape
@@ -642,3 +687,19 @@ def discretize_timesteps(t_max, t_min, steps, discretization):
raise NotImplementedError(
f'{discretization} discretization not implemented')
return steps.clamp_(t_min, t_max)
def get_scalings_for_boundary_condition(sigma):
sigma_data = 0.5
c_skip = (1 -
sigma**2)**0.5 * sigma_data**2 / (sigma**2 +
(1 - sigma**2) * sigma_data**2)
c_out = (sigma * sigma_data / (sigma**2 +
(1 - sigma**2) * sigma_data**2)**0.5)
return c_skip, c_out
def v_to_x0(v, t, x_t, diffusion):
sigmas = _i(diffusion.sigmas, t, v)
alphas = _i(diffusion.alphas, t, v)
return alphas * x_t - sigmas * v
@@ -12,13 +12,17 @@ q(x_t | x_0) = N(x_t | alpha_t x_0, sigma_t^2 I),
where 0 <= sigma_t <= 1 and alpha_t^2 = 1 - sigma_t^2.
"""
import torch
from tqdm.auto import trange
import torch
__all__ = [
'sample_euler', 'sample_euler_ancestral', 'sample_heun', 'sample_dpm_2',
'sample_dpm_2_ancestral', 'sample_dpmpp_2s_ancestral', 'sample_dpmpp_sde',
'sample_dpmpp_2m', 'sample_dpmpp_2m_sde', 'sample_ddim'
'sample_dpmpp_2m', 'sample_dpmpp_2m_sde', 'sample_ddim',
'sample_dpmpp_2m_sde_lcm', 'sample_onestep',
'stochastic_iterative_sampler', 'stochastic_iterative_sampler2',
'stochastic_iterative_sampler3'
]
# -------------------- variation exploding (VE) solver --------------------#
@@ -630,3 +634,183 @@ def sample_img2img_euler_ancestral(noise,
if sigmas[i + 1] > 0:
x = x + torch.randn_like(x) * s_noise * sigma_up
return x
# --------- LCM ------------
@torch.no_grad()
def sample_dpmpp_2m_sde_lcm(noise,
model,
sigmas,
eta=1.,
s_noise=1.,
solver_type='midpoint',
show_progress=True,
total_sample_steps=50,
sample_steps=5,
**kwargs):
"""
DPM-Solver++ (2M) SDE.
"""
assert solver_type in {'heun', 'midpoint'}
dm_steps = sample_steps
x = noise * (sigmas[-dm_steps - 1]**2 + 1)**0.5
sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas[
sigmas < float('inf')].max()
noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max)
old_denoised = None
h_last = None
for i in trange(len(sigmas) - dm_steps - 1,
len(sigmas) - 1,
disable=not show_progress):
if sigmas[i] == float('inf'):
# Euler method
denoised = model(noise, sigmas[i])
x = denoised + sigmas[i + 1] * noise
else:
_, c_in = get_scalings(sigmas[i])
denoised = model(x * c_in, sigmas[i])
if sigmas[i + 1] == 0:
# Denoising step
x = denoised
else:
# DPM-Solver++(2M) SDE
t, s = -sigmas[i].log(), -sigmas[i + 1].log()
h = s - t
eta_h = eta * h
x = sigmas[i + 1] / sigmas[i] * (-eta_h).exp() * x + \
(-h - eta_h).expm1().neg() * denoised
if old_denoised is not None:
r = h_last / h
if solver_type == 'heun':
x = x + ((-h - eta_h).expm1().neg() / (-h - eta_h) + 1) * \
(1 / r) * (denoised - old_denoised)
elif solver_type == 'midpoint':
x = x + 0.5 * (-h - eta_h).expm1().neg() * \
(1 / r) * (denoised - old_denoised)
x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * sigmas[
i + 1] * (-2 * eta_h).expm1().neg().sqrt() * s_noise
old_denoised = denoised
h_last = h
return x
@torch.no_grad()
def sample_onestep(noise, model, sigmas, show_progress=True, **kwargs):
"""
CM one step solver.
"""
x = noise
denoised = model(x, sigmas[0])
return denoised
@torch.no_grad()
def stochastic_iterative_sampler(noise,
model,
sigmas,
show_progress=True,
**kwargs):
"""
CM multiple steps solver.
"""
x = noise
sigmas_vp = (sigmas**2 / (1 + sigmas**2))**0.5
sigmas_vp[sigmas == float('inf')] = 1.
for i in trange(len(sigmas) - 1, disable=not show_progress):
denoised = model(x, sigmas[i])
sigma = sigmas_vp[i + 1]
alpha = torch.sqrt(1 - sigma**2)
noises = torch.randn_like(x)
x = alpha * denoised + sigma * noises
return x
@torch.no_grad()
def stochastic_iterative_sampler2(noise,
model,
sigmas,
show_progress=True,
repeat=1,
ema=0.05,
**kwargs):
"""
CM multiple steps solver.
"""
# denoised_s = []
# for _ in range(repeat):
# noise = torch.randn_like(noise)
# denoised_s.append(model(noise, sigmas[0]))
# denoised_s = torch.cat(denoised_s, dim = 0)
# denoised = torch.mean(denoised_s, dim=0, keepdim=True)
denoised = model(noise, sigmas[0])
denoised_ema = denoised
sigmas_vp = (sigmas**2 / (1 + sigmas**2))**0.5
sigmas_vp[sigmas == float('inf')] = 1.
for i in trange(1, len(sigmas) - 1, disable=not show_progress):
sigma = sigmas_vp[i]
alpha = torch.sqrt(1 - sigma**2)
noise = torch.randn_like(noise)
x = alpha * denoised + sigma * noise
denoised = model(x, sigmas[i])
denoised_ema = ema * denoised_ema + (1.0 - ema) * denoised
return denoised_ema
@torch.no_grad()
def stochastic_iterative_sampler3(noise,
model,
sigmas,
show_progress=True,
repeat=1,
solver_eta=0.2,
solver_ema=0.05,
**kwargs):
"""
CM multiple steps solver.
"""
eta = solver_eta
ema = solver_ema
# denoised_s = []
# for _ in range(repeat):
# noise = torch.randn_like(noise)
# denoised_s.append(model(noise, sigmas[0]))
# denoised_s = torch.cat(denoised_s, dim = 0)
# denoised = torch.mean(denoised_s, dim=0, keepdim=True)
denoised = model(noise, sigmas[0])
denoised_ema = denoised
eta = float(eta)
sigmas_vp = (sigmas**2 / (1 + sigmas**2))**0.5
sigmas_vp[sigmas == float('inf')] = 1.
noises = [
noise.clone(),
]
for i in trange(1, len(sigmas) - 1, disable=not show_progress):
sigma = sigmas_vp[i]
alpha = torch.sqrt(1 - sigma**2)
# x = alpha * denoised + sigma * torch.randn_like(noise)
# x = alpha * denoised + sigma * (eta * noise + (1 - eta ** 2) ** 0.5 * torch.randn_like(noise))
# eta = 0.2*sigma / (sigma + 1.0)
# noise = eta * noise + (1 - eta ** 2) ** 0.5 * torch.randn_like(noise)
noise2 = 0
for n in noises:
noise2 += eta * n
noise2 += (1 - (eta * len(noises))**2)**0.5 * torch.randn_like(noise)
noises.append(noise2.clone())
# noise = torch.randn_like(noise)
x = alpha * denoised + sigma * noise2
denoised = model(x, sigmas[i])
denoised_ema = ema * denoised_ema + (1.0 - ema) * denoised
return denoised_ema
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# Copyright (c) Alibaba, Inc. and its affiliates.
from scepter.modules.model.network.ldm.ldm import LatentDiffusion
from scepter.modules.model.network.ldm.ldm_edit import LatentDiffusionEdit
from scepter.modules.model.network.ldm.ldm_sce import (
LatentDiffusionSCEControl, LatentDiffusionSCETuning,
LatentDiffusionXLSCEControl, LatentDiffusionXLSCETuning)

Some files were not shown because too many files have changed in this diff Show More