@@ -30,6 +30,62 @@ research ideas. Detailed instructions can be found in READMEs in each folder.
30
30
* [ data/] ( data ) : binaries and utils for input preprocessing, tokenization,
31
31
etc.
32
32
33
+ ### Layers
34
+
35
+ Layers are the fundamental building blocks for NLP models. They can be used to
36
+ assemble new ` tf.keras ` layers or models.
37
+
38
+ | Layers |
39
+ | ------------ |
40
+ | [ BertPackInputs] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/BertPackInputs ) \| [ BertTokenizer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/BertTokenizer ) \| [ BigBirdAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/BigBirdAttention ) \| [ BigBirdMasks] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/BigBirdMasks ) \| [ BlockDiagFeedforward] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/BlockDiagFeedforward ) \| [ CachedAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/CachedAttention ) |
41
+ | [ ClassificationHead] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/ClassificationHead ) \| [ ExpertsChooseMaskedRouter] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/ExpertsChooseMaskedRouter ) \| [ FactorizedEmbedding] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/FactorizedEmbedding ) \| [ FastWordpieceBertTokenizer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/FastWordpieceBertTokenizer ) |
42
+ | [ FeedForwardExperts] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/FeedForwardExperts ) \| [ FourierTransformLayer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/FourierTransformLayer ) \| [ GatedFeedforward] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/GatedFeedforward ) \| [ GaussianProcessClassificationHead] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/GaussianProcessClassificationHead ) |
43
+ | [ HartleyTransformLayer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/HartleyTransformLayer ) \| [ KernelAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/KernelAttention ) \| [ KernelMask] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/KernelMask ) \| [ LinearTransformLayer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/LinearTransformLayer ) \| [ MaskedLM] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MaskedLM ) \| [ MaskedSoftmax] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MaskedSoftmax ) |
44
+ | [ MatMulWithMargin] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MatMulWithMargin ) \| [ MixingMechanism] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MixingMechanism ) \| [ MobileBertEmbedding] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MobileBertEmbedding ) \| [ MobileBertMaskedLM] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MobileBertMaskedLM ) |
45
+ | [ MobileBertTransformer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MobileBertTransformer ) \| [ MoeLayer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MoeLayer ) \| [ MoeLayerWithBackbone] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MoeLayerWithBackbone ) \| [ MultiChannelAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MultiChannelAttention ) \| [ MultiClsHeads] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MultiClsHeads ) |
46
+ | [ MultiHeadRelativeAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/MultiHeadRelativeAttention ) \| [ OnDeviceEmbedding] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/OnDeviceEmbedding ) \| [ PackBertEmbeddings] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/PackBertEmbeddings ) \| [ PerDimScaleAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/PerDimScaleAttention ) |
47
+ | [ PerQueryDenseHead] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/PerQueryDenseHead ) \| [ PositionEmbedding] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/PositionEmbedding ) \| [ RandomFeatureGaussianProcess] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/RandomFeatureGaussianProcess ) \| [ ReZeroTransformer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/ReZeroTransformer ) |
48
+ | [ RelativePositionBias] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/RelativePositionBias ) \| [ RelativePositionEmbedding] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/RelativePositionEmbedding ) \| [ ReuseMultiHeadAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/ReuseMultiHeadAttention ) \| [ ReuseTransformer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/ReuseTransformer ) |
49
+ | [ SelectTopK] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/SelectTopK ) \| [ SelfAttentionMask] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/SelfAttentionMask ) \| [ SentencepieceTokenizer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/SentencepieceTokenizer ) \| [ SpectralNormalization] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/SpectralNormalization ) |
50
+ | [ SpectralNormalizationConv2D] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/SpectralNormalizationConv2D ) \| [ StridedTransformerEncoderBlock] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/StridedTransformerEncoderBlock ) \| [ StridedTransformerScaffold] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/StridedTransformerScaffold ) |
51
+ | [ TNTransformerExpandCondense] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TNTransformerExpandCondense ) \| [ TalkingHeadsAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TalkingHeadsAttention ) \| [ TokenImportanceWithMovingAvg] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TokenImportanceWithMovingAvg ) \| [ Transformer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/Transformer ) |
52
+ | [ TransformerDecoderBlock] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TransformerDecoderBlock ) \| [ TransformerEncoderBlock] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TransformerEncoderBlock ) \| [ TransformerScaffold] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TransformerScaffold ) \| [ TransformerXL] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TransformerXL ) |
53
+ | [ TransformerXLBlock] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TransformerXLBlock ) \| [ get_mask] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/get_mask ) \| [ TwoStreamRelativeAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/TwoStreamRelativeAttention ) \| [ VotingAttention] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/VotingAttention ) \| [ extract_gp_layer_kwargs] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/extract_gp_layer_kwargs ) |
54
+ | [ extract_spec_norm_kwargs] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/layers/extract_spec_norm_kwargs ) |
55
+
56
+ ### Networks
57
+
58
+ Networks are combinations of ` tf.keras ` layers (and possibly other networks).
59
+ They are ` tf.keras ` models that would not be trained alone. It encapsulates
60
+ common network structures like a transformer encoder into an easily handled
61
+ object with a standardized configuration.
62
+
63
+ | Networks |
64
+ | -------------- |
65
+ | [ AlbertEncoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/AlbertEncoder ) \| [ BertEncoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/BertEncoder ) \| [ BertEncoderV2] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/BertEncoderV2 ) \| [ Classification] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/Classification ) \| [ EncoderScaffold] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/EncoderScaffold ) \| [ FNet] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/FNet ) \| [ MobileBERTEncoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/MobileBERTEncoder ) |
66
+ | [ FunnelTransformerEncoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/FunnelTransformerEncoder ) \| [ PackedSequenceEmbedding] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/PackedSequenceEmbedding ) \| [ SpanLabeling] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/SpanLabeling ) \| [ SparseMixer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/SparseMixer ) \| [ XLNetBase] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/XLNetBase ) |
67
+ | [ XLNetSpanLabeling] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/networks/XLNetSpanLabeling ) |
68
+
69
+ ### Models
70
+
71
+ Models are combinations of ` tf.keras ` layers and models that can be trained.
72
+ Several pre-built canned models are provided to train encoder networks. These
73
+ models are intended as both convenience functions and canonical examples.
74
+
75
+ | Models |
76
+ | ------------ |
77
+ | [ BertClassifier] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/BertClassifier ) \| [ BertPretrainer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/BertPretrainer ) \| [ BertPretrainerV2] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/BertPretrainerV2 ) \| [ BertSpanLabeler] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/BertSpanLabeler ) \| [ BertTokenClassifier] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/BertTokenClassifier ) \| [ DualEncoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/DualEncoder ) |
78
+ | [ ElectraPretrainer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/ElectraPretrainer ) \| [ Seq2SeqTransformer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/Seq2SeqTransformer ) \| [ T5Transformer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/T5Transformer ) \| [ T5TransformerParams] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/T5TransformerParams ) \| [ TransformerDecoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/TransformerDecoder ) |
79
+ | [ TransformerEncoder] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/TransformerEncoder ) \| [ XLNetClassifier] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/XLNetClassifier ) \| [ XLNetPretrainer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/XLNetPretrainer ) \| [ XLNetSpanLabeler] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/XLNetSpanLabeler ) \| [ attention_initializer] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/models/attention_initializer ) |
80
+
81
+ ### Losses
82
+
83
+ Losses contains common loss computation used in NLP tasks.
84
+
85
+ | Losses |
86
+ | ------------ |
87
+ | [ weighted_sparse_categorical_crossentropy_loss] ( https://www.tensorflow.org/api_docs/python/tfm/nlp/losses/weighted_sparse_categorical_crossentropy_loss ) |
88
+
33
89
### State-of-the-Art models and examples
34
90
35
91
We provide SoTA model implementations, pre-trained models, training and
0 commit comments