Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
transformers
Commits
972535ea
"...git@developer.sourcefind.cn:chenpangpang/transformers.git" did not exist on "24d5ad1dcceee736ac829ec316fa3320e4df0064"
Unverified
Commit
972535ea
authored
Aug 04, 2020
by
Joe Davison
Committed by
GitHub
Aug 04, 2020
Browse files
fix zero shot pipeline docs (#6245)
parent
5920a37a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
5 deletions
+15
-5
docs/source/main_classes/pipelines.rst
docs/source/main_classes/pipelines.rst
+8
-0
src/transformers/__init__.py
src/transformers/__init__.py
+1
-0
src/transformers/pipelines.py
src/transformers/pipelines.py
+6
-5
No files found.
docs/source/main_classes/pipelines.rst
View file @
972535ea
...
@@ -20,6 +20,7 @@ There are two categories of pipeline abstractions to be aware about:
...
@@ -20,6 +20,7 @@ There are two categories of pipeline abstractions to be aware about:
- :class:`~transformers.TextGenerationPipeline`
- :class:`~transformers.TextGenerationPipeline`
- :class:`~transformers.TokenClassificationPipeline`
- :class:`~transformers.TokenClassificationPipeline`
- :class:`~transformers.TranslationPipeline`
- :class:`~transformers.TranslationPipeline`
- :class:`~transformers.ZeroShotClassificationPipeline`
The pipeline abstraction
The pipeline abstraction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
@@ -97,6 +98,13 @@ TokenClassificationPipeline
...
@@ -97,6 +98,13 @@ TokenClassificationPipeline
:special-members: __call__
:special-members: __call__
:members:
:members:
ZeroShotClassificationPipeline
==========================================
.. autoclass:: transformers.ZeroShotClassificationPipeline
:special-members: __call__
:members:
Parent class: :obj:`Pipeline`
Parent class: :obj:`Pipeline`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
...
src/transformers/__init__.py
View file @
972535ea
...
@@ -120,6 +120,7 @@ from .pipelines import (
...
@@ -120,6 +120,7 @@ from .pipelines import (
TextGenerationPipeline
,
TextGenerationPipeline
,
TokenClassificationPipeline
,
TokenClassificationPipeline
,
TranslationPipeline
,
TranslationPipeline
,
ZeroShotClassificationPipeline
,
pipeline
,
pipeline
,
)
)
...
...
src/transformers/pipelines.py
View file @
972535ea
...
@@ -1033,30 +1033,31 @@ class ZeroShotClassificationPipeline(Pipeline):
...
@@ -1033,30 +1033,31 @@ class ZeroShotClassificationPipeline(Pipeline):
Classify the sequence(s) given as inputs.
Classify the sequence(s) given as inputs.
Args:
Args:
sequences (:obj:`str` or obj:`List[str]`):
sequences (:obj:`str` or
:
obj:`List[str]`):
The sequence(s) to classify, will be truncated if the model input is too large.
The sequence(s) to classify, will be truncated if the model input is too large.
candidate_labels (:obj:`str` or obj:`List[str]`):
candidate_labels (:obj:`str` or
:
obj:`List[str]`):
The set of possible class labels to classify each sequence into. Can be a single label, a string of
The set of possible class labels to classify each sequence into. Can be a single label, a string of
comma-separated labels, or a list of labels.
comma-separated labels, or a list of labels.
hypothesis_template (obj:`str`, `optional`, defaults to :obj:`"This example is {}."`):
hypothesis_template (
:
obj:`str`, `optional`, defaults to :obj:`"This example is {}."`):
The template used to turn each label into an NLI-style hypothesis. This template must include a {}
The template used to turn each label into an NLI-style hypothesis. This template must include a {}
or similar syntax for the candidate label to be inserted into the template. For example, the default
or similar syntax for the candidate label to be inserted into the template. For example, the default
template is :obj:`"This example is {}."` With the candidate label :obj:`"sports"`, this would be fed
template is :obj:`"This example is {}."` With the candidate label :obj:`"sports"`, this would be fed
into the model like :obj:`"<cls> sequence to classify <sep> This example is sports . <sep>"`. The
into the model like :obj:`"<cls> sequence to classify <sep> This example is sports . <sep>"`. The
default template works well in many cases, but it may be worthwhile to experiment with different
default template works well in many cases, but it may be worthwhile to experiment with different
templates depending on the task setting.
templates depending on the task setting.
multi_class (obj:`bool`, `optional`, defaults to :obj:`False`):
multi_class (
:
obj:`bool`, `optional`, defaults to :obj:`False`):
Whether or not multiple candidate labels can be true. If :obj:`False`, the scores are normalized
Whether or not multiple candidate labels can be true. If :obj:`False`, the scores are normalized
such that the sum of the label likelihoods for each sequence is 1. If :obj:`True`, the labels are
such that the sum of the label likelihoods for each sequence is 1. If :obj:`True`, the labels are
considered independent and probabilities are normalized for each candidate by doing a softmax of
considered independent and probabilities are normalized for each candidate by doing a softmax of
the entailment score vs. the contradiction score.
the entailment score vs. the contradiction score.
Return:
Return:
A :obj:`dict` or a list of :obj:`dict`: Each result comes as a dictionary with the
A :obj:`dict` or a list of :obj:`dict`: Each result comes as a dictionary with the
following keys:
following keys:
- **sequence** (:obj:`str`) -- The sequence for which this is the output.
- **sequence** (:obj:`str`) -- The sequence for which this is the output.
- **labels** (:obj:`List[str]`) -- The labels sorted by order of likelihood.
- **labels** (:obj:`List[str]`) -- The labels sorted by order of likelihood.
- **scores** (:obj:`
List[float]`) -- The probabilities for each of the labels.
- **scores** (:obj:`List[float]`) -- The probabilities for each of the labels.
"""
"""
outputs
=
super
().
__call__
(
sequences
,
candidate_labels
,
hypothesis_template
)
outputs
=
super
().
__call__
(
sequences
,
candidate_labels
,
hypothesis_template
)
num_sequences
=
1
if
isinstance
(
sequences
,
str
)
else
len
(
sequences
)
num_sequences
=
1
if
isinstance
(
sequences
,
str
)
else
len
(
sequences
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment