Ë
    Hêñið�  ã                   ó8  — d Z ddlZddlZddlZddlZddlZddlmZ ddlm	Z	 d„ Z
d„ Zd„ Zd„ Zd	Zd
„ Zd„ ZdDd„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eeeeeeeeeeeee dœZ!dZ"dZ#eZ$eZ%dZ&d Z'd Z(d Z)d Z*d Z+d Z,eZ-d Z.d Z/d Z0d Z1e Z2d Z3d Z4d Z5eZ6eZ7d Z8eZ9eZ:eZ;d Z<d!Z= ed"e"fd#e#fd$e;fd%e$fd&e:fd'e%fd(e=fd)e&fd*e'fd+e<fd,e2fd-e(fd.e5fd/e3fd0e*fd1e1fd2e8fd3e+fd4e,fd5e-fd6e7fd7e9fd8e4fd9e/fd:e.fg«      Z> eg d;¢«      Z?d<„ Z@ddddd=d>d?ddddddd@œdA„ZAdEdB„ZBdC„ ZCy)Fz3
Doc utilities: Utilities related to documentation
é    N)ÚOrderedDict)Úcastc                 óÒ   — t        j                  | «      ryt        j                  | «      }|j                  «       d   }t	        |«      t	        |j                  «       «      z
  }d|z   S )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       úX/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/transformers/utils/doc.pyÚget_docstring_indentation_levelr      s_   € ô ‡��tÔØÜ×Ñ˜tÓ$€FØ×"Ñ"Ó$ QÑ'€JÜ˜Z›¬3¨z×/@Ñ/@Ó/BÓ+CÑCÐØÐ!Ñ!Ð!ó    c                  ó   ‡ — ˆ fd„}|S )Nc                 ój   •— dj                  ‰«      | j                  �| j                  ndz   | _        | S ©NÚ )ÚjoinÚ__doc__©ÚfnÚdocstrs    €r   Údocstring_decoratorz1add_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                  ó   ‡ — ˆ fd„}|S )Nc                 ót  •— d| j                   j                  d«      d   › d�}d|› d�}t        | «      }| j                  �| j                  nd}	 t	        d„ |j                  «       D «       «      }t        |«      t        |j                  «       «      z
  }‰
}|d	|z   k(  re‰
D �cg c].  }t        j                  t        j                  |«      d
|z  «      ‘Œ0 }}t        j                  t        j                  |«      d
|z  «      }dj                  |«      |z   }	||	z   | _        | S # t        $ r |}Y Œœw xY wc c}w )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   óH   K  — | ]  }|j                  «       d k7  sŒ|–— Œ y­w)r   N)Ústrip)Ú.0Úlines     r   ú	<genexpr>zUadd_start_docstrings_to_model_forward.<locals>.docstring_decorator.<locals>.<genexpr>?   s"   è ø€ Ò"c¨DÐPT×PZÑPZÓP\Ð`bÓPb¤4Ñ"cù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   zBadd_start_docstrings_to_model_forward.<locals>.docstring_decorator/   s7  ø€ Ø˜"Ÿ/™/×/Ñ/°Ó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ÐY\”H—O‘O¤H§O¡O°CÓ$8¸#Ð@SÑ:SÕTÐgˆDÐgÜ—O‘O¤H§O¡O°EÓ$:¸CÐBUÑ<UÓVˆEà—G‘G˜D“M KÑ/ˆ	Ø˜YÑ&ˆŒ
Øˆ	øô ò 	2Ø1ŠOð	2üò hs   ÁAD$ Â#3D5Ä$D2Ä1D2r   r   s   ` r   Ú%add_start_docstrings_to_model_forwardr;   .   s   ø€ ôð@ Ðr   c                  ó   ‡ — ˆ fd„}|S )Nc                 ój   •— | j                   �| j                   nddj                  ‰«      z   | _         | S r   )r   r   r   s    €r   r   z/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_docstringsr>   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                 ó\   — t        j                  d| «      }|€dS |j                  «       d   S )z.Returns the indentation in the first line of tz^(\s*)\Sr   r   )ÚreÚsearchÚgroups)ÚtrA   s     r   Ú_get_indentrD   c   s,   € ä�Y‰Y�{ AÓ&€FØ�ˆ2Ð7 V§]¡]£_°QÑ%7Ð7r   c                 ó¾  — t        | «      }g }d}| j                  d«      D ]C  }t        |«      |k(  r(t        |«      dkD  r|j                  |dd «       |› d�}Œ9||dd › d�z  }ŒE |j                  |dd «       t	        t        |«      «      D ]<  }t        j                  dd||   «      ||<   t        j                  d	d
||   «      ||<   Œ> dj                  |«      S )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)rD   r,   r   ÚappendÚranger@   Úsubr   )Úoutput_args_docr0   ÚblocksÚcurrent_blockr(   Úis         r   Ú_convert_output_args_docrP   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“;Óò CˆÜ—F‘FÐ.°ÀÈÁÓKˆˆq‰	Ü—F‘FÐ+¨Y¸¸q¹	ÓBˆˆqŠ	ðCð �9‰9�VÓÐr   c                 ól  — | j                   }d}|�³|j                  d«      }d}|t        |«      k  rFt        j                  d||   «      €-|dz  }|t        |«      k  rt        j                  d||   «      €Œ-|t        |«      k  r#dj                  ||dz   d «      }t        |«      }n|rt        d| j                  › d�«      ‚|r3| j                  › d| j                  › �}t        j                  ||¬	«      }	nt        | «      }d
|› d�}	|�|	dz  }	|	}
|�|
|z  }
|�“|
j                  d«      }d}t        ||   «      dk(  r|dz  }t        ||   «      dk(  rŒt        t        ||   «      «      }||k  r<d||z
  z  }|D �cg c]  }t        |«      dkD  r|› |› �n|‘Œ }}dj                  |«      }
