|
|
import unittest |
|
|
from unittest.mock import patch |
|
|
|
|
|
from transformers import CLIPTextModel, LongformerModel |
|
|
|
|
|
from diffusers.models import AutoModel, UNet2DConditionModel |
|
|
|
|
|
|
|
|
class TestAutoModel(unittest.TestCase): |
|
|
@patch( |
|
|
"diffusers.models.AutoModel.load_config", |
|
|
side_effect=[EnvironmentError("File not found"), {"_class_name": "UNet2DConditionModel"}], |
|
|
) |
|
|
def test_load_from_config_diffusers_with_subfolder(self, mock_load_config): |
|
|
model = AutoModel.from_pretrained("hf-internal-testing/tiny-stable-diffusion-torch", subfolder="unet") |
|
|
assert isinstance(model, UNet2DConditionModel) |
|
|
|
|
|
@patch( |
|
|
"diffusers.models.AutoModel.load_config", |
|
|
side_effect=[EnvironmentError("File not found"), {"model_type": "clip_text_model"}], |
|
|
) |
|
|
def test_load_from_config_transformers_with_subfolder(self, mock_load_config): |
|
|
model = AutoModel.from_pretrained("hf-internal-testing/tiny-stable-diffusion-torch", subfolder="text_encoder") |
|
|
assert isinstance(model, CLIPTextModel) |
|
|
|
|
|
def test_load_from_config_without_subfolder(self): |
|
|
model = AutoModel.from_pretrained("hf-internal-testing/tiny-random-longformer") |
|
|
assert isinstance(model, LongformerModel) |
|
|
|
|
|
def test_load_from_model_index(self): |
|
|
model = AutoModel.from_pretrained("hf-internal-testing/tiny-stable-diffusion-torch", subfolder="text_encoder") |
|
|
assert isinstance(model, CLIPTextModel) |
|
|
|