📝 open fresh PR for pipeline doctests (#17073)
This commit is contained in:
@@ -39,7 +39,9 @@ While each task has an associated [`pipeline`], it is simpler to use the general
|
|||||||
2. Pass your input text to the [`pipeline`]:
|
2. Pass your input text to the [`pipeline`]:
|
||||||
|
|
||||||
```py
|
```py
|
||||||
>>> generator("Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone")
|
>>> generator(
|
||||||
|
... "Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone"
|
||||||
|
... ) # doctest: +SKIP
|
||||||
[{'generated_text': 'Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Seven for the Iron-priests at the door to the east, and thirteen for the Lord Kings at the end of the mountain'}]
|
[{'generated_text': 'Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Seven for the Iron-priests at the door to the east, and thirteen for the Lord Kings at the end of the mountain'}]
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -51,7 +53,7 @@ If you have more than one input, pass your input as a list:
|
|||||||
... "Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone",
|
... "Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone",
|
||||||
... "Nine for Mortal Men, doomed to die, One for the Dark Lord on his dark throne",
|
... "Nine for Mortal Men, doomed to die, One for the Dark Lord on his dark throne",
|
||||||
... ]
|
... ]
|
||||||
... )
|
... ) # doctest: +SKIP
|
||||||
```
|
```
|
||||||
|
|
||||||
Any additional parameters for your task can also be included in the [`pipeline`]. The `text-generation` task has a [`~generation_utils.GenerationMixin.generate`] method with several parameters for controlling the output. For example, if you want to generate more than one output, set the `num_return_sequences` parameter:
|
Any additional parameters for your task can also be included in the [`pipeline`]. The `text-generation` task has a [`~generation_utils.GenerationMixin.generate`] method with several parameters for controlling the output. For example, if you want to generate more than one output, set the `num_return_sequences` parameter:
|
||||||
@@ -60,7 +62,7 @@ Any additional parameters for your task can also be included in the [`pipeline`]
|
|||||||
>>> generator(
|
>>> generator(
|
||||||
... "Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone",
|
... "Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone",
|
||||||
... num_return_sequences=2,
|
... num_return_sequences=2,
|
||||||
... )
|
... ) # doctest: +SKIP
|
||||||
```
|
```
|
||||||
|
|
||||||
### Choose a model and tokenizer
|
### Choose a model and tokenizer
|
||||||
@@ -85,7 +87,9 @@ Create a [`pipeline`] for your task, and specify the model and tokenizer you've
|
|||||||
Pass your input text to the [`pipeline`] to generate some text:
|
Pass your input text to the [`pipeline`] to generate some text:
|
||||||
|
|
||||||
```py
|
```py
|
||||||
>>> generator("Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone")
|
>>> generator(
|
||||||
|
... "Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone"
|
||||||
|
... ) # doctest: +SKIP
|
||||||
[{'generated_text': 'Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Seven for the Dragon-lords (for them to rule in a world ruled by their rulers, and all who live within the realm'}]
|
[{'generated_text': 'Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Seven for the Dragon-lords (for them to rule in a world ruled by their rulers, and all who live within the realm'}]
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -93,7 +97,18 @@ Pass your input text to the [`pipeline`] to generate some text:
|
|||||||
|
|
||||||
The flexibility of the [`pipeline`] means it can also be extended to audio tasks.
|
The flexibility of the [`pipeline`] means it can also be extended to audio tasks.
|
||||||
|
|
||||||
For example, let's classify the emotion from a short clip of John F. Kennedy's famous ["We choose to go to the Moon"](https://en.wikipedia.org/wiki/We_choose_to_go_to_the_Moon) speech. Find an [audio classification](https://huggingface.co/models?pipeline_tag=audio-classification) model on the Model Hub for emotion recognition and load it in the [`pipeline`]:
|
For example, let's classify the emotion in this audio clip:
|
||||||
|
|
||||||
|
```py
|
||||||
|
>>> from datasets import load_dataset
|
||||||
|
>>> import torch
|
||||||
|
|
||||||
|
>>> torch.manual_seed(42) # doctest: +IGNORE_RESULT
|
||||||
|
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
|
||||||
|
>>> audio_file = ds[0]["audio"]["path"]
|
||||||
|
```
|
||||||
|
|
||||||
|
Find an [audio classification](https://huggingface.co/models?pipeline_tag=audio-classification) model on the Model Hub for emotion recognition and load it in the [`pipeline`]:
|
||||||
|
|
||||||
```py
|
```py
|
||||||
>>> from transformers import pipeline
|
>>> from transformers import pipeline
|
||||||
@@ -106,12 +121,10 @@ For example, let's classify the emotion from a short clip of John F. Kennedy's f
|
|||||||
Pass the audio file to the [`pipeline`]:
|
Pass the audio file to the [`pipeline`]:
|
||||||
|
|
||||||
```py
|
```py
|
||||||
>>> audio_classifier("jfk_moon_speech.wav")
|
>>> preds = audio_classifier(audio_file)
|
||||||
[{'label': 'calm', 'score': 0.13856211304664612},
|
>>> preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]
|
||||||
{'label': 'disgust', 'score': 0.13148026168346405},
|
>>> preds
|
||||||
{'label': 'happy', 'score': 0.12635163962841034},
|
[{'score': 0.1315, 'label': 'calm'}, {'score': 0.1307, 'label': 'neutral'}, {'score': 0.1274, 'label': 'sad'}, {'score': 0.1261, 'label': 'fearful'}, {'score': 0.1242, 'label': 'happy'}]
|
||||||
{'label': 'angry', 'score': 0.12439591437578201},
|
|
||||||
{'label': 'fearful', 'score': 0.12404385954141617}]
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Vision pipeline
|
## Vision pipeline
|
||||||
@@ -126,14 +139,10 @@ Specify your vision task and pass your image to the classifier. The imaage can b
|
|||||||
>>> from transformers import pipeline
|
>>> from transformers import pipeline
|
||||||
|
|
||||||
>>> vision_classifier = pipeline(task="image-classification")
|
>>> vision_classifier = pipeline(task="image-classification")
|
||||||
>>> vision_classifier(
|
>>> preds = vision_classifier(
|
||||||
... images="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
|
... images="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
|
||||||
... )
|
... )
|
||||||
[{'label': 'lynx, catamount', 'score': 0.4403027892112732},
|
>>> preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]
|
||||||
{'label': 'cougar, puma, catamount, mountain lion, painter, panther, Felis concolor',
|
>>> preds
|
||||||
'score': 0.03433405980467796},
|
[{'score': 0.4335, 'label': 'lynx, catamount'}, {'score': 0.0348, 'label': 'cougar, puma, catamount, mountain lion, painter, panther, Felis concolor'}, {'score': 0.0324, 'label': 'snow leopard, ounce, Panthera uncia'}, {'score': 0.0239, 'label': 'Egyptian cat'}, {'score': 0.0229, 'label': 'tiger cat'}]
|
||||||
{'label': 'snow leopard, ounce, Panthera uncia',
|
|
||||||
'score': 0.032148055732250214},
|
|
||||||
{'label': 'Egyptian cat', 'score': 0.02353910356760025},
|
|
||||||
{'label': 'tiger cat', 'score': 0.023034192621707916}]
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
docs/source/en/quicktour.mdx
|
docs/source/en/quicktour.mdx
|
||||||
docs/source/es/quicktour.mdx
|
docs/source/es/quicktour.mdx
|
||||||
|
docs/source/en/pipeline_tutorial.mdx
|
||||||
|
docs/source/en/autoclass_tutorial.mdx
|
||||||
docs/source/en/task_summary.mdx
|
docs/source/en/task_summary.mdx
|
||||||
docs/source/en/model_doc/speech_to_text.mdx
|
docs/source/en/model_doc/speech_to_text.mdx
|
||||||
docs/source/en/model_doc/t5.mdx
|
docs/source/en/model_doc/t5.mdx
|
||||||
|
|||||||
Reference in New Issue
Block a user