import shutil import tempfile import unittest import pytest from transformers import Owlv2Processor from transformers.testing_utils import require_scipy from ...test_processing_common import ProcessorTesterMixin @require_scipy class Owlv2ProcessorTest(ProcessorTesterMixin, unittest.TestCase): processor_class = Owlv2Processor @classmethod def setUpClass(cls): cls.tmpdirname = tempfile.mkdtemp() processor = cls.processor_class.from_pretrained("google/owlv2-base-patch16-ensemble") processor.save_pretrained(cls.tmpdirname) @classmethod def tearDownClass(cls): shutil.rmtree(cls.tmpdirname, ignore_errors=True) def test_processor_query_images_positional(self): processor_components = self.prepare_components() processor = Owlv2Processor(**processor_components) image_input = self.prepare_image_inputs() query_images = self.prepare_image_inputs() inputs = processor(None, image_input, query_images) self.assertListEqual(list(inputs.keys()), ["query_pixel_values", "pixel_values"]) # test if it raises when no input is passed with pytest.raises(ValueError): processor()