|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from peft.import_utils import is_bnb_4bit_available, is_bnb_available |
|
|
|
from .config import AdaLoraConfig |
|
from .gptq import SVDQuantLinear |
|
from .layer import AdaLoraLayer, RankAllocator, SVDLinear |
|
from .model import AdaLoraModel |
|
|
|
|
|
__all__ = ["AdaLoraConfig", "AdaLoraLayer", "AdaLoraModel", "SVDLinear", "RankAllocator", "SVDQuantLinear"] |
|
|
|
|
|
def __getattr__(name): |
|
if (name == "SVDLinear8bitLt") and is_bnb_available(): |
|
from .bnb import SVDLinear8bitLt |
|
|
|
return SVDLinear8bitLt |
|
|
|
if (name == "SVDLinear4bit") and is_bnb_4bit_available(): |
|
from .bnb import SVDLinear4bit |
|
|
|
return SVDLinear4bit |
|
|
|
raise AttributeError(f"module {__name__} has no attribute {name}") |
|
|