|
S c c}w )zH
    Prepares the return part of the docstring using `output_type`.
    NrF   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   r@   rA   r   rP   Ú
ValueErrorÚ__name__Ú
__module__ÚPT_RETURN_INTRODUCTIONÚformatÚstrrD   )Úoutput_typerT   Ú
min_indentÚ	add_introÚoutput_docstringÚparams_docstringÚlinesrO   rS   r3   Úresultr0   Úto_addr(   s                 r   Ú_prepare_output_docstringsrd   ƒ   s
  € ð #×*Ñ*ÐØÐØÐ#à ×&Ñ& tÓ,ˆØˆØ”#�e“*Šn¤§¡Ð+HÈ%ÐPQÉ(Ó!SÐ![Ø�‰FˆAð ”#�e“*Šn¤§¡Ð+HÈ%ÐPQÉ(Ó!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Ð^jÐ-Ók‰ä˜{Ó+ÐØ#Ð$4Ð#5°QÐ7ˆØÐ'Ø�U‰NˆEà€FØÐ#ØÐ"Ñ"ˆð ÐØ—‘˜TÓ"ˆàˆÜ�%˜‘(‹m˜qÒ Ø�‰FˆAô �%˜‘(‹m˜qÓ ä”[  q¡Ó*Ó+ˆà�JÒØ˜J¨Ñ/Ñ0ˆFØPUÖVÈ¬3¨t«9°qª=˜˜  Ñ'¸dÑBÐVˆEÐVØ—Y‘Y˜uÓ%ˆFà€Mùò Ws   Å?F1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_NAMESrs   )Ú(MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMESrt   )Ú(MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMESru   )ÚMODEL_FOR_CTC_MAPPING_NAMESru   )Ú2MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMESrv   )Ú,MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMESrw   )Ú%MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMESrx   )Ú*MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMESry   )Ú(MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMESrz   )Ú,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                 ó‚   — |j                  «       D ]+  \  }}|�Œ	d|z   dz   }t        j                  d|› d�d| «      } Œ- | S )zo
    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\nrF   )Úitemsr@   rK   )r:   ÚkwargsÚkeyÚvalueÚdoc_keys        r   Úfilter_outputs_from_exampler®   »  sX   € ð —l‘l“nò L‰
ˆˆUØÐØà˜‘)˜c‘/ˆÜ—F‘F˜o¨g¨Y°bÐ9¸4ÀÓK‰	ðLð Ðr   z[MASK]é   é   )Úprocessor_classÚ
checkpointr\   rT   ÚmaskÚqa_target_start_indexÚqa_target_end_indexÚ	model_clsÚmodalityÚexpected_outputÚexpected_lossÚreal_checkpointÚrevisionc                 óF   ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡— ˆˆˆˆ
ˆ	ˆˆˆˆˆ ˆˆˆˆfd„}|S )Nc                 óL  •— ‰€| j                   j                  d«      d   n‰}t        }|‰‰‰‰‰‰‰‰‰ddœ}d|v sd|v r‰dk(  r|d   }n«d|v r|d   }n¡d|v r|d   }n—d	|v r|d	   }n�d
|v r|d
   }nƒd|v s|dv r|d   }nud|v sd|v r|d   }ngd|v r|d   }n]d|v r|d   }nSd|v r‰dk(  r|d   }nDd|v r‰dk(  r|d   }n5d|v r‰dk(  r|d   }n&d|v sd|v r|d   }nd|v r|d   }nt        d|› �«      ‚t	        |‰‰¬«      }‰�	t
        |z   }| j                  xs ddj                  ‰
