o
    wi'                     @   s  d dl mZ d dlmZ d dlmZ d dlmZ ddl	m
Z
 ddlmZmZmZmZmZmZmZmZmZmZ dd	lmZmZ dd
lmZmZmZ ddlmZmZm Z m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZK ddlLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZi ddljmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z mZmZmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZ dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd!ZeZ g d"g d#ggd Z!g d$g d%g d&gZ"g d'g d(g d)gZ#d*d+ Z$ed,e%e& fd-d.Z'd/S )0    )	lru_cache)get_full_repo_name)HF_HUB_DISABLE_TELEMETRY)version   )__version__   )

ClassAttrsClassDocstringImageProcessorArgs	ModelArgsModelOutputArgsauto_class_docstringauto_docstringget_args_doc_from_sourceparse_docstringset_min_indent)BackboneConfigMixinBackboneMixin)DocstringParsingExceptionTypeHintParsingExceptionget_json_schema)IMAGENET_DEFAULT_MEANIMAGENET_DEFAULT_STDIMAGENET_STANDARD_MEANIMAGENET_STANDARD_STD)add_code_sample_docstringsadd_end_docstringsadd_start_docstrings%add_start_docstrings_to_model_forward	copy_funcreplace_return_docstrings)"ContextManagersExplicitEnum
LossKwargsModelOutputPaddingStrategy
TensorTypecached_propertycan_return_losscan_return_tupleexpand_dimsfilter_out_non_signature_kwargsfind_labelsflatten_dictinfer_frameworkis_jax_tensoris_numpy_array	is_tensoris_tf_symbolic_tensoris_tf_tensoris_timm_config_dictis_timm_local_checkpointis_torch_deviceis_torch_dtypeis_torch_tensorreshapesqueeze	strtobooltensor_sizeto_numpy	to_py_objtorch_float	torch_int	transposeworking_or_temp_dir)CHAT_TEMPLATE_DIRCHAT_TEMPLATE_FILECLOUDFRONT_DISTRIB_PREFIXHF_MODULES_CACHEHUGGINGFACE_CO_PREFIXHUGGINGFACE_CO_RESOLVE_ENDPOINT#LEGACY_PROCESSOR_CHAT_TEMPLATE_FILEPYTORCH_PRETRAINED_BERT_CACHEPYTORCH_TRANSFORMERS_CACHES3_BUCKET_PREFIXTRANSFORMERS_CACHE TRANSFORMERS_DYNAMIC_MODULE_NAMEEntryNotFoundErrorPushInProgressPushToHubMixinRepositoryNotFoundErrorRevisionNotFoundErrorcached_filedefault_cache_pathdefine_sagemaker_informationdownload_urlextract_commit_hashhas_filehttp_user_agentis_offline_modeis_remote_urllist_repo_templatessend_example_telemetrytry_to_load_from_cache)ACCELERATE_MIN_VERSIONENV_VARS_TRUE_AND_AUTO_VALUESENV_VARS_TRUE_VALUESGGUF_MIN_VERSIONTORCH_FX_REQUIRED_VERSIONUSE_JAXUSE_TF	USE_TORCHXLA_FSDPV2_MIN_VERSIONDummyObjectOptionalDependencyNotAvailable_LazyModuleccl_versioncheck_torch_load_is_safedirect_transformers_importget_torch_versionis_accelerate_availableis_apex_availableis_apollo_torch_availableis_aqlm_availableis_auto_awq_availableis_auto_gptq_availableis_auto_round_availableis_av_availableis_bitsandbytes_available'is_bitsandbytes_multi_backend_availableis_bs4_availableis_ccl_availableis_coloredlogs_availableis_compressed_tensors_availableis_cuda_platformis_cv2_availableis_cython_availableis_datasets_availableis_decord_availableis_detectron2_availableis_eetq_availableis_essentia_availableis_faiss_availableis_fbgemm_gpu_availableis_flash_attn_2_availableis_flash_attn_3_availableis_flash_attn_greater_or_equal#is_flash_attn_greater_or_equal_2_10is_flax_availableis_flute_availableis_fsdp_availableis_ftfy_availableis_g2p_en_availableis_galore_torch_availableis_gguf_availableis_gptqmodel_availableis_grokadamw_availableis_habana_gaudi1is_hadamard_availableis_hqq_available#is_huggingface_hub_greater_or_equalis_in_notebookis_ipex_availableis_jieba_availableis_jinja_availableis_jumanpp_availableis_kenlm_availableis_keras_nlp_availableis_kernels_availableis_levenshtein_availableis_librosa_availableis_liger_kernel_availableis_lomo_availableis_matplotlib_availableis_mlx_availableis_natten_availableis_ninja_availableis_nltk_availableis_num2words_availableis_onnx_availableis_openai_availableis_optimum_availableis_optimum_quanto_availableis_pandas_availableis_peft_availableis_phonemizer_availableis_pretty_midi_availableis_protobuf_availableis_psutil_availableis_py3nvml_availableis_pyctcdecode_availableis_pytesseract_availableis_pytest_available!is_pytorch_quantization_availableis_quark_availableis_rich_availableis_rjieba_availableis_rocm_platformis_sacremoses_availableis_safetensors_availableis_sagemaker_dp_enabledis_sagemaker_mp_enabledis_schedulefree_availableis_scipy_availableis_sentencepiece_availableis_seqio_availableis_sklearn_availableis_soundfile_availableis_spacy_availableis_speech_availableis_spqr_availableis_sudachi_availableis_sudachi_projection_available#is_tensorflow_probability_availableis_tensorflow_text_availableis_tf2onnx_availableis_tf_availableis_tiktoken_availableis_timm_availableis_tokenizers_availableis_torch_accelerator_availableis_torch_availableis_torch_bf16_available!is_torch_bf16_available_on_deviceis_torch_bf16_cpu_availableis_torch_bf16_gpu_availableis_torch_compile_availableis_torch_cuda_availableis_torch_deterministicis_torch_flex_attn_available!is_torch_fp16_available_on_deviceis_torch_fx_availableis_torch_fx_proxyis_torch_greater_or_equalis_torch_hpu_availableis_torch_mlu_availableis_torch_mps_availableis_torch_musa_availableis_torch_neuroncore_availableis_torch_npu_availableis_torch_sdpa_availableis_torch_tensorrt_fx_availableis_torch_tf32_availableis_torch_xla_availableis_torch_xpu_availableis_torchao_availableis_torchaudio_availableis_torchcodec_availableis_torchdistx_availableis_torchdynamo_availableis_torchdynamo_compilingis_torchdynamo_exportingis_torchvision_availableis_torchvision_v2_availableis_training_run_on_sagemakeris_uroman_availableis_vision_availableis_vptq_availableis_yt_dlp_availablerequires_backendstorch_only_method)ADAPTER_CONFIG_NAMEADAPTER_SAFE_WEIGHTS_NAMEADAPTER_WEIGHTS_NAMEcheck_peft_versionfind_adapter_config_filezpytorch_model.binzpytorch_model.bin.index.jsonztf_model.h5ztf_model.h5.index.jsonz
model.ckptzflax_model.msgpackzflax_model.msgpack.index.jsonzmodel.safetensorszmodel.safetensors.index.jsonzconfig.jsonzpreprocessor_config.jsonzvideo_preprocessor_config.jsonzaudio_tokenizer_config.jsonzprocessor_config.jsonzgeneration_config.jsonzmodelcard.jsonu   ▁)r   r   r   r   )r   r   r   r   )      r   r   r   )r   r      r   r   )r   r   r         )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   c                 C   sN   t tt | k r%d| v rd}nd|  d}|dt d7 }t|d d S )NdevzThis example requires a source install from HuggingFace Transformers (see `https://huggingface.co/docs/transformers/installation#install-from-source`),z+This example requires a minimum version of ,z but the version found is z.
zCheck out https://github.com/huggingface/transformers/tree/main/examples#important-note for the examples corresponding to other versions of HuggingFace Transformers.)r   parser   ImportError)min_versionerror_message r  X/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/transformers/utils/__init__.pycheck_min_version7  s   r  returnc                  C   s~   dh} t  r| d t r| d t r| d t r#| d t r+| d t r3| d t r;| d t| S )	zX
    Returns a frozenset of devices available for the current PyTorch installation.
    cpucudampsxpunpuhpumlumusa)	r   addr   r   r   r   r   r   	frozenset)devicesr  r  r  get_available_devicesH  s    






