add anime-lama

This commit is contained in:
Qing
2024-11-01 17:51:30 +08:00
parent d7089497cc
commit b4b49bb88e
2 changed files with 27 additions and 1 deletions

View File

@@ -3,7 +3,7 @@ from .controlnet import ControlNet
from .fcf import FcF from .fcf import FcF
from .instruct_pix2pix import InstructPix2Pix from .instruct_pix2pix import InstructPix2Pix
from .kandinsky import Kandinsky22 from .kandinsky import Kandinsky22
from .lama import LaMa from .lama import LaMa, AnimeLaMa
from .ldm import LDM from .ldm import LDM
from .manga import Manga from .manga import Manga
from .mat import MAT from .mat import MAT
@@ -17,6 +17,7 @@ from .zits import ZITS
models = { models = {
LaMa.name: LaMa, LaMa.name: LaMa,
AnimeLaMa.name: AnimeLaMa,
LDM.name: LDM, LDM.name: LDM,
ZITS.name: ZITS, ZITS.name: ZITS,
MAT.name: MAT, MAT.name: MAT,

View File

@@ -19,6 +19,14 @@ LAMA_MODEL_URL = os.environ.get(
) )
LAMA_MODEL_MD5 = os.environ.get("LAMA_MODEL_MD5", "e3aa4aaa15225a33ec84f9f4bc47e500") LAMA_MODEL_MD5 = os.environ.get("LAMA_MODEL_MD5", "e3aa4aaa15225a33ec84f9f4bc47e500")
ANIME_LAMA_MODEL_URL = os.environ.get(
"ANIME_LAMA_MODEL_URL",
"https://github.com/Sanster/models/releases/download/AnimeMangaInpainting/anime-manga-big-lama.pt",
)
ANIME_LAMA_MODEL_MD5 = os.environ.get(
"ANIME_LAMA_MODEL_MD5", "29f284f36a0a510bcacf39ecf4c4d54f"
)
class LaMa(InpaintModel): class LaMa(InpaintModel):
name = "lama" name = "lama"
@@ -55,3 +63,20 @@ class LaMa(InpaintModel):
cur_res = np.clip(cur_res * 255, 0, 255).astype("uint8") cur_res = np.clip(cur_res * 255, 0, 255).astype("uint8")
cur_res = cv2.cvtColor(cur_res, cv2.COLOR_RGB2BGR) cur_res = cv2.cvtColor(cur_res, cv2.COLOR_RGB2BGR)
return cur_res return cur_res
class AnimeLaMa(LaMa):
name = "anime-lama"
@staticmethod
def download():
download_model(ANIME_LAMA_MODEL_URL, ANIME_LAMA_MODEL_MD5)
def init_model(self, device, **kwargs):
self.model = load_jit_model(
ANIME_LAMA_MODEL_URL, device, ANIME_LAMA_MODEL_MD5
).eval()
@staticmethod
def is_downloaded() -> bool:
return os.path.exists(get_cache_path_by_url(ANIME_LAMA_MODEL_URL))