
    6ik$                        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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&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> ddl?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZR ddlSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZ dZdZdZdZdZdZdZdZdZdZdZdZdZ e Zg dg dggdz  Zg dg dg dgZg d g d!g d"gZd# Zed$ee   fd%       Zy&)'    )	lru_cache)version   )__version__   )

ClassAttrsClassDocstringImageProcessorArgs	ModelArgsModelOutputArgsauto_class_docstringauto_docstringget_args_doc_from_sourceparse_docstringset_min_indent)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ModelOutputPaddingStrategy
TensorTypeTransformersKwargs_is_tensor_or_array_likecan_return_losscan_return_tupleexpand_dimsfilter_out_non_signature_kwargsfind_labelsflatten_dictis_numpy_array	is_tensoris_timm_config_dictis_timm_local_checkpointis_torch_deviceis_torch_dtypeis_torch_tensorreshapesafe_load_json_filesqueeze	strtobooltensor_sizeto_numpy	to_py_objtorch_float	torch_int	transpose)CHAT_TEMPLATE_DIRCHAT_TEMPLATE_FILECLOUDFRONT_DISTRIB_PREFIXHF_MODULES_CACHE#LEGACY_PROCESSOR_CHAT_TEMPLATE_FILES3_BUCKET_PREFIX TRANSFORMERS_DYNAMIC_MODULE_NAMEEntryNotFoundErrorPushInProgressPushToHubMixinRepositoryNotFoundErrorRevisionNotFoundErrorcached_filedefine_sagemaker_informationextract_commit_hashhas_filehttp_user_agentlist_repo_templatestry_to_load_from_cache)ACCELERATE_MIN_VERSIONBITSANDBYTES_MIN_VERSIONENV_VARS_TRUE_AND_AUTO_VALUESENV_VARS_TRUE_VALUESGGUF_MIN_VERSIONTRITON_MIN_VERSIONXLA_FSDPV2_MIN_VERSIONDummyObjectOptionalDependencyNotAvailable_LazyModulecheck_torch_load_is_safedirect_transformers_importenable_tf32get_torch_versionis_accelerate_availableis_apex_availableis_apollo_torch_availableis_aqlm_availableis_auto_round_availableis_av_availableis_bitsandbytes_availableis_bs4_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_env_variable_falseis_env_variable_true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_flute_availableis_fp_quant_availableis_fsdp_availableis_g2p_en_availableis_galore_torch_availableis_gguf_availableis_gptqmodel_availableis_grokadamw_availableis_grouped_mm_availableis_habana_gaudi1is_hadamard_availableis_hqq_available#is_huggingface_hub_greater_or_equalis_in_notebookis_jinja_availableis_jmespath_availableis_jumanpp_availableis_kenlm_availableis_kernels_availableis_levenshtein_availableis_libcst_availableis_librosa_availableis_liger_kernel_availableis_llm_awq_availableis_lomo_availableis_matplotlib_availableis_mistral_common_availableis_mlx_availableis_natten_availableis_ninja_availableis_nltk_availableis_num2words_availableis_numba_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_pytest_order_available!is_pytorch_quantization_availableis_quanto_greateris_quark_availableis_qutlass_availableis_rich_availableis_rjieba_availableis_rocm_platformis_sacremoses_availableis_sagemaker_dp_enabledis_sagemaker_mp_enabledis_schedulefree_availableis_scipy_availableis_sentencepiece_availableis_seqio_availableis_sinq_availableis_sklearn_availableis_soundfile_availableis_spacy_availableis_speech_availableis_spqr_availableis_sudachi_availableis_sudachi_projection_availableis_tiktoken_availableis_timm_availableis_tokenizers_availableis_torch_accelerator_availableis_torch_available!is_torch_bf16_available_on_deviceis_torch_bf16_gpu_availableis_torch_cuda_availableis_torch_deterministicis_torch_flex_attn_available!is_torch_fp16_available_on_device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_optimi_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_compilingis_torchdynamo_exportingis_torchvision_availableis_torchvision_v2_available
is_tracingis_training_run_on_sagemakeris_triton_availableis_uroman_availableis_vision_availableis_vptq_availableis_xlstm_availableis_yt_dlp_availablerequires_backendstorch_compilable_checktorch_only_method)KernelConfig)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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                     t        j                  t              t        j                  |       k  r(d| v rd}nd|  d}|dt         dz  }t        |dz         y )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_messages     W/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/transformers/utils/__init__.pycheck_min_versionr     st    }}[!GMM+$>>K` 
 J+VWXM5k]#FF44
 	
 ?    returnc                     dh} t               r| j                  d       t               r| j                  d       t               r| j                  d       t	               r| j                  d       t               r| j                  d       t               r| j                  d       t               r| j                  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)devicess    r   get_available_devicesr
  .  s    
 gG FEEEEE FWr   N(	  	functoolsr   	packagingr    r   r   r   r	   r
   r   r   r   r   r   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,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   hubr=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   import_utilsrP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   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   kernel_configr   
peft_utilsr   r   r   r   r   WEIGHTS_NAME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   <module>r)     s%  "       f e q q        @     *Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Yt (  #3 ' 8 3 1 7 4 (1 "   *  <      /B@

" y~  r   