r  N((  	functoolsr   huggingface_hubr   huggingface_hub.constantsr   DISABLE_TELEMETRY	packagingr    r   args_docr	   r
   r   r   r   r   r   r   r   r   backbone_utilsr   r   chat_template_utilsr   r   r   	constantsr   r   r   r   docr   r   r   r   r    r!   genericr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   hubrD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   import_utilsra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
peft_utilsr   r   r   r  r  WEIGHTS_NAMEWEIGHTS_INDEX_NAMETF2_WEIGHTS_NAMETF2_WEIGHTS_INDEX_NAMETF_WEIGHTS_NAMEFLAX_WEIGHTS_NAMEFLAX_WEIGHTS_INDEX_NAMESAFE_WEIGHTS_NAMESAFE_WEIGHTS_INDEX_NAMECONFIG_NAMEFEATURE_EXTRACTOR_NAMEIMAGE_PROCESSOR_NAMEVIDEO_PROCESSOR_NAMEAUDIO_TOKENIZER_NAMEPROCESSOR_NAMEGENERATION_CONFIG_NAMEMODEL_CARD_NAMESENTENCEPIECE_UNDERLINESPIECE_UNDERLINEMULTIPLE_CHOICE_DUMMY_INPUTSDUMMY_INPUTS
DUMMY_MASKr  r  strr  r  r  r  r  <module>   sZ   0 |$   2 	
