mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
Rename spandrel models to 'Image-to-Image Model' throughout the UI.
This commit is contained in:
parent
a405f14ea2
commit
d09999736c
@ -135,7 +135,7 @@ class FieldDescriptions:
|
|||||||
sdxl_main_model = "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load"
|
sdxl_main_model = "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load"
|
||||||
sdxl_refiner_model = "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load"
|
sdxl_refiner_model = "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load"
|
||||||
onnx_main_model = "ONNX Main model (UNet, VAE, CLIP) to load"
|
onnx_main_model = "ONNX Main model (UNet, VAE, CLIP) to load"
|
||||||
spandrel_image_to_image_model = "Spandrel Image-to-Image model"
|
spandrel_image_to_image_model = "Image-to-Image model"
|
||||||
lora_weight = "The weight at which the LoRA is applied to each model"
|
lora_weight = "The weight at which the LoRA is applied to each model"
|
||||||
compel_prompt = "Prompt to be parsed by Compel to create a conditioning tensor"
|
compel_prompt = "Prompt to be parsed by Compel to create a conditioning tensor"
|
||||||
raw_prompt = "Raw prompt text (no parsing)"
|
raw_prompt = "Raw prompt text (no parsing)"
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
import torch
|
|
||||||
|
|
||||||
from invokeai.app.invocations.baseinvocation import BaseInvocation, invocation
|
|
||||||
from invokeai.app.invocations.fields import (
|
|
||||||
FieldDescriptions,
|
|
||||||
ImageField,
|
|
||||||
InputField,
|
|
||||||
UIType,
|
|
||||||
WithBoard,
|
|
||||||
WithMetadata,
|
|
||||||
)
|
|
||||||
from invokeai.app.invocations.model import ModelIdentifierField
|
|
||||||
from invokeai.app.invocations.primitives import ImageOutput
|
|
||||||
from invokeai.app.services.shared.invocation_context import InvocationContext
|
|
||||||
from invokeai.backend.spandrel_image_to_image_model import SpandrelImageToImageModel
|
|
||||||
|
|
||||||
|
|
||||||
@invocation("upscale_spandrel", title="Upscale (spandrel)", tags=["upscale"], category="upscale", version="1.0.0")
|
|
||||||
class UpscaleSpandrelInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
||||||
"""Upscales an image using any upscaler supported by spandrel (https://github.com/chaiNNer-org/spandrel)."""
|
|
||||||
|
|
||||||
image: ImageField = InputField(description="The input image")
|
|
||||||
spandrel_image_to_image_model: ModelIdentifierField = InputField(
|
|
||||||
description=FieldDescriptions.spandrel_image_to_image_model, ui_type=UIType.SpandrelImageToImageModel
|
|
||||||
)
|
|
||||||
|
|
||||||
@torch.inference_mode()
|
|
||||||
def invoke(self, context: InvocationContext) -> ImageOutput:
|
|
||||||
image = context.images.get_pil(self.image.image_name)
|
|
||||||
|
|
||||||
# Load the model.
|
|
||||||
spandrel_model_info = context.models.load(self.spandrel_image_to_image_model)
|
|
||||||
|
|
||||||
with spandrel_model_info as spandrel_model:
|
|
||||||
assert isinstance(spandrel_model, SpandrelImageToImageModel)
|
|
||||||
|
|
||||||
# Prepare input image for inference.
|
|
||||||
image_tensor = SpandrelImageToImageModel.pil_to_tensor(image)
|
|
||||||
image_tensor = image_tensor.to(device=spandrel_model.device, dtype=spandrel_model.dtype)
|
|
||||||
|
|
||||||
# Run inference.
|
|
||||||
image_tensor = spandrel_model.run(image_tensor)
|
|
||||||
|
|
||||||
# Convert the output tensor to a PIL image.
|
|
||||||
pil_image = SpandrelImageToImageModel.tensor_to_pil(image_tensor)
|
|
||||||
image_dto = context.images.save(image=pil_image)
|
|
||||||
return ImageOutput.build(image_dto)
|
|
@ -155,11 +155,11 @@ const ModelList = () => {
|
|||||||
)}
|
)}
|
||||||
{/* Spandrel Image to Image List */}
|
{/* Spandrel Image to Image List */}
|
||||||
{isLoadingSpandrelImageToImageModels && (
|
{isLoadingSpandrelImageToImageModels && (
|
||||||
<FetchingModelsLoader loadingMessage="Loading Spandrel Image to Image Models..." />
|
<FetchingModelsLoader loadingMessage="Loading Image-to-Image Models..." />
|
||||||
)}
|
)}
|
||||||
{!isLoadingSpandrelImageToImageModels && filteredSpandrelImageToImageModels.length > 0 && (
|
{!isLoadingSpandrelImageToImageModels && filteredSpandrelImageToImageModels.length > 0 && (
|
||||||
<ModelListWrapper
|
<ModelListWrapper
|
||||||
title="Spandrel Image to Image"
|
title="Image-to-Image"
|
||||||
modelList={filteredSpandrelImageToImageModels}
|
modelList={filteredSpandrelImageToImageModels}
|
||||||
key="spandrel-image-to-image"
|
key="spandrel-image-to-image"
|
||||||
/>
|
/>
|
||||||
|
@ -21,7 +21,7 @@ export const ModelTypeFilter = () => {
|
|||||||
t2i_adapter: t('common.t2iAdapter'),
|
t2i_adapter: t('common.t2iAdapter'),
|
||||||
ip_adapter: t('common.ipAdapter'),
|
ip_adapter: t('common.ipAdapter'),
|
||||||
clip_vision: 'Clip Vision',
|
clip_vision: 'Clip Vision',
|
||||||
spandrel_image_to_image: 'Spandrel Image to Image',
|
spandrel_image_to_image: 'Image-to-Image',
|
||||||
}),
|
}),
|
||||||
[t]
|
[t]
|
||||||
);
|
);
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user