«      z   }‰€dnt        ‰‰	«      } |j                  d#i |¤Ž}‰�Bt        j                  d‰«      rt        d‰› d�«      ‚|j                  d ‰› d!�d ‰› d"‰› d!�«      }||z   |z   | _        | S )$Nr$   r   z{true})Úmodel_classr±   r²   r³   r´   rµ   r¸   r¹   rº   Úfake_checkpointÚtruere   rn   Úaudiorf   rg   rh   ri   )ÚFlaubertWithLMHeadModelÚXLMWithLMHeadModelrj   ÚCausalLMrm   ro   ÚXVectorrp   ÚModelrl   Úvisionrq   ÚEncoderrk   rr   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_DOCSTRINGSrV   r®   ÚFAKE_MODEL_DISCLAIMERr   r   rd   rZ   r@   ÚmatchÚreplace)r   r¾   Úsample_docstringsÚ
doc_kwargsÚcode_sampleÚfunc_docÚ
output_docÚ	built_docr²   rT   r   r¹   r¸   r³   r·   r¶   r\   r±   rµ   r´   rº   r»   s           €€€€€€€€€€€€€€r   r   z7add_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ˆ
Ø&�K×&Ñ&Ñ4¨Ñ4ˆ	ØÐÜ�x‰xÐ(¨(Ô3Ü Ø-¨h¨Zð 8Lð Lóð ð "×)Ñ)Ø# J <¨rÐ2Ð6GÈ
À|ÐS`ÐaiÐ`jÐjlÐ4móˆIð  
Ñ*¨YÑ6ˆŒ
Øˆ	r   r   )r±   r²   r\   rT   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r   r   s   `````````````` r   Úadd_code_sample_docstringsrÓ   É  s   ÿý€ ÷ I÷ Iñ IðV Ðr   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc                 ó®  •— | j                   }|j                  d«      }d}|t        |«      k  rFt        j                  d||   «      €-|dz  }|t        |«      k  rt        j                  d||   «      €Œ-|t        |«      k  r:t        t        ||   «      «      }t        ‰‰|¬«      ||<   dj                  |«      }nt        d| › d|› �«      ‚|| _         | S )NrF   r   z^\s*Returns?:\s*$rR   )r]   zThe function ze should have an empty 'Return:' or 'Returns:' in its docstring as placeholder, current docstring is:
)	r   r,   r   r@   rA   rD   rd   r   rV   )r   rÐ   ra   rO   r0   rT   r\   s        €€r   r   z6replace_return_docstrings.<locals>.docstring_decorator(  sÚ   ø€ Ø—:‘:ˆØ—‘˜tÓ$ˆØˆØ”#�e“*Šn¤§¡Ð+?ÀÀqÁÓ!JÐ!RØ�‰FˆAð ”#�e“*Šn¤§¡Ð+?ÀÀqÁÓ!JÑ!RàŒs�5‹zŠ>Üœ U¨1¡XÓ.Ó/ˆFÜ1°+¸|ÐX^Ô_ˆE�!‰HØ—y‘y Ó'‰HäØ ˜tð $*Ø*2¨ð5óð ð ˆŒ
Øˆ	r   r   )r\   rT   r   s   `` r   Úreplace_return_docstringsrÖ   '  s   ù€ õð$ Ðr   c                 ó  — t        j                  | j                  | j                  | j                  | j
                  | j                  ¬«      }t        t         j                  t        j                  || «      «      }| j                  |_
        |S )zReturns a copy of a function f.)ÚnameÚargdefsÚclosure)ÚtypesÚFunctionTypeÚ__code__Ú__globals__rW   Ú__defaults__Ú__closure__r   Ú	functoolsÚupdate_wrapperÚ__kwdefaults__)ÚfÚgs     r   Ú	copy_funcræ   =  se   € ô 	×Ñ˜1Ÿ:™: q§}¡}¸1¿:¹:ÈqÏ~É~Ðgh×gtÑgtÔu€AÜŒU×Ñ¤×!9Ñ!9¸!¸QÓ!?Ó@€AØ×'Ñ'€AÔØ€Hr   )NT)NN)Dr   rá   r   r@   r/   rÛ   Úcollectionsr   Útypingr   r   r    r;   r>   rY   rD   rP   rd   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   