@@ -15,6 +15,6 @@ dev
|
||||
scepter.egg-info
|
||||
.readthedocs.yml
|
||||
1.9
|
||||
MANIFEST.in
|
||||
#MANIFEST.in
|
||||
*resources
|
||||
*.ipynb_checkpoints*
|
||||
|
||||
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 64 KiB |
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -6,4 +6,5 @@ dependencies:
|
||||
- pip>=20.3
|
||||
- numpy>=1.23.1
|
||||
- pip:
|
||||
- -r requirements/recommended.txt
|
||||
- -r requirements.txt
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) Alibaba, Inc. and its affiliates.
|
||||
"""Utils for monoDepth."""
|
||||
import re
|
||||
import sys
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) Alibaba, Inc. and its affiliates.
|
||||
import math
|
||||
import types
|
||||
|
||||
|
||||
@@ -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,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) Alibaba, Inc. and its affiliates.
|
||||
|
||||
# modified by lihaoweicv
|
||||
# pytorch version
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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']
|
||||
}
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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)
|
||||
|
||||