




import pickle
import unittest

import torch

from accelerate import Accelerator
from accelerate.state import AcceleratorState
from accelerate.test_utils import require_cpu







@require_cpu
class     __lowerCAmelCase (       unittest.TestCase ):

			"""simple docstring"""







			def       lowercase_    (      self							)    ->      Dict:



							'''simple docstring'''
							__lowerCamelCase		       =    torch.nn.Linear(10			,						10							)
							__lowerCamelCase		       =    torch.optim.SGD(model.parameters()			,						0.1							)
							__lowerCamelCase		       =    Accelerator()
							__lowerCamelCase		       =    accelerator.prepare(lowerCamelCase__							)
							try:
											pickle.loads(pickle.dumps(lowerCamelCase__							)							)
							except Exception as e:
											self.fail(f"""Accelerated optimizer pickling failed with {e}"""							)
							AcceleratorState._reset_state()









'''simple docstring'''


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCAmelCase					:     Optional[Any]												={
    '''configuration_x_clip''': [
        '''XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''XCLIPConfig''',
        '''XCLIPTextConfig''',
        '''XCLIPVisionConfig''',
    ],
    '''processing_x_clip''': ['''XCLIPProcessor'''],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCAmelCase					:     Tuple												=[
     '''XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''XCLIPModel''',
     '''XCLIPPreTrainedModel''',
     '''XCLIPTextModel''',
     '''XCLIPVisionModel''',
 ]

if TYPE_CHECKING:
 from .configuration_x_clip import (
     XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
     XCLIPConfig,
     XCLIPTextConfig,
     XCLIPVisionConfig,
 )
 from .processing_x_clip import XCLIPProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_x_clip import (
      XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
      XCLIPModel,
      XCLIPPreTrainedModel,
      XCLIPTextModel,
      XCLIPVisionModel,
  )

else:
 import sys

 lowerCAmelCase					:     str												=_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)


