ó
    qyüið�  ã                   ó>  • S r SSKrSSKrSSKrSSKrSSKrSSKJr  SSKJ	r	  S r
S rS rS rS	rS
 rS rSDS jrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr \\\\\\\\\\\\\\ S.r!Sr"Sr#\r$\r%Sr&S r'S r(S r)S r*S r+S r,\r-S r.S r/S r0S r1\ r2S r3S r4S r5\r6\r7S r8\r9\r:\r;S r<S!r=\" S"\"4S#\#4S$\;4S%\$4S&\:4S'\%4S(\=4S)\&4S*\'4S+\<4S,\24S-\(4S.\54S/\34S0\*4S1\14S2\84S3\+4S4\,4S5\-4S6\74S7\94S8\44S9\/4S:\.4/5      r>\" / S;Q5      r?S< r@SSSSS=S>S?SSSSSSS@.SA jrASESB jrBSC rCg)Fz3
Doc utilities: Utilities related to documentation
é    N)ÚOrderedDict)Úcastc                 óà   • [         R                  " U 5      (       a  g[         R                  " U 5      nUR                  5       S   n[	        U5      [	        UR                  5       5      -
  nSU-   $ )z^Return the indentation level of the start of the docstring of a class or function (or method).é   r   )ÚinspectÚisclassÚ	getsourceÚ
splitlinesÚlenÚlstrip)ÚfuncÚsourceÚ
first_lineÚfunction_def_levels       ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/transformers/utils/doc.pyÚget_docstring_indentation_levelr      sb   € ô ‡‚�t×ÑØÜ×Ò˜tÓ$€FØ×"Ñ"Ó$ QÑ'€JÜ˜Z›¬3¨z×/@Ñ/@Ó/BÓ+CÑCÐØÐ!Ñ!Ð!ó    c                  ó   ^ • U 4S jnU$ )Nc                 ól   >• SR                  T5      U R                  b  U R                  OS-   U l        U $ ©NÚ )ÚjoinÚ__doc__©ÚfnÚdocstrs    €r   Údocstring_decoratorÚ1add_start_docstrings.<locals>.docstring_decorator'   s,   ø€ Ø—W‘W˜V“_°b·j±jÑ6L¨¯
ª
ÐRTÑUˆŒ
Øˆ	r   © ©r   r   s   ` r   Úadd_start_docstringsr!   &   ó   ø€ õð Ðr   c                  ó   ^ • U 4S jnU$ )Nc                 ó†  >• SU R                   R                  S5      S    S3nSU S3n[        U 5      nU R                  b  U R                  OSn [	        S UR                  5        5       5      n[        U5      [        UR                  5       5      -
  nT
nUS	U-   :X  al  T
 Vs/ s H1  n[        R                  " [        R                  " U5      S
U-  5      PM3     nn[        R                  " [        R                  " U5      S
U-  5      nSR                  U5      U-   n	X)-   U l        U $ ! [         a    Un N¤f = fs  snf )Nz[`Ú.r   z`]z    The aa   forward method, overrides the `__call__` special method.

    <Tip>

    Although the recipe for forward pass needs to be defined within this function, one should call the [`Module`]
    instance afterwards instead of this since the former takes care of running the pre and post processing steps while
    the latter silently ignores them.

    </Tip>
r   c              3   óP   #   • U  H  oR                  5       S :w  d  M  Uv •  M     g7f)r   N)Ústrip)Ú.0Úlines     r   Ú	<genexpr>ÚUadd_start_docstrings_to_model_forward.<locals>.docstring_decorator.<locals>.<genexpr>?   s#   é € Ð"cÒ4L¨D×PZÑPZÓP\Ð`bÑPb§4¡4Ò4Lùs   ‚&�	&r   Ú )Ú__qualname__Úsplitr   r   Únextr
   r   r   ÚStopIterationÚtextwrapÚindentÚdedentr   )r   Ú
