
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowercase  :					Any													=       {
    'configuration_instructblip': [
        'INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'InstructBlipConfig',
        'InstructBlipQFormerConfig',
        'InstructBlipVisionConfig',
    ],
    'processing_instructblip': ['InstructBlipProcessor'],
}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase  :					Optional[int]													=       [
		    'INSTRUCTBLIP_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'InstructBlipQFormerModel',
		    'InstructBlipPreTrainedModel',
		    'InstructBlipForConditionalGeneration',
		    'InstructBlipVisionModel',
		]

if TYPE_CHECKING:
		from .configuration_instructblip import (
		    INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    InstructBlipConfig,
		    InstructBlipQFormerConfig,
		    InstructBlipVisionConfig,
		)
		from .processing_instructblip import InstructBlipProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_instructblip import (
				    INSTRUCTBLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
				    InstructBlipForConditionalGeneration,
				    InstructBlipPreTrainedModel,
				    InstructBlipQFormerModel,
				    InstructBlipVisionModel,
				)

else:
		import sys

		lowercase  :					str													=       _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
from torch import nn





class 		_lowercase						(					nn.Module       ):

 def __init__( self	:							Any   ,      snake_case	:							Dict   ,      snake_case	:							Union[str, Any]			)   ->						Dict:

  """simple docstring"""





  super().__init__()
  UpperCamelCase_					:						List[Any] =					class_size
  UpperCamelCase_					:						List[Any] =					embed_size
  # self.mlp1 = nn.Linear(embed_size, embed_size)
  # self.mlp2 = (nn.Linear(embed_size, class_size))
  UpperCamelCase_					:						int =					nn.Linear(snake_case   ,      snake_case			)


 def 						SCREAMING_SNAKE_CASE__   ( self	:							List[str]   ,      snake_case	:							Any			)   ->						str:

  """simple docstring"""





  UpperCamelCase_					:						Dict =					self.mlp(snake_case			)
  return logits



