57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
|
|
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
import json
|
|
import os
|
|
|
|
import cv2
|
|
import numpy as np
|
|
import torch
|
|
from PIL import Image
|
|
from diffusers import StableDiffusionPipeline, StableDiffusionControlNetPipeline, ControlNetModel, \
|
|
UniPCMultistepScheduler
|
|
from modelscope.outputs import OutputKeys
|
|
from modelscope.pipelines import pipeline
|
|
from modelscope.utils.constant import Tasks
|
|
from torch import multiprocessing
|
|
from transformers import pipeline as tpipeline
|
|
|
|
class FCLoraMerge:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"merge_lora_first": ("MODEL",),
|
|
"merge_lora_second": ("MODEL",),
|
|
"multiplier": ("FLOAT", {"default": 0.5, "min": 0, "max": 1, "step": 0.1})
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("MODEL",)
|
|
RETURN_NAMES = ("lora",)
|
|
FUNCTION = "merge_lora"
|
|
CATEGORY = "facechain/lora"
|
|
|
|
def retain_face(self, merge_lora_first, merge_lora_second):
|
|
|
|
pipe = StableDiffusionPipeline.from_pretrained(base_model_path, safety_checker=None, torch_dtype=torch.float32)
|
|
|
|
merge_lora()
|
|
return (image,)
|
|
|
|
class FCLoraStyle:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"merge_lora_first": ("MODEL",),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("MODEL",)
|
|
RETURN_NAMES = ("style_lora",)
|
|
FUNCTION = "lora_style"
|
|
CATEGORY = "facechain/lora"
|
|
|
|
def lora_style(self, image):
|
|
return (image,)
|