class_nameÚintroÚcorrect_indentationÚcurrent_docÚfirst_non_emptyÚdoc_indentationÚdocsÚdocÚ	docstringr   s             €r   r   ÚBadd_start_docstrings_to_model_forward.<locals>.docstring_decorator/   s8  ø€ Ø˜"Ÿ/™/×/Ñ/°Ó4°QÑ7Ð8¸Ð;ˆ
Ø˜j˜\ð 	*ð 	ˆô >¸bÓAÐØ$&§J¡JÑ$:�b—j’jÀˆð	2Ü"Ñ"c°K×4JÑ4JÔ4LÓ"cÓcˆOÜ! /Ó2´S¸×9OÑ9OÓ9QÓ5RÑRˆOð ˆð ˜aÐ"5Ñ5Ó5Ù`fÓgÒ`fÐY\”H—O’O¤H§O¢O°CÓ$8¸#Ð@SÑ:SÖTÑ`fˆDÐgÜ—O’O¤H§O¢O°EÓ$:¸CÐBUÑ<UÓVˆEà—G‘G˜D“M KÑ/ˆ	ØÑ&ˆŒ
Øˆ	øô ó 	2Ø1ŠOð	2üò hs   ÁAD, Â%8D>Ä,D;Ä:D;r   r    s   ` r   Ú%add_start_docstrings_to_model_forwardr>   .   s   ø€ õð@ Ðr   c                  ó   ^ • U 4S jnU$ )Nc                 ól   >• U R                   b  U R                   OSSR                  T5      -   U l         U $ r   )r   r   r   s    €r   r   Ú/add_end_docstrings.<locals>.docstring_decoratorS   s+   ø€ Ø$&§J¡JÑ$:�b—j’jÀÀbÇgÁgÈfÃoÑUˆŒ
Øˆ	r   r   r    s   ` r   Úadd_end_docstringsrB   R   r"   r   a:  
    Returns:
        [`{full_output_type}`] or `tuple(torch.FloatTensor)`: A [`{full_output_type}`] or a tuple of
        `torch.FloatTensor` (if `return_dict=False` is passed or when `config.return_dict=False`) comprising various
        elements depending on the configuration ([`{config_class}`]) and inputs.

