mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
28 lines
845 B
Python
28 lines
845 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Optional
|
|
|
|
import torch
|
|
|
|
|
|
class RawModel(ABC):
|
|
"""Base class for 'Raw' models.
|
|
|
|
The RawModel class is the base class of LoRAModelRaw, TextualInversionModelRaw, etc.
|
|
and is used for type checking of calls to the model patcher. Its main purpose
|
|
is to avoid a circular import issues when lora.py tries to import BaseModelType
|
|
from invokeai.backend.model_manager.config, and the latter tries to import LoRAModelRaw
|
|
from lora.py.
|
|
|
|
The term 'raw' was introduced to describe a wrapper around a torch.nn.Module
|
|
that adds additional methods and attributes.
|
|
"""
|
|
|
|
@abstractmethod
|
|
def to(
|
|
self,
|
|
device: Optional[torch.device] = None,
|
|
dtype: Optional[torch.dtype] = None,
|
|
non_blocking: bool = False,
|
|
) -> None:
|
|
pass
|