c                 ó`   • [         R                  " SU 5      nUc  S$ UR                  5       S   $ )z.Returns the indentation in the first line of tz^(\s*)\Sr   r   )ÚreÚsearchÚgroups)ÚtrE   s     r   Ú_get_indentrH   c   s,   € ä�YŠY�{ AÓ&€FØ‘ˆ2Ð7 V§]¡]£_°QÑ%7Ð7r   c                 óÆ  • [        U 5      n/ nSnU R                  S5       HF  n[        U5      U:X  a*  [        U5      S:”  a  UR                  USS 5        U S3nM<  X4SS  S3-  nMH     UR                  USS 5        [	        [        U5      5       H;  n[
        R                  " SSX%   5      X%'   [
        R                  " S	S
X%   5      X%'   M=     SR                  U5      $ )z,Convert output_args_doc to display properly.r   Ú
r   Néÿÿÿÿé   z^(\s+)(\S+)(\s+)z\1- **\2**\3z:\s*\n\s*(\S)z -- \1)rH   r.   r   ÚappendÚrangerD   Úsubr   )Úoutput_args_docr2   ÚblocksÚcurrent_blockr)   Úis         r   Ú_convert_output_args_docrT   i   sä   € ô ˜Ó)€FØ€FØ€MØ×%Ñ% dÖ+ˆä�tÓ Ó&Ü�=Ó! AÓ%Ø—‘˜m¨C¨RÐ0Ô1Ø#˜f B˜KŠMð  Q R ˜z¨˜_Ñ,ŠMñ ,ð ‡M�M�-  Ð$Ô%ô ”3�v“;ÖˆÜ—F’FÐ.°ÀÁÓKˆ‰	Ü—F’FÐ+¨Y¸¹	ÓBˆ‹	ñ  ð �9‰9�VÓÐr   c                 óŽ  • U R                   nSnUb½  UR                  S5      nSnU[        U5      :  aJ  [        R                  " SXg   5      c0  US-  nU[        U5      :  a  [        R                  " SXg   5      c  M0  U[        U5      :  a"  SR                  XgS-   S 5      n[        U5      nO U(       a  [        SU R                   S35      eU(       a/  U R                   SU R                   3n[        R                  X�S	9n	O[        U 5      nS
U S3n	Ub  U	S-  n	U	n
Ub  X¥-  n
Ub–  U
R                  S5      nSn[        Xg   5      S:X  a  US-  n[        Xg   5      S:X  a  M  [        [        Xg   5      5      nX²:  a?  SX+-
  -  nU Vs/ s H  n[        U5      S:”  a  U U 3OUPM     nnSR                  U5      n
U
$ s  snf )z@
Prepares the return part of the docstring using `output_type`.
NrJ   r   z^\s*(Args|Parameters):\s*$é   z@No `Args` or `Parameters` section is found in the docstring of `zH`. Make sure it has docstring and contain either `Args` or `Parameters`.r%   )Úfull_output_typeÚconfig_classz
Returns:
    `Ú`z:
r,   )r   r.   r   rD   rE   r   rT   Ú
ValueErrorÚ__name__Ú
__module__ÚPT_RETURN_INTRODUCTIONÚformatÚstrrH   )Úoutput_typerX   Ú
min_indentÚ	add_introÚoutput_docstringÚparams_docstringÚlinesrS   rW   r5   Úresultr2   Úto_addr)   s                 r   Ú_prepare_output_docstringsrh   ƒ   sõ  € ð #×*Ñ*ÐØÐØÑ#à ×&Ñ& tÓ,ˆØˆØ”#�e“*‹n¤§¢Ð+HÈ%É(Ó!SÑ![Ø�‰FˆAð ”#�e“*‹n¤§¢Ð+HÈ%É(Ó!SÓ![àŒs�5‹z‹>Ø#Ÿy™y¨°A±¨yÐ)9Ó:ÐÜ7Ð8HÓIÑÞÜØRÐS^×SgÑSgÐRhð iGð Góð ö Ø)×4Ñ4Ð5°Q°{×7KÑ7KÐ6LÐMÐÜ&×-Ñ-Ð?OÐ-Ðk‰ä˜{Ó+ÐØ#Ð$4Ð#5°QÐ7ˆØÑ'Ø�U‰NˆEà€FØÑ#ØÑ"ˆð ÑØ—‘˜TÓ"ˆàˆÜ�%‘(‹m˜qÓ Ø�‰FˆAô �%‘(‹m˜qÕ ä”[ ¡Ó*Ó+ˆàÓØ˜JÑ/Ñ0ˆFÙPUÓVÒPUÈ¬3¨t«9°q«=˜˜  Ñ'¸dÒBÑPUˆEÐVØ—Y‘Y˜uÓ%ˆFà€Mùò Ws   Æ!GaJ  
    <Tip warning={true}>

    This example uses a random model as the real ones are all very big. To get proper results, you should use
    {real_checkpoint} instead of {fake_checkpoint}. If you get out-of-memory when loading that checkpoint, you can try
    adding `device_map="auto"` in the `from_pretrained` call.

    </Tip>
a  
    Example:

    ```python
    >>> from transformers import AutoTokenizer, {model_class}
    >>> import torch

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = tokenizer(
    ...     "HuggingFace is a company based in Paris and New York", add_special_tokens=False, return_tensors="pt"
    ... )

    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> predicted_token_class_ids = logits.argmax(-1)

    >>> # Note that tokens are classified rather then input words which means that
    >>> # there might be more predicted token classes than words.
    >>> # Multiple token classes might account for the same word
    >>> predicted_tokens_classes = [model.config.id2label[t.item()] for t in predicted_token_class_ids[0]]
    >>> predicted_tokens_classes
    {expected_output}

    >>> labels = predicted_token_class_ids
    >>> loss = model(**inputs, labels=labels).loss
    >>> round(loss.item(), 2)
    {expected_loss}
    ```
a_  
    Example:

    ```python
    >>> from transformers import AutoTokenizer, {model_class}
    >>> import torch

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> question, text = "Who was Jim Henson?", "Jim Henson was a nice puppet"

    >>> inputs = tokenizer(question, text, return_tensors="pt")
    >>> with torch.no_grad():
    ...     outputs = model(**inputs)

    >>> answer_start_index = outputs.start_logits.argmax()
    >>> answer_end_index = outputs.end_logits.argmax()

    >>> predict_answer_tokens = inputs.input_ids[0, answer_start_index : answer_end_index + 1]
    >>> tokenizer.decode(predict_answer_tokens, skip_special_tokens=True)
    {expected_output}

    >>> # target is "nice puppet"
    >>> target_start_index = torch.tensor([{qa_target_start_index}])
    >>> target_end_index = torch.tensor([{qa_target_end_index}])

    >>> outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
    >>> loss = outputs.loss
    >>> round(loss.item(), 2)
    {expected_loss}
    ```
a  
    Example of single-label classification:

    ```python
    >>> import torch
    >>> from transformers import AutoTokenizer, {model_class}

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")

    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> predicted_class_id = logits.argmax().item()
    >>> model.config.id2label[predicted_class_id]
    {expected_output}

    >>> # To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`
    >>> num_labels = len(model.config.id2label)
    >>> model = {model_class}.from_pretrained("{checkpoint}", num_labels=num_labels)

    >>> labels = torch.tensor([1])
    >>> loss = model(**inputs, labels=labels).loss
    >>> round(loss.item(), 2)
    {expected_loss}
    ```

    Example of multi-label classification:

    ```python
    >>> import torch
    >>> from transformers import AutoTokenizer, {model_class}

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}", problem_type="multi_label_classification")

    >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")

    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> predicted_class_ids = torch.arange(0, logits.shape[-1])[torch.sigmoid(logits).squeeze(dim=0) > 0.5]

    >>> # To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`
    >>> num_labels = len(model.config.id2label)
    >>> model = {model_class}.from_pretrained(
    ...     "{checkpoint}", num_labels=num_labels, problem_type="multi_label_classification"
    ... )

    >>> labels = torch.sum(
    ...     torch.nn.functional.one_hot(predicted_class_ids[None, :].clone(), num_classes=num_labels), dim=1
    ... ).to(torch.float)
    >>> loss = model(**inputs, labels=labels).loss
    ```
a   
    Example:

    ```python
    >>> from transformers import AutoTokenizer, {model_class}
    >>> import torch

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = tokenizer("The capital of France is {mask}.", return_tensors="pt")

    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> # retrieve index of {mask}
    >>> mask_token_index = (inputs.input_ids == tokenizer.mask_token_id)[0].nonzero(as_tuple=True)[0]

    >>> predicted_token_id = logits[0, mask_token_index].argmax(axis=-1)
    >>> tokenizer.decode(predicted_token_id)
    {expected_output}

    >>> labels = tokenizer("The capital of France is Paris.", return_tensors="pt")["input_ids"]
    >>> # mask labels of non-{mask} tokens
    >>> labels = torch.where(inputs.input_ids == tokenizer.mask_token_id, labels, -100)

    >>> outputs = model(**inputs, labels=labels)
    >>> round(outputs.loss.item(), 2)
    {expected_loss}
    ```
a�  
    Example:

    ```python
    >>> from transformers import AutoTokenizer, {model_class}
    >>> import torch

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
    >>> outputs = model(**inputs)

    >>> last_hidden_states = outputs.last_hidden_state
    ```
a•  
    Example:

    ```python
    >>> from transformers import AutoTokenizer, {model_class}
    >>> import torch

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> prompt = "In Italy, pizza served in formal settings, such as at a restaurant, is presented unsliced."
    >>> choice0 = "It is eaten with a fork and a knife."
    >>> choice1 = "It is eaten while held in the hand."
    >>> labels = torch.tensor(0).unsqueeze(0)  # choice0 is correct (according to Wikipedia ;)), batch size 1

    >>> encoding = tokenizer([prompt, prompt], [choice0, choice1], return_tensors="pt", padding=True)
    >>> outputs = model(**{{k: v.unsqueeze(0) for k, v in encoding.items()}}, labels=labels)  # batch size is 1

    >>> # the linear classifier still needs to be trained
    >>> loss = outputs.loss
    >>> logits = outputs.logits
    ```
a½  
    Example:

    ```python
    >>> import torch
    >>> from transformers import AutoTokenizer, {model_class}

    >>> tokenizer = AutoTokenizer.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
    >>> outputs = model(**inputs, labels=inputs["input_ids"])
    >>> loss = outputs.loss
    >>> logits = outputs.logits
    ```
aA  
    Example:

    ```python
    >>> from transformers import AutoProcessor, {model_class}
    >>> import torch
    >>> from datasets import load_dataset

    >>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
    >>> dataset = dataset.sort("id")
    >>> sampling_rate = dataset.features["audio"].sampling_rate

    >>> processor = AutoProcessor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> # audio file is decoded on the fly
    >>> inputs = processor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
    >>> with torch.no_grad():
    ...     outputs = model(**inputs)

    >>> last_hidden_states = outputs.last_hidden_state
    >>> list(last_hidden_states.shape)
    {expected_output}
    ```
a]  
    Example:

    ```python
    >>> from transformers import AutoProcessor, {model_class}
    >>> from datasets import load_dataset
    >>> import torch

    >>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
    >>> dataset = dataset.sort("id")
    >>> sampling_rate = dataset.features["audio"].sampling_rate

    >>> processor = AutoProcessor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> # audio file is decoded on the fly
    >>> inputs = processor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits
    >>> predicted_ids = torch.argmax(logits, dim=-1)

    >>> # transcribe speech
    >>> transcription = processor.batch_decode(predicted_ids)
    >>> transcription[0]
    {expected_output}

    >>> inputs["labels"] = processor(text=dataset[0]["text"], return_tensors="pt").input_ids

    >>> # compute loss
    >>> loss = model(**inputs).loss
    >>> round(loss.item(), 2)
    {expected_loss}
    ```
a²  
    Example:

    ```python
    >>> from transformers import AutoFeatureExtractor, {model_class}
    >>> from datasets import load_dataset
    >>> import torch

    >>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
    >>> dataset = dataset.sort("id")
    >>> sampling_rate = dataset.features["audio"].sampling_rate

    >>> feature_extractor = AutoFeatureExtractor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> # audio file is decoded on the fly
    >>> inputs = feature_extractor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")

    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> predicted_class_ids = torch.argmax(logits, dim=-1).item()
    >>> predicted_label = model.config.id2label[predicted_class_ids]
    >>> predicted_label
    {expected_output}

    >>> # compute loss - target_label is e.g. "down"
    >>> target_label = model.config.id2label[0]
    >>> inputs["labels"] = torch.tensor([model.config.label2id[target_label]])
    >>> loss = model(**inputs).loss
    >>> round(loss.item(), 2)
    {expected_loss}
    ```
aÉ  
    Example:

    ```python
    >>> from transformers import AutoFeatureExtractor, {model_class}
    >>> from datasets import load_dataset
    >>> import torch

    >>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
    >>> dataset = dataset.sort("id")
    >>> sampling_rate = dataset.features["audio"].sampling_rate

    >>> feature_extractor = AutoFeatureExtractor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> # audio file is decoded on the fly
    >>> inputs = feature_extractor(dataset[0]["audio"]["array"], return_tensors="pt", sampling_rate=sampling_rate)
    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> probabilities = torch.sigmoid(logits[0])
    >>> # labels is a one-hot array of shape (num_frames, num_speakers)
    >>> labels = (probabilities > 0.5).long()
    >>> labels[0].tolist()
    {expected_output}
    ```
a  
    Example:

    ```python
    >>> from transformers import AutoFeatureExtractor, {model_class}
    >>> from datasets import load_dataset
    >>> import torch

    >>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
    >>> dataset = dataset.sort("id")
    >>> sampling_rate = dataset.features["audio"].sampling_rate

    >>> feature_extractor = AutoFeatureExtractor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> # audio file is decoded on the fly
    >>> inputs = feature_extractor(
    ...     [d["array"] for d in dataset[:2]["audio"]], sampling_rate=sampling_rate, return_tensors="pt", padding=True
    ... )
    >>> with torch.no_grad():
    ...     embeddings = model(**inputs).embeddings

    >>> embeddings = torch.nn.functional.normalize(embeddings, dim=-1).cpu()

    >>> # the resulting embeddings can be used for cosine similarity-based retrieval
    >>> cosine_sim = torch.nn.CosineSimilarity(dim=-1)
    >>> similarity = cosine_sim(embeddings[0], embeddings[1])
    >>> threshold = 0.7  # the optimal threshold is dataset-dependent
    >>> if similarity < threshold:
    ...     print("Speakers are not the same!")
    >>> round(similarity.item(), 2)
    {expected_output}
    ```
a‘  
    Example:

    ```python
    >>> from transformers import AutoImageProcessor, {model_class}
    >>> import torch
    >>> from datasets import load_dataset

    >>> dataset = load_dataset("huggingface/cats-image")
    >>> image = dataset["test"]["image"][0]

    >>> image_processor = AutoImageProcessor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = image_processor(image, return_tensors="pt")

    >>> with torch.no_grad():
    ...     outputs = model(**inputs)

    >>> last_hidden_states = outputs.last_hidden_state
    >>> list(last_hidden_states.shape)
    {expected_output}
    ```
aÜ  
    Example:

    ```python
    >>> from transformers import AutoImageProcessor, {model_class}
    >>> import torch
    >>> from datasets import load_dataset

    >>> dataset = load_dataset("huggingface/cats-image")
    >>> image = dataset["test"]["image"][0]

    >>> image_processor = AutoImageProcessor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> inputs = image_processor(image, return_tensors="pt")

    >>> with torch.no_grad():
    ...     logits = model(**inputs).logits

    >>> # model predicts one of the 1000 ImageNet classes
    >>> predicted_label = logits.argmax(-1).item()
    >>> print(model.config.id2label[predicted_label])
    {expected_output}
    ```
)ÚSequenceClassificationÚQuestionAnsweringÚTokenClassificationÚMultipleChoiceÚMaskedLMÚLMHeadÚ	BaseModelÚSpeechBaseModelÚCTCÚAudioClassificationÚAudioFrameClassificationÚAudioXVectorÚVisionBaseModelÚImageClassificationa  
    Example:

    ```python
    >>> from transformers import AutoProcessor, {model_class}, SpeechT5HifiGan

    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> processor = AutoProcessor.from_pretrained("{checkpoint}")
    >>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")
    >>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")

    >>> # generate speech
    >>> speech = model.generate(inputs["input_ids"], speaker_embeddings=speaker_embeddings, vocoder=vocoder)
    ```
az  
    Example:

    ```python
    >>> from transformers import AutoProcessor, {model_class}

    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> processor = AutoProcessor.from_pretrained("{checkpoint}")
    >>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")

    >>> # generate speech
    >>> speech = model(inputs["input_ids"])
    ```
a.  
    Example:

    ```python
    >>> from transformers import AutoImageProcessor, {model_class}
    >>> import torch
    >>> from PIL import Image
    >>> import httpx
        >>> from io import BytesIO

    >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
    >>> with httpx.stream("GET", url) as response:
    ...     image = Image.open(BytesIO(response.read())).convert("RGB")

    >>> processor = AutoImageProcessor.from_pretrained("{checkpoint}")
    >>> model = {model_class}.from_pretrained("{checkpoint}")

    >>> device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    >>> model.to(device)

    >>> # prepare image for the model
    >>> inputs = processor(images=image, return_tensors="pt").to(device)

    >>> with torch.no_grad():
    ...     outputs = model(**inputs)

    >>> # interpolate to original size
    >>> post_processed_output = processor.post_process_depth_estimation(
    ...     outputs, [(image.height, image.width)],
    ... )
    >>> predicted_depth = post_processed_output[0]["predicted_depth"]
    ```
z%
    Example:

    ```python
    ```
aÆ  
    Example:

    ```python
    >>> from PIL import Image
    >>> from transformers import AutoProcessor, {model_class}

    >>> model = {model_class}.from_pretrained("{checkpoint}")
    >>> processor = AutoProcessor.from_pretrained("{checkpoint}")

    >>> messages = [
    ...     {{
    ...         "role": "user", "content": [
    ...             {{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"}},
    ...             {{"type": "text", "text": "Where is the cat standing?"}},
    ...         ]
    ...     }},
    ... ]

    >>> inputs = processor.apply_chat_template(
    ...     messages,
    ...     tokenize=True,
    ...     return_dict=True,
    ...     return_tensors="pt",
    ...     add_generation_prompt=True
    ... )
    >>> # Generate
    >>> generate_ids = model.generate(**inputs)
    >>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]
    ```
útext-to-audio-spectrogramútext-to-audio-waveformúautomatic-speech-recognitionúaudio-frame-classificationúaudio-classificationúaudio-xvectorúimage-text-to-textúdepth-estimationúvideo-classificationúzero-shot-image-classificationúimage-classificationúzero-shot-object-detectionúobject-detectionúimage-segmentationúimage-feature-extractionútext-generationútable-question-answeringúdocument-question-answeringúnext-sentence-predictionúmultiple-choiceútext-classificationútoken-classificationú	fill-maskúmask-generationÚpretraining))Ú+MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMESrw   )Ú(MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMESrx   )Ú(MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMESry   )ÚMODEL_FOR_CTC_MAPPING_NAMESry   )Ú2MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMESrz   )Ú,MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMESr{   )Ú%MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMESr|   )Ú*MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMESr}   )Ú(MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMESr~   )Ú,MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING_NAMESr   )Ú6MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING_NAMESr€   )Ú,MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMESr�   )Ú2MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMESr‚   )Ú(MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMESrƒ   )Ú*MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMESr„   )ÚMODEL_FOR_IMAGE_MAPPING_NAMESr…   )Ú!MODEL_FOR_CAUSAL_LM_MAPPING_NAMESr†   )Ú0MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING_NAMESr‡   )Ú3MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMESrˆ   )Ú0MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING_NAMESr‰   )Ú'MODEL_FOR_MULTIPLE_CHOICE_MAPPING_NAMESrŠ   )Ú/MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMESr‹   )Ú,MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMESrŒ   )Ú!MODEL_FOR_MASKED_LM_MAPPING_NAMESr�   )Ú'MODEL_FOR_MASK_GENERATION_MAPPING_NAMESrŽ   )Ú#MODEL_FOR_PRETRAINING_MAPPING_NAMESr�   c                 óŠ   • UR                  5        H.  u  p#Ub  M
  SU-   S-   n[        R                  " SU S3SU 5      n M0     U $ )zg
Removes the lines testing an output with the doctest syntax in a code sample when it's set to `None`.
Ú{Ú}z\n([^\n]+)\n\s+z\nrJ   )ÚitemsrD   rO   )r<   ÚkwargsÚkeyÚvalueÚdoc_keys        r   Úfilter_outputs_from_exampler²   »  sO   € ð —l‘l–n‰
ˆØÑÙà˜‘)˜c‘/ˆÜ—F’F˜o¨g¨Y°bÐ9¸4ÀÓKŠ	ñ %ð Ðr   z[MASK]é   é   )Úprocessor_classÚ
checkpointr`   rX   ÚmaskÚqa_target_start_indexÚqa_target_end_indexÚ	model_clsÚmodalityÚexpected_outputÚexpected_lossÚreal_checkpointÚrevisionc                 óH   ^ ^^^^^^^^^	^
^^^• UUUU
U	UUUUU UUUU4S jnU$ )Nc                 ó²  >• Tc  U R                   R                  S5      S   OTn[        nUTTTTTTTTTSS.nSU;   d  SU;   a  TS:X  a  US   nOÎSU;   a  US   nOÂSU;   a  US   nO¶S	U;   a  US	   nOªS
U;   a  US
   nOžSU;   d  US;   a  US   nOŒSU;   d  SU;   a  US   nOzSU;   a  US   nOnSU;   a  US   nObSU;   a  TS:X  a  US   nOPSU;   a  TS:X  a  US   nO>SU;   a  TS:X  a  US   nO,SU;   d  SU;   a  US   nOSU;   a  US   nO[        SU 35      e[	        UTTS9nTb	  [
        U-   nU R                  =(       d    SSR                  T
5      -   nTc  SO[        TT	5      nUR                  " S#0 UD6nTbH  [        R                  " ST5      (       a  [        ST S35      eUR                  S T S!3S T S"T S!35      nXV-   U-   U l        U $ )$Nr%   r   z{true})Úmodel_classrµ   r¶   r·   r¸   r¹   r¼   r½   r¾   Úfake_checkpointÚtrueri   rr   Úaudiorj   rk   rl   rm   )ÚFlaubertWithLMHeadModelÚXLMWithLMHeadModelrn   ÚCausalLMrq   rs   ÚXVectorrt   ÚModelrp   Úvisionru   ÚEncoderro   rv   z#Docstring can't be built for model )r¼   r½   r   z^refs/pr/\\d+zThe provided revision 'zW' is incorrect. It should point to a pull request reference on the hub like 'refs/pr/6'zfrom_pretrained("z")z", revision="r   )r-   r.   ÚPT_SAMPLE_DOCSTRINGSrZ   r²   ÚFAKE_MODEL_DISCLAIMERr   r   rh   r^   rD   ÚmatchÚreplace)r   rÂ   Úsample_docstringsÚ
doc_kwargsÚcode_sampleÚfunc_docÚ
output_docÚ	built_docr¶   rX   r   r½   r¼   r·   r»   rº   r`   rµ   r¹   r¸   r¾   r¿   s           €€€€€€€€€€€€€€r   r   Ú7add_code_sample_docstrings.<locals>.docstring_decoratorÙ  s’  ø€ à7@Ñ7H�b—o‘o×+Ñ+¨CÓ0°Ò3Èiˆä0Ðð 'Ø.Ø$ØØ%:Ø#6Ø.Ø*Ø.Ø)Øñ
ˆ
ð %¨Ó3Ð7LÐP[Ó7[ÐaiÐmtÓatØ+Ð,AÑB‰KØ%¨Ó4Ø+Ð,DÑE‰KØ  KÓ/Ø+Ð,?Ñ@‰KØ" kÓ1Ø+Ð,AÑB‰KØ Ó,Ø+Ð,<Ñ=‰KØ˜;Ó&¨+Ð9jÓ*jØ+¨JÑ7‰KØ˜Ó$¨
°kÓ(AØ+¨HÑ5‰KØ�kÓ!Ø+¨EÑ2‰KØ'¨;Ó6Ø+Ð,FÑG‰KØ˜+Ó%¨(°gÓ*=Ø+¨NÑ;‰KØ˜Ó#¨°GÓ(;Ø+Ð,=Ñ>‰KØ˜Ó#¨°HÓ(<Ø+Ð,=Ñ>‰KØ˜Ó# y°KÓ'?Ø+¨KÑ8‰KØ" kÓ1Ø+Ð,AÑB‰KäÐBÀ;À-ÐPÓQÐQä1Ø¨Èñ
ˆð Ñ&Ü/°+Ñ=ˆKØ—J‘J×$ "¨¯©°«Ñ7ˆØ&Ñ.‘RÔ4NÈ{Ð\hÓ4iˆ
Ø×&Ò&Ñ4¨Ñ4ˆ	ØÑÜ�xŠxÐ(¨(×3Ñ3Ü Ø-¨h¨Zð 8Lð Lóð ð "×)Ñ)Ø# J <¨rÐ2Ð6GÈ
À|ÐS`ÐaiÐ`jÐjlÐ4móˆIð Ñ*¨YÑ6ˆŒ
Øˆ	r   r   )rµ   r¶   r`   rX   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   r   r   s   `````````````` r   Úadd_code_sample_docstringsrØ   É  s   ÿý€ ÷ I÷ Iò IðV Ðr   c                 ó   ^ ^• UU 4S jnU$ )Nc                 ó®  >• U R                   nUR                  S5      nSnU[        U5      :  aJ  [        R                  " SX#   5      c0  US-  nU[        U5      :  a  [        R                  " SX#   5      c  M0  U[        U5      :  a5  [        [        X#   5      5      n[        TTUS9X#'   SR                  U5      nO[        SU  SU 35      eXl         U $ )NrJ   r   z^\s*Returns?:\s*$rV   )ra   zThe function ze should have an empty 'Return:' or 'Returns:' in its docstring as placeholder, current docstring is:
)	r   r.   r   rD   rE   rH   rh   r   rZ   )r   rÔ   re   rS   r2   rX   r`   s        €€r   r   Ú6replace_return_docstrings.<locals>.docstring_decorator(  sÐ   ø€ Ø—:‘:ˆØ—‘˜tÓ$ˆØˆØ”#�e“*‹n¤§¢Ð+?ÀÁÓ!JÑ!RØ�‰FˆAð ”#�e“*‹n¤§¢Ð+?ÀÁÓ!JÓ!RàŒs�5‹z‹>Üœ U¡XÓ.Ó/ˆFÜ1°+¸|ÐX^Ñ_ˆE‰HØ—y‘y Ó'‰HäØ ˜tð $*Ø*2¨ð5óð ð Œ
Øˆ	r   r   )r`   rX   r   s   `` r   Úreplace_return_docstringsrÜ   '  s   ù€ öð$ Ðr   c                 ó  • [         R                  " U R                  U R                  U R                  U R
                  U R                  S9n[        [         R                  [        R                  " X5      5      nU R                  Ul
        U$ )zReturns a copy of a function f.)ÚnameÚargdefsÚclosure)ÚtypesÚFunctionTypeÚ__code__Ú__globals__r[   Ú__defaults__Ú__closure__r   Ú	functoolsÚupdate_wrapperÚ__kwdefaults__)ÚfÚgs     r   Ú	copy_funcrì   =  sc   € ô 	×Ò˜1Ÿ:™: q§}¡}¸1¿:¹:ÈqÏ~É~Ðgh×gtÑgtÑu€AÜŒU×Ñ¤×!9Ò!9¸!Ó!?Ó@€AØ×'Ñ'€AÔØ€Hr   )NT)NN)Dr   rç   r   rD   r1   rá   Úcollectionsr   Útypingr   r   r!   r>   rB   r]   rH   rT   rh   rÎ   ÚPT_TOKEN_CLASSIFICATION_SAMPLEÚPT_QUESTION_ANSWERING_SAMPLEÚ!PT_SEQUENCE_CLASSIFICATION_SAMPLEÚPT_MASKED_LM_SAMPLEÚPT_BASE_MODEL_SAMPLEÚPT_MULTIPLE_CHOICE_SAMPLEÚPT_CAUSAL_LM_SAMPLEÚPT_SPEECH_BASE_MODEL_SAMPLEÚPT_SPEECH_CTC_SAMPLEÚPT_SPEECH_SEQ_CLASS_SAMPLEÚPT_SPEECH_FRAME_CLASS_SAMPLEÚPT_SPEECH_XVECTOR_SAMPLEÚPT_VISION_BASE_MODEL_SAMPLEÚPT_VISION_SEQ_CLASS_SAMPLErÍ   Ú TEXT_TO_AUDIO_SPECTROGRAM_SAMPLEÚTEXT_TO_AUDIO_WAVEFORM_SAMPLEÚ!AUDIO_FRAME_CLASSIFICATION_SAMPLEÚAUDIO_XVECTOR_SAMPLEÚDEPTH_ESTIMATION_SAMPLEÚVIDEO_CLASSIFICATION_SAMPLEÚ!ZERO_SHOT_OBJECT_DETECTION_SAMPLEÚIMAGE_TO_IMAGE_SAMPLEÚIMAGE_FEATURE_EXTRACTION_SAMPLEÚ"DOCUMENT_QUESTION_ANSWERING_SAMPLEÚNEXT_SENTENCE_PREDICTION_SAMPLEÚMULTIPLE_CHOICE_SAMPLEÚPRETRAINING_SAMPLEÚMASK_GENERATION_SAMPLEÚ VISUAL_QUESTION_ANSWERING_SAMPLEÚTEXT_GENERATION_SAMPLEÚIMAGE_CLASSIFICATION_SAMPLEÚIMAGE_SEGMENTATION_SAMPLEÚFILL_MASK_SAMPLEÚOBJECT_DETECTION_SAMPLEÚQUESTION_ANSWERING_SAMPLEÚTEXT_CLASSIFICATION_SAMPLEÚTABLE_QUESTION_ANSWERING_SAMPLEÚTOKEN_CLASSIFICATION_SAMPLEÚAUDIO_CLASSIFICATION_SAMPLEÚ#AUTOMATIC_SPEECH_RECOGNITION_SAMPLEÚ%ZERO_SHOT_IMAGE_CLASSIFICATION_SAMPLEÚ$IMAGE_TEXT_TO_TEXT_GENERATION_SAMPLEÚ#PIPELINE_TASKS_TO_SAMPLE_DOCSTRINGSÚMODELS_TO_PIPELINEr²   rØ   rÜ   rì   r   r   r   Ú<module>r     s+  ðñó Û Û 	Û Û Ý #Ý ò"òò!òHðÐ ò8òô41ðhÐ ð"Ð ðB  Ð ðD8%Ð !ðtÐ ð@Ð ð"Ð ð0Ð ð"Ð ð4!Ð ðF!Ð ðH Ð ð:!Ð ðFÐ ð2Ð ð8 @Ø5Ø9Ø/Ø#Ø!Ø%Ø2ØØ5Ø <Ø,Ø2Ø5ñÐ ð$$Ð  ð$!Ð ð" %AÐ !ð 0Ð ð Ð ðFÐ ð%Ð !ðÐ ð#Ð ð&Ð "ð#Ð ð 3Ð ðÐ ðÐ ð$Ð  ðÐ ð 9Ð ðÐ ðÐ ðÐ ð 9Ð ð ?Ð ð#Ð ð =Ð ð 9Ð ð ';Ð #ð)Ð %ð(Ð $ñB '2à	$Ð&FÐGØ	!Ð#@ÐAØ	'Ð)LÐMØ	%Ð'HÐIØ	Ð!<Ð=Ø	Ð.Ð/Ø	ÐCÐDØ	Ð4Ð5Ø	Ð!<Ð=Ø	)Ð+PÐQØ	Ð!<Ð=Ø	%Ð'HÐIØ	Ð4Ð5Ø	Ð8Ð9Ø	#Ð%DÐEØ	Ð2Ð3Ø	#Ð%DÐEØ	&Ð(JÐKØ	#Ð%DÐEØ	Ð2Ð3Ø	Ð :Ð;Ø	Ð!<Ð=Ø	Ð&Ð'Ø	Ð2Ð3Ø	Ð*Ð+ð3ó'Ð #ñ@ !òó Ð òFð  ØØØØ	ØØØØØØØØõ[ô|ó,r   