import{S as JM,i as GM,s as XM,e as r,k as p,w as v,t as o,M as YM,c as a,d as t,m as h,a as i,x as T,h as n,b as u,G as e,g,y as w,q as $,o as A,B as F,v as ZM,L as Ie}from"../../chunks/vendor-hf-doc-builder.js";import{T as We}from"../../chunks/Tip-hf-doc-builder.js";import{D}from"../../chunks/Docstring-hf-doc-builder.js";import{C as Ne}from"../../chunks/CodeBlock-hf-doc-builder.js";import{I as Re}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{E as Oe}from"../../chunks/ExampleCodeBlock-hf-doc-builder.js";function ez(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AlbertConfig, AlbertModel

# Initializing an ALBERT-xxlarge style configuration
albert_xxlarge_configuration = AlbertConfig()

# Initializing an ALBERT-base style configuration
albert_base_configuration = AlbertConfig(
    hidden_size=768,
    num_attention_heads=12,
    intermediate_size=3072,
)

# Initializing a model (with random weights) from the ALBERT-base style configuration
model = AlbertModel(albert_xxlarge_configuration)

# Accessing the model configuration
configuration = model.config`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AlbertConfig, AlbertModel

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Initializing an ALBERT-xxlarge style configuration</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>albert_xxlarge_configuration = AlbertConfig()

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Initializing an ALBERT-base style configuration</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>albert_base_configuration = AlbertConfig(
<span class="hljs-meta">... </span>    hidden_size=<span class="hljs-number">768</span>,
<span class="hljs-meta">... </span>    num_attention_heads=<span class="hljs-number">12</span>,
<span class="hljs-meta">... </span>    intermediate_size=<span class="hljs-number">3072</span>,
<span class="hljs-meta">... </span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Initializing a model (with random weights) from the ALBERT-base style configuration</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertModel(albert_xxlarge_configuration)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Accessing the model configuration</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>configuration = model.config`}}),{c(){d=r("p"),b=o("Examples:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Examples:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function tz(E){let d,b,m,f,_;return f=new Ne({props:{code:`0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
| first sequence    | second sequence |`,highlighted:`0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 1 </span>1<span class="hljs-number"> 1 </span>1<span class="hljs-number"> 1 </span>1<span class="hljs-number"> 1 </span>1 1
| first sequence    | second sequence |`}}),{c(){d=r("p"),b=o("sequence pair mask has the following format:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"sequence pair mask has the following format:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function oz(E){let d,b,m,f,_;return f=new Ne({props:{code:`0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
| first sequence    | second sequence |`,highlighted:`0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 0 </span>0<span class="hljs-number"> 1 </span>1<span class="hljs-number"> 1 </span>1<span class="hljs-number"> 1 </span>1<span class="hljs-number"> 1 </span>1 1
| first sequence    | second sequence |`}}),{c(){d=r("p"),b=o("sequence pair mask has the following format:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"sequence pair mask has the following format:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function nz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function sz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, AlbertModel
import torch

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = AlbertModel.from_pretrained("albert-base-v2")

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

last_hidden_states = outputs.last_hidden_state`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertModel
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertModel.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)

<span class="hljs-meta">&gt;&gt;&gt; </span>last_hidden_states = outputs.last_hidden_state`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function rz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function az(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, AlbertForPreTraining
import torch

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = AlbertForPreTraining.from_pretrained("albert-base-v2")

input_ids = torch.tensor(tokenizer.encode("Hello, my dog is cute", add_special_tokens=True)).unsqueeze(0)
# Batch size 1
outputs = model(input_ids)

prediction_logits = outputs.prediction_logits
sop_logits = outputs.sop_logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForPreTraining
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForPreTraining.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>input_ids = torch.tensor(tokenizer.encode(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, add_special_tokens=<span class="hljs-literal">True</span>)).unsqueeze(<span class="hljs-number">0</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Batch size 1</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(input_ids)

<span class="hljs-meta">&gt;&gt;&gt; </span>prediction_logits = outputs.prediction_logits
<span class="hljs-meta">&gt;&gt;&gt; </span>sop_logits = outputs.sop_logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function iz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function lz(E){let d,b,m,f,_;return f=new Ne({props:{code:`import torch
from transformers import AutoTokenizer, AlbertForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = AlbertForMaskedLM.from_pretrained("albert-base-v2")

# add mask_token
inputs = tokenizer("The capital of [MASK] is Paris.", 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)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForMaskedLM

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForMaskedLM.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># add mask_token</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;The capital of [MASK] is Paris.&quot;</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">with</span> torch.no_grad():
<span class="hljs-meta">... </span>    logits = model(**inputs).logits

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># retrieve index of [MASK]</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>mask_token_index = (inputs.input_ids == tokenizer.mask_token_id)[<span class="hljs-number">0</span>].nonzero(as_tuple=<span class="hljs-literal">True</span>)[<span class="hljs-number">0</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_token_id = logits[<span class="hljs-number">0</span>, mask_token_index].argmax(axis=-<span class="hljs-number">1</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(predicted_token_id)
<span class="hljs-string">&#x27;france&#x27;</span>`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function dz(E){let d,b;return d=new Ne({props:{code:`labels = tokenizer("The capital of France is Paris.", return_tensors="pt")["input_ids"]
labels = torch.where(inputs.input_ids == tokenizer.mask_token_id, labels, -100)
outputs = model(**inputs, labels=labels)
round(outputs.loss.item(), 2)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>labels = tokenizer(<span class="hljs-string">&quot;The capital of France is Paris.&quot;</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)[<span class="hljs-string">&quot;input_ids&quot;</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>labels = torch.where(inputs.input_ids == tokenizer.mask_token_id, labels, -<span class="hljs-number">100</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs, labels=labels)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">round</span>(outputs.loss.item(), <span class="hljs-number">2</span>)
<span class="hljs-number">0.81</span>`}}),{c(){v(d.$$.fragment)},l(m){T(d.$$.fragment,m)},m(m,f){w(d,m,f),b=!0},p:Ie,i(m){b||($(d.$$.fragment,m),b=!0)},o(m){A(d.$$.fragment,m),b=!1},d(m){F(d,m)}}}function cz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function pz(E){let d,b,m,f,_;return f=new Ne({props:{code:`import torch
from transformers import AutoTokenizer, AlbertForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("textattack/albert-base-v2-imdb")
model = AlbertForSequenceClassification.from_pretrained("textattack/albert-base-v2-imdb")

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]

# 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 = AlbertForSequenceClassification.from_pretrained("textattack/albert-base-v2-imdb", num_labels=num_labels)

labels = torch.tensor([1])
loss = model(**inputs, labels=labels).loss
round(loss.item(), 2)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;textattack/albert-base-v2-imdb&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;textattack/albert-base-v2-imdb&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">with</span> torch.no_grad():
<span class="hljs-meta">... </span>    logits = model(**inputs).logits

<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_class_id = logits.argmax().item()
<span class="hljs-meta">&gt;&gt;&gt; </span>model.config.id2label[predicted_class_id]
<span class="hljs-string">&#x27;LABEL_1&#x27;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># To train a model on \`num_labels\` classes, you can pass \`num_labels=num_labels\` to \`.from_pretrained(...)\`</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>num_labels = <span class="hljs-built_in">len</span>(model.config.id2label)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;textattack/albert-base-v2-imdb&quot;</span>, num_labels=num_labels)

<span class="hljs-meta">&gt;&gt;&gt; </span>labels = torch.tensor([<span class="hljs-number">1</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = model(**inputs, labels=labels).loss
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">round</span>(loss.item(), <span class="hljs-number">2</span>)
<span class="hljs-number">0.12</span>`}}),{c(){d=r("p"),b=o("Example of single-label classification:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example of single-label classification:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function hz(E){let d,b,m,f,_;return f=new Ne({props:{code:`import torch
from transformers import AutoTokenizer, AlbertForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("textattack/albert-base-v2-imdb")
model = AlbertForSequenceClassification.from_pretrained("textattack/albert-base-v2-imdb", 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 = AlbertForSequenceClassification.from_pretrained(
    "textattack/albert-base-v2-imdb", 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`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;textattack/albert-base-v2-imdb&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;textattack/albert-base-v2-imdb&quot;</span>, problem_type=<span class="hljs-string">&quot;multi_label_classification&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">with</span> torch.no_grad():
<span class="hljs-meta">... </span>    logits = model(**inputs).logits

<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_class_ids = torch.arange(<span class="hljs-number">0</span>, logits.shape[-<span class="hljs-number">1</span>])[torch.sigmoid(logits).squeeze(dim=<span class="hljs-number">0</span>) &gt; <span class="hljs-number">0.5</span>]

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># To train a model on \`num_labels\` classes, you can pass \`num_labels=num_labels\` to \`.from_pretrained(...)\`</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>num_labels = <span class="hljs-built_in">len</span>(model.config.id2label)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForSequenceClassification.from_pretrained(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;textattack/albert-base-v2-imdb&quot;</span>, num_labels=num_labels, problem_type=<span class="hljs-string">&quot;multi_label_classification&quot;</span>
<span class="hljs-meta">... </span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>labels = torch.<span class="hljs-built_in">sum</span>(
<span class="hljs-meta">... </span>    torch.nn.functional.one_hot(predicted_class_ids[<span class="hljs-literal">None</span>, :].clone(), num_classes=num_labels), dim=<span class="hljs-number">1</span>
<span class="hljs-meta">... </span>).to(torch.<span class="hljs-built_in">float</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = model(**inputs, labels=labels).loss`}}),{c(){d=r("p"),b=o("Example of multi-label classification:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example of multi-label classification:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function mz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function uz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, AlbertForMultipleChoice
import torch

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = AlbertForMultipleChoice.from_pretrained("albert-base-v2")

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`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForMultipleChoice
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForMultipleChoice.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>prompt = <span class="hljs-string">&quot;In Italy, pizza served in formal settings, such as at a restaurant, is presented unsliced.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>choice0 = <span class="hljs-string">&quot;It is eaten with a fork and a knife.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>choice1 = <span class="hljs-string">&quot;It is eaten while held in the hand.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>labels = torch.tensor(<span class="hljs-number">0</span>).unsqueeze(<span class="hljs-number">0</span>)  <span class="hljs-comment"># choice0 is correct (according to Wikipedia ;)), batch size 1</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>encoding = tokenizer([prompt, prompt], [choice0, choice1], return_tensors=<span class="hljs-string">&quot;pt&quot;</span>, padding=<span class="hljs-literal">True</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**{k: v.unsqueeze(<span class="hljs-number">0</span>) <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> encoding.items()}, labels=labels)  <span class="hljs-comment"># batch size is 1</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># the linear classifier still needs to be trained</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = outputs.loss
<span class="hljs-meta">&gt;&gt;&gt; </span>logits = outputs.logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function fz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function gz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, AlbertForTokenClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = AlbertForTokenClassification.from_pretrained("albert-base-v2")

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]]

labels = predicted_token_class_ids
loss = model(**inputs, labels=labels).loss`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForTokenClassification
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForTokenClassification.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;HuggingFace is a company based in Paris and New York&quot;</span>, add_special_tokens=<span class="hljs-literal">False</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>
<span class="hljs-meta">... </span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">with</span> torch.no_grad():
<span class="hljs-meta">... </span>    logits = model(**inputs).logits

<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_token_class_ids = logits.argmax(-<span class="hljs-number">1</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Note that tokens are classified rather then input words which means that</span>
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># there might be more predicted token classes than words.</span>
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Multiple token classes might account for the same word</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_tokens_classes = [model.config.id2label[t.item()] <span class="hljs-keyword">for</span> t <span class="hljs-keyword">in</span> predicted_token_class_ids[<span class="hljs-number">0</span>]]

<span class="hljs-meta">&gt;&gt;&gt; </span>labels = predicted_token_class_ids
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = model(**inputs, labels=labels).loss`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function _z(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function bz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, AlbertForQuestionAnswering
import torch

tokenizer = AutoTokenizer.from_pretrained("twmkn9/albert-base-v2-squad2")
model = AlbertForQuestionAnswering.from_pretrained("twmkn9/albert-base-v2-squad2")

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)

# target is "nice puppet"
target_start_index = torch.tensor([12])
target_end_index = torch.tensor([13])

outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
loss = outputs.loss
round(loss.item(), 2)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AlbertForQuestionAnswering
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;twmkn9/albert-base-v2-squad2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AlbertForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;twmkn9/albert-base-v2-squad2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>question, text = <span class="hljs-string">&quot;Who was Jim Henson?&quot;</span>, <span class="hljs-string">&quot;Jim Henson was a nice puppet&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(question, text, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">with</span> torch.no_grad():
<span class="hljs-meta">... </span>    outputs = model(**inputs)

<span class="hljs-meta">&gt;&gt;&gt; </span>answer_start_index = outputs.start_logits.argmax()
<span class="hljs-meta">&gt;&gt;&gt; </span>answer_end_index = outputs.end_logits.argmax()

<span class="hljs-meta">&gt;&gt;&gt; </span>predict_answer_tokens = inputs.input_ids[<span class="hljs-number">0</span>, answer_start_index : answer_end_index + <span class="hljs-number">1</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(predict_answer_tokens, skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-string">&#x27;a nice puppet&#x27;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># target is &quot;nice puppet&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>target_start_index = torch.tensor([<span class="hljs-number">12</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>target_end_index = torch.tensor([<span class="hljs-number">13</span>])

<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = outputs.loss
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">round</span>(loss.item(), <span class="hljs-number">2</span>)
<span class="hljs-number">7.36</span>`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function kz(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function yz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function vz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, TFAlbertModel
import tensorflow as tf

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = TFAlbertModel.from_pretrained("albert-base-v2")

inputs = tokenizer("Hello, my dog is cute", return_tensors="tf")
outputs = model(inputs)

last_hidden_states = outputs.last_hidden_state`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertModel
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertModel.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(inputs)

<span class="hljs-meta">&gt;&gt;&gt; </span>last_hidden_states = outputs.last_hidden_state`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Tz(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function wz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function $z(E){let d,b,m,f,_;return f=new Ne({props:{code:`import tensorflow as tf
from transformers import AutoTokenizer, TFAlbertForPreTraining

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = TFAlbertForPreTraining.from_pretrained("albert-base-v2")

input_ids = tf.constant(tokenizer.encode("Hello, my dog is cute", add_special_tokens=True))[None, :]
# Batch size 1
outputs = model(input_ids)

prediction_logits = outputs.prediction_logits
sop_logits = outputs.sop_logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertForPreTraining

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForPreTraining.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>input_ids = tf.constant(tokenizer.encode(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, add_special_tokens=<span class="hljs-literal">True</span>))[<span class="hljs-literal">None</span>, :]
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Batch size 1</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(input_ids)

<span class="hljs-meta">&gt;&gt;&gt; </span>prediction_logits = outputs.prediction_logits
<span class="hljs-meta">&gt;&gt;&gt; </span>sop_logits = outputs.sop_logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Az(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function Fz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function xz(E){let d,b,m,f,_;return f=new Ne({props:{code:`import tensorflow as tf
from transformers import AutoTokenizer, TFAlbertForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = TFAlbertForMaskedLM.from_pretrained("albert-base-v2")

# add mask_token
inputs = tokenizer(f"The capital of [MASK] is Paris.", return_tensors="tf")
logits = model(**inputs).logits

# retrieve index of [MASK]
mask_token_index = tf.where(inputs.input_ids == tokenizer.mask_token_id)[0][1]
predicted_token_id = tf.math.argmax(logits[0, mask_token_index], axis=-1)
tokenizer.decode(predicted_token_id)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertForMaskedLM

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForMaskedLM.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># add mask_token</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">f&quot;The capital of [MASK] is Paris.&quot;</span>, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>logits = model(**inputs).logits

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># retrieve index of [MASK]</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>mask_token_index = tf.where(inputs.input_ids == tokenizer.mask_token_id)[<span class="hljs-number">0</span>][<span class="hljs-number">1</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_token_id = tf.math.argmax(logits[<span class="hljs-number">0</span>, mask_token_index], axis=-<span class="hljs-number">1</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(predicted_token_id)
<span class="hljs-string">&#x27;france&#x27;</span>`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Ez(E){let d,b;return d=new Ne({props:{code:`labels = tokenizer("The capital of France is Paris.", return_tensors="tf")["input_ids"]
labels = tf.where(inputs.input_ids == tokenizer.mask_token_id, labels, -100)
outputs = model(**inputs, labels=labels)
round(float(outputs.loss), 2)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>labels = tokenizer(<span class="hljs-string">&quot;The capital of France is Paris.&quot;</span>, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)[<span class="hljs-string">&quot;input_ids&quot;</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>labels = tf.where(inputs.input_ids == tokenizer.mask_token_id, labels, -<span class="hljs-number">100</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs, labels=labels)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">round</span>(<span class="hljs-built_in">float</span>(outputs.loss), <span class="hljs-number">2</span>)
<span class="hljs-number">0.81</span>`}}),{c(){v(d.$$.fragment)},l(m){T(d.$$.fragment,m)},m(m,f){w(d,m,f),b=!0},p:Ie,i(m){b||($(d.$$.fragment,m),b=!0)},o(m){A(d.$$.fragment,m),b=!1},d(m){F(d,m)}}}function Mz(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function zz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function jz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, TFAlbertForSequenceClassification
import tensorflow as tf

tokenizer = AutoTokenizer.from_pretrained("vumichien/albert-base-v2-imdb")
model = TFAlbertForSequenceClassification.from_pretrained("vumichien/albert-base-v2-imdb")

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

logits = model(**inputs).logits

predicted_class_id = int(tf.math.argmax(logits, axis=-1)[0])
model.config.id2label[predicted_class_id]`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertForSequenceClassification
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;vumichien/albert-base-v2-imdb&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;vumichien/albert-base-v2-imdb&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>logits = model(**inputs).logits

<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_class_id = <span class="hljs-built_in">int</span>(tf.math.argmax(logits, axis=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>model.config.id2label[predicted_class_id]
<span class="hljs-string">&#x27;LABEL_1&#x27;</span>`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function qz(E){let d,b;return d=new Ne({props:{code:'# To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`\nnum_labels = len(model.config.id2label)\nmodel = TFAlbertForSequenceClassification.from_pretrained("vumichien/albert-base-v2-imdb", num_labels=num_labels)\n\nlabels = tf.constant(1)\nloss = model(**inputs, labels=labels).loss\nround(float(loss), 2)',highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># To train a model on \`num_labels\` classes, you can pass \`num_labels=num_labels\` to \`.from_pretrained(...)\`</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>num_labels = <span class="hljs-built_in">len</span>(model.config.id2label)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;vumichien/albert-base-v2-imdb&quot;</span>, num_labels=num_labels)

<span class="hljs-meta">&gt;&gt;&gt; </span>labels = tf.constant(<span class="hljs-number">1</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = model(**inputs, labels=labels).loss
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">round</span>(<span class="hljs-built_in">float</span>(loss), <span class="hljs-number">2</span>)
<span class="hljs-number">0.12</span>`}}),{c(){v(d.$$.fragment)},l(m){T(d.$$.fragment,m)},m(m,f){w(d,m,f),b=!0},p:Ie,i(m){b||($(d.$$.fragment,m),b=!0)},o(m){A(d.$$.fragment,m),b=!1},d(m){F(d,m)}}}function Pz(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function Cz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Lz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, TFAlbertForMultipleChoice
import tensorflow as tf

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = TFAlbertForMultipleChoice.from_pretrained("albert-base-v2")

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."

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

# the linear classifier still needs to be trained
logits = outputs.logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertForMultipleChoice
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForMultipleChoice.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>prompt = <span class="hljs-string">&quot;In Italy, pizza served in formal settings, such as at a restaurant, is presented unsliced.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>choice0 = <span class="hljs-string">&quot;It is eaten with a fork and a knife.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>choice1 = <span class="hljs-string">&quot;It is eaten while held in the hand.&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>encoding = tokenizer([prompt, prompt], [choice0, choice1], return_tensors=<span class="hljs-string">&quot;tf&quot;</span>, padding=<span class="hljs-literal">True</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = {k: tf.expand_dims(v, <span class="hljs-number">0</span>) <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> encoding.items()}
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(inputs)  <span class="hljs-comment"># batch size is 1</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># the linear classifier still needs to be trained</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>logits = outputs.logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Oz(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function Iz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Nz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, TFAlbertForTokenClassification
import tensorflow as tf

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = TFAlbertForTokenClassification.from_pretrained("albert-base-v2")

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

logits = model(**inputs).logits
predicted_token_class_ids = tf.math.argmax(logits, axis=-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] for t in predicted_token_class_ids[0].numpy().tolist()]`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertForTokenClassification
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForTokenClassification.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;HuggingFace is a company based in Paris and New York&quot;</span>, add_special_tokens=<span class="hljs-literal">False</span>, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>
<span class="hljs-meta">... </span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>logits = model(**inputs).logits
<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_token_class_ids = tf.math.argmax(logits, axis=-<span class="hljs-number">1</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Note that tokens are classified rather then input words which means that</span>
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># there might be more predicted token classes than words.</span>
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># Multiple token classes might account for the same word</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>predicted_tokens_classes = [model.config.id2label[t] <span class="hljs-keyword">for</span> t <span class="hljs-keyword">in</span> predicted_token_class_ids[<span class="hljs-number">0</span>].numpy().tolist()]`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Dz(E){let d,b;return d=new Ne({props:{code:`labels = predicted_token_class_ids
loss = tf.math.reduce_mean(model(**inputs, labels=labels).loss)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>labels = predicted_token_class_ids
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = tf.math.reduce_mean(model(**inputs, labels=labels).loss)`}}),{c(){v(d.$$.fragment)},l(m){T(d.$$.fragment,m)},m(m,f){w(d,m,f),b=!0},p:Ie,i(m){b||($(d.$$.fragment,m),b=!0)},o(m){A(d.$$.fragment,m),b=!1},d(m){F(d,m)}}}function Sz(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe;return{c(){d=r("p"),b=o("TensorFlow models and layers in "),m=r("code"),f=o("transformers"),_=o(" accept two formats as input:"),l=p(),c=r("ul"),M=r("li"),be=o("having all inputs as keyword arguments (like PyTorch models), or"),me=p(),W=r("li"),se=o("having all inputs as a list, tuple or dict in the first positional argument."),te=p(),x=r("p"),ke=o(`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=r("code"),ye=o("model.fit()"),ue=o(` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=r("code"),ve=o("model.fit()"),ae=o(` supports! If, however, you want to use the second
format outside of Keras methods like `),G=r("code"),Te=o("fit()"),fe=o(" and "),B=r("code"),ce=o("predict()"),we=o(`, such as when creating your own layers or models with
the Keras `),X=r("code"),pe=o("Functional"),$e=o(` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),oe=p(),q=r("ul"),L=r("li"),ge=o("a single Tensor with "),H=r("code"),he=o("input_ids"),Ae=o(" only and nothing else: "),J=r("code"),le=o("model(input_ids)"),Fe=p(),C=r("li"),re=o(`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=r("code"),xe=o("model([input_ids, attention_mask])"),Ee=o(" or "),V=r("code"),Me=o("model([input_ids, attention_mask, token_type_ids])"),_e=p(),O=r("li"),ze=o(`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=r("code"),je=o('model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),ne=p(),P=r("p"),qe=o(`Note that when creating models and layers with
`),I=r("a"),ie=o("subclassing"),Pe=o(` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),this.h()},l(y){d=a(y,"P",{});var z=i(d);b=n(z,"TensorFlow models and layers in "),m=a(z,"CODE",{});var Le=i(m);f=n(Le,"transformers"),Le.forEach(t),_=n(z," accept two formats as input:"),z.forEach(t),l=h(y),c=a(y,"UL",{});var Z=i(c);M=a(Z,"LI",{});var He=i(M);be=n(He,"having all inputs as keyword arguments (like PyTorch models), or"),He.forEach(t),me=h(Z),W=a(Z,"LI",{});var De=i(W);se=n(De,"having all inputs as a list, tuple or dict in the first positional argument."),De.forEach(t),Z.forEach(t),te=h(y),x=a(y,"P",{});var j=i(x);ke=n(j,`The reason the second format is supported is that Keras methods prefer this format when passing inputs to models
and layers. Because of this support, when using methods like `),Q=a(j,"CODE",{});var Qe=i(Q);ye=n(Qe,"model.fit()"),Qe.forEach(t),ue=n(j,` things should \u201Cjust work\u201D for you - just
pass your inputs and labels in any format that `),U=a(j,"CODE",{});var Ve=i(U);ve=n(Ve,"model.fit()"),Ve.forEach(t),ae=n(j,` supports! If, however, you want to use the second
format outside of Keras methods like `),G=a(j,"CODE",{});var Ke=i(G);Te=n(Ke,"fit()"),Ke.forEach(t),fe=n(j," and "),B=a(j,"CODE",{});var de=i(B);ce=n(de,"predict()"),de.forEach(t),we=n(j,`, such as when creating your own layers or models with
the Keras `),X=a(j,"CODE",{});var Se=i(X);pe=n(Se,"Functional"),Se.forEach(t),$e=n(j,` API, there are three possibilities you can use to gather all the input Tensors in the first
positional argument:`),j.forEach(t),oe=h(y),q=a(y,"UL",{});var S=i(q);L=a(S,"LI",{});var N=i(L);ge=n(N,"a single Tensor with "),H=a(N,"CODE",{});var Je=i(H);he=n(Je,"input_ids"),Je.forEach(t),Ae=n(N," only and nothing else: "),J=a(N,"CODE",{});var Ue=i(J);le=n(Ue,"model(input_ids)"),Ue.forEach(t),N.forEach(t),Fe=h(S),C=a(S,"LI",{});var Y=i(C);re=n(Y,`a list of varying length with one or several input Tensors IN THE ORDER given in the docstring:
`),K=a(Y,"CODE",{});var Ge=i(K);xe=n(Ge,"model([input_ids, attention_mask])"),Ge.forEach(t),Ee=n(Y," or "),V=a(Y,"CODE",{});var Be=i(V);Me=n(Be,"model([input_ids, attention_mask, token_type_ids])"),Be.forEach(t),Y.forEach(t),_e=h(S),O=a(S,"LI",{});var Ce=i(O);ze=n(Ce,`a dictionary with one or several input Tensors associated to the input names given in the docstring:
`),R=a(Ce,"CODE",{});var Xe=i(R);je=n(Xe,'model({"input_ids": input_ids, "token_type_ids": token_type_ids})'),Xe.forEach(t),Ce.forEach(t),S.forEach(t),ne=h(y),P=a(y,"P",{});var ee=i(P);qe=n(ee,`Note that when creating models and layers with
`),I=a(ee,"A",{href:!0,rel:!0});var Ye=i(I);ie=n(Ye,"subclassing"),Ye.forEach(t),Pe=n(ee,` then you don\u2019t need to worry
about any of this, as you can just pass inputs like you would to any other Python function!`),ee.forEach(t),this.h()},h(){u(I,"href","https://keras.io/guides/making_new_layers_and_models_via_subclassing/"),u(I,"rel","nofollow")},m(y,z){g(y,d,z),e(d,b),e(d,m),e(m,f),e(d,_),g(y,l,z),g(y,c,z),e(c,M),e(M,be),e(c,me),e(c,W),e(W,se),g(y,te,z),g(y,x,z),e(x,ke),e(x,Q),e(Q,ye),e(x,ue),e(x,U),e(U,ve),e(x,ae),e(x,G),e(G,Te),e(x,fe),e(x,B),e(B,ce),e(x,we),e(x,X),e(X,pe),e(x,$e),g(y,oe,z),g(y,q,z),e(q,L),e(L,ge),e(L,H),e(H,he),e(L,Ae),e(L,J),e(J,le),e(q,Fe),e(q,C),e(C,re),e(C,K),e(K,xe),e(C,Ee),e(C,V),e(V,Me),e(q,_e),e(q,O),e(O,ze),e(O,R),e(R,je),g(y,ne,z),g(y,P,z),e(P,qe),e(P,I),e(I,ie),e(P,Pe)},d(y){y&&t(d),y&&t(l),y&&t(c),y&&t(te),y&&t(x),y&&t(oe),y&&t(q),y&&t(ne),y&&t(P)}}}function Wz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Uz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, TFAlbertForQuestionAnswering
import tensorflow as tf

tokenizer = AutoTokenizer.from_pretrained("vumichien/albert-base-v2-squad2")
model = TFAlbertForQuestionAnswering.from_pretrained("vumichien/albert-base-v2-squad2")

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

inputs = tokenizer(question, text, return_tensors="tf")
outputs = model(**inputs)

answer_start_index = int(tf.math.argmax(outputs.start_logits, axis=-1)[0])
answer_end_index = int(tf.math.argmax(outputs.end_logits, axis=-1)[0])

predict_answer_tokens = inputs.input_ids[0, answer_start_index : answer_end_index + 1]
tokenizer.decode(predict_answer_tokens)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAlbertForQuestionAnswering
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;vumichien/albert-base-v2-squad2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAlbertForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;vumichien/albert-base-v2-squad2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>question, text = <span class="hljs-string">&quot;Who was Jim Henson?&quot;</span>, <span class="hljs-string">&quot;Jim Henson was a nice puppet&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(question, text, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)

<span class="hljs-meta">&gt;&gt;&gt; </span>answer_start_index = <span class="hljs-built_in">int</span>(tf.math.argmax(outputs.start_logits, axis=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>answer_end_index = <span class="hljs-built_in">int</span>(tf.math.argmax(outputs.end_logits, axis=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>])

<span class="hljs-meta">&gt;&gt;&gt; </span>predict_answer_tokens = inputs.input_ids[<span class="hljs-number">0</span>, answer_start_index : answer_end_index + <span class="hljs-number">1</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(predict_answer_tokens)
<span class="hljs-string">&#x27;a nice puppet&#x27;</span>`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Bz(E){let d,b;return d=new Ne({props:{code:`# target is "nice puppet"
target_start_index = tf.constant([12])
target_end_index = tf.constant([13])

outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
loss = tf.math.reduce_mean(outputs.loss)
round(float(loss), 2)`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># target is &quot;nice puppet&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>target_start_index = tf.constant([<span class="hljs-number">12</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>target_end_index = tf.constant([<span class="hljs-number">13</span>])

<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
<span class="hljs-meta">&gt;&gt;&gt; </span>loss = tf.math.reduce_mean(outputs.loss)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">round</span>(<span class="hljs-built_in">float</span>(loss), <span class="hljs-number">2</span>)
<span class="hljs-number">7.36</span>`}}),{c(){v(d.$$.fragment)},l(m){T(d.$$.fragment,m)},m(m,f){w(d,m,f),b=!0},p:Ie,i(m){b||($(d.$$.fragment,m),b=!0)},o(m){A(d.$$.fragment,m),b=!1},d(m){F(d,m)}}}function Rz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Hz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertModel

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertModel.from_pretrained("albert-base-v2")

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

last_hidden_states = outputs.last_hidden_state`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertModel

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertModel.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;jax&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)

<span class="hljs-meta">&gt;&gt;&gt; </span>last_hidden_states = outputs.last_hidden_state`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Qz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Kz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertForPreTraining

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertForPreTraining.from_pretrained("albert-base-v2")

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

prediction_logits = outputs.prediction_logits
seq_relationship_logits = outputs.sop_logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertForPreTraining

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertForPreTraining.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;np&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)

<span class="hljs-meta">&gt;&gt;&gt; </span>prediction_logits = outputs.prediction_logits
<span class="hljs-meta">&gt;&gt;&gt; </span>seq_relationship_logits = outputs.sop_logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Vz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Jz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertForMaskedLM.from_pretrained("albert-base-v2")

inputs = tokenizer("The capital of France is [MASK].", return_tensors="jax")

outputs = model(**inputs)
logits = outputs.logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertForMaskedLM

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertForMaskedLM.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;The capital of France is [MASK].&quot;</span>, return_tensors=<span class="hljs-string">&quot;jax&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)
<span class="hljs-meta">&gt;&gt;&gt; </span>logits = outputs.logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Gz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Xz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertForSequenceClassification.from_pretrained("albert-base-v2")

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

outputs = model(**inputs)
logits = outputs.logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;jax&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)
<span class="hljs-meta">&gt;&gt;&gt; </span>logits = outputs.logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function Yz(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function Zz(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertForMultipleChoice

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertForMultipleChoice.from_pretrained("albert-base-v2")

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."

encoding = tokenizer([prompt, prompt], [choice0, choice1], return_tensors="jax", padding=True)
outputs = model(**{k: v[None, :] for k, v in encoding.items()})

logits = outputs.logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertForMultipleChoice

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertForMultipleChoice.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>prompt = <span class="hljs-string">&quot;In Italy, pizza served in formal settings, such as at a restaurant, is presented unsliced.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>choice0 = <span class="hljs-string">&quot;It is eaten with a fork and a knife.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>choice1 = <span class="hljs-string">&quot;It is eaten while held in the hand.&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>encoding = tokenizer([prompt, prompt], [choice0, choice1], return_tensors=<span class="hljs-string">&quot;jax&quot;</span>, padding=<span class="hljs-literal">True</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**{k: v[<span class="hljs-literal">None</span>, :] <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> encoding.items()})

<span class="hljs-meta">&gt;&gt;&gt; </span>logits = outputs.logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function e4(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function t4(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertForTokenClassification

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertForTokenClassification.from_pretrained("albert-base-v2")

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

outputs = model(**inputs)
logits = outputs.logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertForTokenClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertForTokenClassification.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(<span class="hljs-string">&quot;Hello, my dog is cute&quot;</span>, return_tensors=<span class="hljs-string">&quot;jax&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)
<span class="hljs-meta">&gt;&gt;&gt; </span>logits = outputs.logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function o4(E){let d,b,m,f,_;return{c(){d=r("p"),b=o("Although the recipe for forward pass needs to be defined within this function, one should call the "),m=r("code"),f=o("Module"),_=o(`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Although the recipe for forward pass needs to be defined within this function, one should call the "),m=a(c,"CODE",{});var M=i(m);f=n(M,"Module"),M.forEach(t),_=n(c,`
instance afterwards instead of this since the former takes care of running the pre and post processing steps while
the latter silently ignores them.`),c.forEach(t)},m(l,c){g(l,d,c),e(d,b),e(d,m),e(m,f),e(d,_)},d(l){l&&t(d)}}}function n4(E){let d,b,m,f,_;return f=new Ne({props:{code:`from transformers import AutoTokenizer, FlaxAlbertForQuestionAnswering

tokenizer = AutoTokenizer.from_pretrained("albert-base-v2")
model = FlaxAlbertForQuestionAnswering.from_pretrained("albert-base-v2")

question, text = "Who was Jim Henson?", "Jim Henson was a nice puppet"
inputs = tokenizer(question, text, return_tensors="jax")

outputs = model(**inputs)
start_scores = outputs.start_logits
end_scores = outputs.end_logits`,highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, FlaxAlbertForQuestionAnswering

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = FlaxAlbertForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;albert-base-v2&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>question, text = <span class="hljs-string">&quot;Who was Jim Henson?&quot;</span>, <span class="hljs-string">&quot;Jim Henson was a nice puppet&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(question, text, return_tensors=<span class="hljs-string">&quot;jax&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)
<span class="hljs-meta">&gt;&gt;&gt; </span>start_scores = outputs.start_logits
<span class="hljs-meta">&gt;&gt;&gt; </span>end_scores = outputs.end_logits`}}),{c(){d=r("p"),b=o("Example:"),m=p(),v(f.$$.fragment)},l(l){d=a(l,"P",{});var c=i(d);b=n(c,"Example:"),c.forEach(t),m=h(l),T(f.$$.fragment,l)},m(l,c){g(l,d,c),e(d,b),g(l,m,c),w(f,l,c),_=!0},p:Ie,i(l){_||($(f.$$.fragment,l),_=!0)},o(l){A(f.$$.fragment,l),_=!1},d(l){l&&t(d),l&&t(m),F(f,l)}}}function s4(E){let d,b,m,f,_,l,c,M,be,me,W,se,te,x,ke,Q,ye,ue,U,ve,ae,G,Te,fe,B,ce,we,X,pe,$e,oe,q,L,ge,H,he,Ae,J,le,Fe,C,re,K,xe,Ee,V,Me,_e,O,ze,R,je,ne,P,qe,I,ie,Pe,y,z,Le,Z,He,De,j,Qe,Ve,Ke,de,Se,S,N,Je,Ue,Y,Ge,Be,Ce,Xe,ee,Ye,wg,$g,Co,Ag,ud,Fg,xg,fd,Eg,Mg,zg,Dn,iu,Lo,Sn,Oc,Dr,jg,Ic,qg,lu,Ze,Sr,Pg,Wr,Cg,Ur,Lg,Og,Ig,Br,Ng,gd,Dg,Sg,Wg,ko,Rr,Ug,Nc,Bg,Rg,Hr,_d,Hg,Dc,Qg,Kg,bd,Vg,Sc,Jg,Gg,Wn,Qr,Xg,Kr,Yg,Wc,Zg,e_,t_,Ot,Vr,o_,Uc,n_,s_,Un,r_,Oo,a_,Bc,i_,l_,Rc,d_,c_,p_,kd,Jr,du,Io,Bn,Hc,Gr,h_,Qc,m_,cu,Lt,Xr,u_,ao,f_,Kc,g_,__,Yr,b_,k_,yd,y_,v_,T_,yo,Zr,w_,Vc,$_,A_,ea,vd,F_,Jc,x_,E_,Td,M_,Gc,z_,j_,It,ta,q_,Xc,P_,C_,Rn,L_,Yc,O_,pu,No,Hn,Zc,oa,I_,ep,N_,hu,Do,na,D_,sa,S_,wd,W_,U_,mu,So,ra,B_,aa,R_,$d,H_,Q_,uu,Wo,Qn,tp,ia,K_,op,V_,fu,ft,la,J_,np,G_,X_,da,Y_,Ad,Z_,eb,tb,ca,ob,pa,nb,sb,rb,Nt,ha,ab,Uo,ib,Fd,lb,db,sp,cb,pb,hb,Kn,mb,Vn,gu,Bo,Jn,rp,ma,ub,ap,fb,_u,gt,ua,gb,Ro,_b,ip,bb,kb,lp,yb,vb,Tb,fa,wb,xd,$b,Ab,Fb,ga,xb,_a,Eb,Mb,zb,Dt,ba,jb,Ho,qb,Ed,Pb,Cb,dp,Lb,Ob,Ib,Gn,Nb,Xn,bu,Qo,Yn,cp,ka,Db,pp,Sb,ku,_t,ya,Wb,va,Ub,hp,Bb,Rb,Hb,Ta,Qb,Md,Kb,Vb,Jb,wa,Gb,$a,Xb,Yb,Zb,Tt,Aa,ek,Ko,tk,zd,ok,nk,mp,sk,rk,ak,Zn,ik,es,lk,ts,yu,Vo,os,up,Fa,dk,fp,ck,vu,bt,xa,pk,gp,hk,mk,Ea,uk,jd,fk,gk,_k,Ma,bk,za,kk,yk,vk,wt,ja,Tk,Jo,wk,qd,$k,Ak,_p,Fk,xk,Ek,ns,Mk,ss,zk,rs,Tu,Go,as,bp,qa,jk,kp,qk,wu,kt,Pa,Pk,yp,Ck,Lk,Ca,Ok,Pd,Ik,Nk,Dk,La,Sk,Oa,Wk,Uk,Bk,St,Ia,Rk,Xo,Hk,Cd,Qk,Kk,vp,Vk,Jk,Gk,is,Xk,ls,$u,Yo,ds,Tp,Na,Yk,wp,Zk,Au,yt,Da,ey,$p,ty,oy,Sa,ny,Ld,sy,ry,ay,Wa,iy,Ua,ly,dy,cy,Wt,Ba,py,Zo,hy,Od,my,uy,Ap,fy,gy,_y,cs,by,ps,Fu,en,hs,Fp,Ra,ky,xp,yy,xu,vt,Ha,vy,tn,Ty,Ep,wy,$y,Mp,Ay,Fy,xy,Qa,Ey,Id,My,zy,jy,Ka,qy,Va,Py,Cy,Ly,Ut,Ja,Oy,on,Iy,Nd,Ny,Dy,zp,Sy,Wy,Uy,ms,By,us,Eu,nn,fs,jp,Ga,Ry,qp,Hy,Mu,it,Xa,Qy,Pp,Ky,Vy,Ya,Jy,Dd,Gy,Xy,Yy,Za,Zy,ei,ev,tv,ov,gs,nv,Bt,ti,sv,sn,rv,Sd,av,iv,Cp,lv,dv,cv,_s,pv,bs,zu,rn,ks,Lp,oi,hv,Op,mv,ju,lt,ni,uv,an,fv,Ip,gv,_v,Np,bv,kv,yv,si,vv,Wd,Tv,wv,$v,ri,Av,ai,Fv,xv,Ev,ys,Mv,Rt,ii,zv,ln,jv,Ud,qv,Pv,Dp,Cv,Lv,Ov,vs,Iv,Ts,qu,dn,ws,Sp,li,Nv,Wp,Dv,Pu,dt,di,Sv,ci,Wv,Up,Uv,Bv,Rv,pi,Hv,Bd,Qv,Kv,Vv,hi,Jv,mi,Gv,Xv,Yv,$s,Zv,$t,ui,eT,cn,tT,Rd,oT,nT,Bp,sT,rT,aT,As,iT,Fs,lT,xs,Cu,pn,Es,Rp,fi,dT,Hp,cT,Lu,ct,gi,pT,Qp,hT,mT,_i,uT,Hd,fT,gT,_T,bi,bT,ki,kT,yT,vT,Ms,TT,At,yi,wT,hn,$T,Qd,AT,FT,Kp,xT,ET,MT,zs,zT,js,jT,qs,Ou,mn,Ps,Vp,vi,qT,Jp,PT,Iu,pt,Ti,CT,Gp,LT,OT,wi,IT,Kd,NT,DT,ST,$i,WT,Ai,UT,BT,RT,Cs,HT,Ht,Fi,QT,un,KT,Vd,VT,JT,Xp,GT,XT,YT,Ls,ZT,Os,Nu,fn,Is,Yp,xi,ew,Zp,tw,Du,ht,Ei,ow,eh,nw,sw,Mi,rw,Jd,aw,iw,lw,zi,dw,ji,cw,pw,hw,Ns,mw,Ft,qi,uw,gn,fw,Gd,gw,_w,th,bw,kw,yw,Ds,vw,Ss,Tw,Ws,Su,_n,Us,oh,Pi,ww,nh,$w,Wu,mt,Ci,Aw,bn,Fw,sh,xw,Ew,rh,Mw,zw,jw,Li,qw,Xd,Pw,Cw,Lw,Oi,Ow,Ii,Iw,Nw,Dw,Bs,Sw,xt,Ni,Ww,kn,Uw,Yd,Bw,Rw,ah,Hw,Qw,Kw,Rs,Vw,Hs,Jw,Qs,Uu,yn,Ks,ih,Di,Gw,lh,Xw,Bu,et,Si,Yw,dh,Zw,e$,Wi,t$,Zd,o$,n$,s$,Ui,r$,Bi,a$,i$,l$,ch,d$,c$,io,ph,Ri,p$,h$,hh,Hi,m$,u$,mh,Qi,f$,g$,uh,Ki,_$,b$,Qt,Vi,k$,vn,y$,fh,v$,T$,gh,w$,$$,A$,Vs,F$,Js,Ru,Tn,Gs,_h,Ji,x$,bh,E$,Hu,tt,Gi,M$,wn,z$,kh,j$,q$,yh,P$,C$,L$,Xi,O$,ec,I$,N$,D$,Yi,S$,Zi,W$,U$,B$,vh,R$,H$,lo,Th,el,Q$,K$,wh,tl,V$,J$,$h,ol,G$,X$,Ah,nl,Y$,Z$,Kt,sl,e1,$n,t1,Fh,o1,n1,xh,s1,r1,a1,Xs,i1,Ys,Qu,An,Zs,Eh,rl,l1,Mh,d1,Ku,ot,al,c1,il,p1,zh,h1,m1,u1,ll,f1,tc,g1,_1,b1,dl,k1,cl,y1,v1,T1,jh,w1,$1,co,qh,pl,A1,F1,Ph,hl,x1,E1,Ch,ml,M1,z1,Lh,ul,j1,q1,Vt,fl,P1,Fn,C1,Oh,L1,O1,Ih,I1,N1,D1,er,S1,tr,Vu,xn,or,Nh,gl,W1,Dh,U1,Ju,nt,_l,B1,Sh,R1,H1,bl,Q1,oc,K1,V1,J1,kl,G1,yl,X1,Y1,Z1,Wh,e2,t2,po,Uh,vl,o2,n2,Bh,Tl,s2,r2,Rh,wl,a2,i2,Hh,$l,l2,d2,Jt,Al,c2,En,p2,Qh,h2,m2,Kh,u2,f2,g2,nr,_2,sr,Gu,Mn,rr,Vh,Fl,b2,Jh,k2,Xu,st,xl,y2,Gh,v2,T2,El,w2,nc,$2,A2,F2,Ml,x2,zl,E2,M2,z2,Xh,j2,q2,ho,Yh,jl,P2,C2,Zh,ql,L2,O2,em,Pl,I2,N2,tm,Cl,D2,S2,Gt,Ll,W2,zn,U2,om,B2,R2,nm,H2,Q2,K2,ar,V2,ir,Yu,jn,lr,sm,Ol,J2,rm,G2,Zu,rt,Il,X2,am,Y2,Z2,Nl,eA,sc,tA,oA,nA,Dl,sA,Sl,rA,aA,iA,im,lA,dA,mo,lm,Wl,cA,pA,dm,Ul,hA,mA,cm,Bl,uA,fA,pm,Rl,gA,_A,Xt,Hl,bA,qn,kA,hm,yA,vA,mm,TA,wA,$A,dr,AA,cr,ef,Pn,pr,um,Ql,FA,fm,xA,tf,at,Kl,EA,Cn,MA,gm,zA,jA,_m,qA,PA,CA,Vl,LA,rc,OA,IA,NA,Jl,DA,Gl,SA,WA,UA,bm,BA,RA,uo,km,Xl,HA,QA,ym,Yl,KA,VA,vm,Zl,JA,GA,Tm,ed,XA,YA,Yt,td,ZA,Ln,eF,wm,tF,oF,$m,nF,sF,rF,hr,aF,mr,of;return l=new Re({}),x=new Re({}),De=new Re({}),Se=new D({props:{name:"class transformers.AlbertConfig",anchor:"transformers.AlbertConfig",parameters:[{name:"vocab_size",val:" = 30000"},{name:"embedding_size",val:" = 128"},{name:"hidden_size",val:" = 4096"},{name:"num_hidden_layers",val:" = 12"},{name:"num_hidden_groups",val:" = 1"},{name:"num_attention_heads",val:" = 64"},{name:"intermediate_size",val:" = 16384"},{name:"inner_group_num",val:" = 1"},{name:"hidden_act",val:" = 'gelu_new'"},{name:"hidden_dropout_prob",val:" = 0"},{name:"attention_probs_dropout_prob",val:" = 0"},{name:"max_position_embeddings",val:" = 512"},{name:"type_vocab_size",val:" = 2"},{name:"initializer_range",val:" = 0.02"},{name:"layer_norm_eps",val:" = 1e-12"},{name:"classifier_dropout_prob",val:" = 0.1"},{name:"position_embedding_type",val:" = 'absolute'"},{name:"pad_token_id",val:" = 0"},{name:"bos_token_id",val:" = 2"},{name:"eos_token_id",val:" = 3"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.AlbertConfig.vocab_size",description:`<strong>vocab_size</strong> (<code>int</code>, <em>optional</em>, defaults to 30000) &#x2014;
Vocabulary size of the ALBERT model. Defines the number of different tokens that can be represented by the
<code>inputs_ids</code> passed when calling <a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertModel">AlbertModel</a> or <a href="/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertModel">TFAlbertModel</a>.`,name:"vocab_size"},{anchor:"transformers.AlbertConfig.embedding_size",description:`<strong>embedding_size</strong> (<code>int</code>, <em>optional</em>, defaults to 128) &#x2014;
Dimensionality of vocabulary embeddings.`,name:"embedding_size"},{anchor:"transformers.AlbertConfig.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>, <em>optional</em>, defaults to 4096) &#x2014;
Dimensionality of the encoder layers and the pooler layer.`,name:"hidden_size"},{anchor:"transformers.AlbertConfig.num_hidden_layers",description:`<strong>num_hidden_layers</strong> (<code>int</code>, <em>optional</em>, defaults to 12) &#x2014;
Number of hidden layers in the Transformer encoder.`,name:"num_hidden_layers"},{anchor:"transformers.AlbertConfig.num_hidden_groups",description:`<strong>num_hidden_groups</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
Number of groups for the hidden layers, parameters in the same group are shared.`,name:"num_hidden_groups"},{anchor:"transformers.AlbertConfig.num_attention_heads",description:`<strong>num_attention_heads</strong> (<code>int</code>, <em>optional</em>, defaults to 64) &#x2014;
Number of attention heads for each attention layer in the Transformer encoder.`,name:"num_attention_heads"},{anchor:"transformers.AlbertConfig.intermediate_size",description:`<strong>intermediate_size</strong> (<code>int</code>, <em>optional</em>, defaults to 16384) &#x2014;
The dimensionality of the &#x201C;intermediate&#x201D; (often named feed-forward) layer in the Transformer encoder.`,name:"intermediate_size"},{anchor:"transformers.AlbertConfig.inner_group_num",description:`<strong>inner_group_num</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
The number of inner repetition of attention and ffn.`,name:"inner_group_num"},{anchor:"transformers.AlbertConfig.hidden_act",description:`<strong>hidden_act</strong> (<code>str</code> or <code>Callable</code>, <em>optional</em>, defaults to <code>&quot;gelu_new&quot;</code>) &#x2014;
The non-linear activation function (function or string) in the encoder and pooler. If string, <code>&quot;gelu&quot;</code>,
<code>&quot;relu&quot;</code>, <code>&quot;silu&quot;</code> and <code>&quot;gelu_new&quot;</code> are supported.`,name:"hidden_act"},{anchor:"transformers.AlbertConfig.hidden_dropout_prob",description:`<strong>hidden_dropout_prob</strong> (<code>float</code>, <em>optional</em>, defaults to 0) &#x2014;
The dropout probability for all fully connected layers in the embeddings, encoder, and pooler.`,name:"hidden_dropout_prob"},{anchor:"transformers.AlbertConfig.attention_probs_dropout_prob",description:`<strong>attention_probs_dropout_prob</strong> (<code>float</code>, <em>optional</em>, defaults to 0) &#x2014;
The dropout ratio for the attention probabilities.`,name:"attention_probs_dropout_prob"},{anchor:"transformers.AlbertConfig.max_position_embeddings",description:`<strong>max_position_embeddings</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
The maximum sequence length that this model might ever be used with. Typically set this to something large
(e.g., 512 or 1024 or 2048).`,name:"max_position_embeddings"},{anchor:"transformers.AlbertConfig.type_vocab_size",description:`<strong>type_vocab_size</strong> (<code>int</code>, <em>optional</em>, defaults to 2) &#x2014;
The vocabulary size of the <code>token_type_ids</code> passed when calling <a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertModel">AlbertModel</a> or <a href="/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertModel">TFAlbertModel</a>.`,name:"type_vocab_size"},{anchor:"transformers.AlbertConfig.initializer_range",description:`<strong>initializer_range</strong> (<code>float</code>, <em>optional</em>, defaults to 0.02) &#x2014;
The standard deviation of the truncated_normal_initializer for initializing all weight matrices.`,name:"initializer_range"},{anchor:"transformers.AlbertConfig.layer_norm_eps",description:`<strong>layer_norm_eps</strong> (<code>float</code>, <em>optional</em>, defaults to 1e-12) &#x2014;
The epsilon used by the layer normalization layers.`,name:"layer_norm_eps"},{anchor:"transformers.AlbertConfig.classifier_dropout_prob",description:`<strong>classifier_dropout_prob</strong> (<code>float</code>, <em>optional</em>, defaults to 0.1) &#x2014;
The dropout ratio for attached classifiers.`,name:"classifier_dropout_prob"},{anchor:"transformers.AlbertConfig.position_embedding_type",description:`<strong>position_embedding_type</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;absolute&quot;</code>) &#x2014;
Type of position embedding. Choose one of <code>&quot;absolute&quot;</code>, <code>&quot;relative_key&quot;</code>, <code>&quot;relative_key_query&quot;</code>. For
positional embeddings use <code>&quot;absolute&quot;</code>. For more information on <code>&quot;relative_key&quot;</code>, please refer to
<a href="https://arxiv.org/abs/1803.02155" rel="nofollow">Self-Attention with Relative Position Representations (Shaw et al.)</a>.
For more information on <code>&quot;relative_key_query&quot;</code>, please refer to <em>Method 4</em> in <a href="https://arxiv.org/abs/2009.13658" rel="nofollow">Improve Transformer Models
with Better Relative Position Embeddings (Huang et al.)</a>.`,name:"position_embedding_type"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/configuration_albert.py#L36"}}),Dn=new Oe({props:{anchor:"transformers.AlbertConfig.example",$$slots:{default:[ez]},$$scope:{ctx:E}}}),Dr=new Re({}),Sr=new D({props:{name:"class transformers.AlbertTokenizer",anchor:"transformers.AlbertTokenizer",parameters:[{name:"vocab_file",val:""},{name:"do_lower_case",val:" = True"},{name:"remove_space",val:" = True"},{name:"keep_accents",val:" = False"},{name:"bos_token",val:" = '[CLS]'"},{name:"eos_token",val:" = '[SEP]'"},{name:"unk_token",val:" = '<unk>'"},{name:"sep_token",val:" = '[SEP]'"},{name:"pad_token",val:" = '<pad>'"},{name:"cls_token",val:" = '[CLS]'"},{name:"mask_token",val:" = '[MASK]'"},{name:"sp_model_kwargs",val:": typing.Union[typing.Dict[str, typing.Any], NoneType] = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.AlbertTokenizer.vocab_file",description:`<strong>vocab_file</strong> (<code>str</code>) &#x2014;
<a href="https://github.com/google/sentencepiece" rel="nofollow">SentencePiece</a> file (generally has a <em>.spm</em> extension) that
contains the vocabulary necessary to instantiate a tokenizer.`,name:"vocab_file"},{anchor:"transformers.AlbertTokenizer.do_lower_case",description:`<strong>do_lower_case</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to lowercase the input when tokenizing.`,name:"do_lower_case"},{anchor:"transformers.AlbertTokenizer.remove_space",description:`<strong>remove_space</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to strip the text when tokenizing (removing excess spaces before and after the string).`,name:"remove_space"},{anchor:"transformers.AlbertTokenizer.keep_accents",description:`<strong>keep_accents</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to keep accents when tokenizing.`,name:"keep_accents"},{anchor:"transformers.AlbertTokenizer.bos_token",description:`<strong>bos_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[CLS]&quot;</code>) &#x2014;
The beginning of sequence token that was used during pretraining. Can be used a sequence classifier token.</p>
<div class="course-tip  bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400">
						
<p>When building a sequence using special tokens, this is not the token that is used for the beginning of
sequence. The token used is the <code>cls_token</code>.</p>

					</div>`,name:"bos_token"},{anchor:"transformers.AlbertTokenizer.eos_token",description:`<strong>eos_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[SEP]&quot;</code>) &#x2014;
The end of sequence token.</p>
<div class="course-tip  bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400">
						
<p>When building a sequence using special tokens, this is not the token that is used for the end of sequence.
The token used is the <code>sep_token</code>.</p>

					</div>`,name:"eos_token"},{anchor:"transformers.AlbertTokenizer.unk_token",description:`<strong>unk_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;&lt;unk&gt;&quot;</code>) &#x2014;
The unknown token. A token that is not in the vocabulary cannot be converted to an ID and is set to be this
token instead.`,name:"unk_token"},{anchor:"transformers.AlbertTokenizer.sep_token",description:`<strong>sep_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[SEP]&quot;</code>) &#x2014;
The separator token, which is used when building a sequence from multiple sequences, e.g. two sequences for
sequence classification or for a text and a question for question answering. It is also used as the last
token of a sequence built with special tokens.`,name:"sep_token"},{anchor:"transformers.AlbertTokenizer.pad_token",description:`<strong>pad_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;&lt;pad&gt;&quot;</code>) &#x2014;
The token used for padding, for example when batching sequences of different lengths.`,name:"pad_token"},{anchor:"transformers.AlbertTokenizer.cls_token",description:`<strong>cls_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[CLS]&quot;</code>) &#x2014;
The classifier token which is used when doing sequence classification (classification of the whole sequence
instead of per-token classification). It is the first token of the sequence when built with special tokens.`,name:"cls_token"},{anchor:"transformers.AlbertTokenizer.mask_token",description:`<strong>mask_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[MASK]&quot;</code>) &#x2014;
The token used for masking values. This is the token used when training this model with masked language
modeling. This is the token which the model will try to predict.`,name:"mask_token"},{anchor:"transformers.AlbertTokenizer.sp_model_kwargs",description:`<strong>sp_model_kwargs</strong> (<code>dict</code>, <em>optional</em>) &#x2014;
Will be passed to the <code>SentencePieceProcessor.__init__()</code> method. The <a href="https://github.com/google/sentencepiece/tree/master/python" rel="nofollow">Python wrapper for
SentencePiece</a> can be used, among other things,
to set:</p>
<ul>
<li>
<p><code>enable_sampling</code>: Enable subword regularization.</p>
</li>
<li>
<p><code>nbest_size</code>: Sampling parameters for unigram. Invalid for BPE-Dropout.</p>
<ul>
<li><code>nbest_size = {0,1}</code>: No sampling is performed.</li>
<li><code>nbest_size &gt; 1</code>: samples from the nbest_size results.</li>
<li><code>nbest_size &lt; 0</code>: assuming that nbest_size is infinite and samples from the all hypothesis (lattice)
using forward-filtering-and-backward-sampling algorithm.</li>
</ul>
</li>
<li>
<p><code>alpha</code>: Smoothing parameter for unigram sampling, and dropout probability of merge operations for
BPE-dropout.</p>
</li>
</ul>`,name:"sp_model_kwargs"},{anchor:"transformers.AlbertTokenizer.sp_model",description:`<strong>sp_model</strong> (<code>SentencePieceProcessor</code>) &#x2014;
The <em>SentencePiece</em> processor that is used for every conversion (string, tokens and IDs).`,name:"sp_model"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert.py#L59"}}),Rr=new D({props:{name:"build_inputs_with_special_tokens",anchor:"transformers.AlbertTokenizer.build_inputs_with_special_tokens",parameters:[{name:"token_ids_0",val:": typing.List[int]"},{name:"token_ids_1",val:": typing.Optional[typing.List[int]] = None"}],parametersDescription:[{anchor:"transformers.AlbertTokenizer.build_inputs_with_special_tokens.token_ids_0",description:`<strong>token_ids_0</strong> (<code>List[int]</code>) &#x2014;
List of IDs to which the special tokens will be added.`,name:"token_ids_0"},{anchor:"transformers.AlbertTokenizer.build_inputs_with_special_tokens.token_ids_1",description:`<strong>token_ids_1</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Optional second list of IDs for sequence pairs.`,name:"token_ids_1"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert.py#L271",returnDescription:`
<p>List of <a href="../glossary#input-ids">input IDs</a> with the appropriate special tokens.</p>
`,returnType:`
<p><code>List[int]</code></p>
`}}),Qr=new D({props:{name:"get_special_tokens_mask",anchor:"transformers.AlbertTokenizer.get_special_tokens_mask",parameters:[{name:"token_ids_0",val:": typing.List[int]"},{name:"token_ids_1",val:": typing.Optional[typing.List[int]] = None"},{name:"already_has_special_tokens",val:": bool = False"}],parametersDescription:[{anchor:"transformers.AlbertTokenizer.get_special_tokens_mask.token_ids_0",description:`<strong>token_ids_0</strong> (<code>List[int]</code>) &#x2014;
List of IDs.`,name:"token_ids_0"},{anchor:"transformers.AlbertTokenizer.get_special_tokens_mask.token_ids_1",description:`<strong>token_ids_1</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Optional second list of IDs for sequence pairs.`,name:"token_ids_1"},{anchor:"transformers.AlbertTokenizer.get_special_tokens_mask.already_has_special_tokens",description:`<strong>already_has_special_tokens</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not the token list is already formatted with special tokens for the model.`,name:"already_has_special_tokens"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert.py#L296",returnDescription:`
<p>A list of integers in the range [0, 1]: 1 for a special token, 0 for a sequence token.</p>
`,returnType:`
<p><code>List[int]</code></p>
`}}),Vr=new D({props:{name:"create_token_type_ids_from_sequences",anchor:"transformers.AlbertTokenizer.create_token_type_ids_from_sequences",parameters:[{name:"token_ids_0",val:": typing.List[int]"},{name:"token_ids_1",val:": typing.Optional[typing.List[int]] = None"}],parametersDescription:[{anchor:"transformers.AlbertTokenizer.create_token_type_ids_from_sequences.token_ids_0",description:`<strong>token_ids_0</strong> (<code>List[int]</code>) &#x2014;
List of IDs.`,name:"token_ids_0"},{anchor:"transformers.AlbertTokenizer.create_token_type_ids_from_sequences.token_ids_1",description:`<strong>token_ids_1</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Optional second list of IDs for sequence pairs.`,name:"token_ids_1"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert.py#L324",returnDescription:`
<p>List of <a href="../glossary#token-type-ids">token type IDs</a> according to the given sequence(s).</p>
`,returnType:`
<p><code>List[int]</code></p>
`}}),Un=new Oe({props:{anchor:"transformers.AlbertTokenizer.create_token_type_ids_from_sequences.example",$$slots:{default:[tz]},$$scope:{ctx:E}}}),Jr=new D({props:{name:"save_vocabulary",anchor:"transformers.AlbertTokenizer.save_vocabulary",parameters:[{name:"save_directory",val:": str"},{name:"filename_prefix",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert.py#L354"}}),Gr=new Re({}),Xr=new D({props:{name:"class transformers.AlbertTokenizerFast",anchor:"transformers.AlbertTokenizerFast",parameters:[{name:"vocab_file",val:" = None"},{name:"tokenizer_file",val:" = None"},{name:"do_lower_case",val:" = True"},{name:"remove_space",val:" = True"},{name:"keep_accents",val:" = False"},{name:"bos_token",val:" = '[CLS]'"},{name:"eos_token",val:" = '[SEP]'"},{name:"unk_token",val:" = '<unk>'"},{name:"sep_token",val:" = '[SEP]'"},{name:"pad_token",val:" = '<pad>'"},{name:"cls_token",val:" = '[CLS]'"},{name:"mask_token",val:" = '[MASK]'"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.AlbertTokenizerFast.vocab_file",description:`<strong>vocab_file</strong> (<code>str</code>) &#x2014;
<a href="https://github.com/google/sentencepiece" rel="nofollow">SentencePiece</a> file (generally has a <em>.spm</em> extension) that
contains the vocabulary necessary to instantiate a tokenizer.`,name:"vocab_file"},{anchor:"transformers.AlbertTokenizerFast.do_lower_case",description:`<strong>do_lower_case</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to lowercase the input when tokenizing.`,name:"do_lower_case"},{anchor:"transformers.AlbertTokenizerFast.remove_space",description:`<strong>remove_space</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to strip the text when tokenizing (removing excess spaces before and after the string).`,name:"remove_space"},{anchor:"transformers.AlbertTokenizerFast.keep_accents",description:`<strong>keep_accents</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to keep accents when tokenizing.`,name:"keep_accents"},{anchor:"transformers.AlbertTokenizerFast.bos_token",description:`<strong>bos_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[CLS]&quot;</code>) &#x2014;
The beginning of sequence token that was used during pretraining. Can be used a sequence classifier token.</p>
<div class="course-tip  bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400">
						
<p>When building a sequence using special tokens, this is not the token that is used for the beginning of
sequence. The token used is the <code>cls_token</code>.</p>

					</div>`,name:"bos_token"},{anchor:"transformers.AlbertTokenizerFast.eos_token",description:`<strong>eos_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[SEP]&quot;</code>) &#x2014;
The end of sequence token. .. note:: When building a sequence using special tokens, this is not the token
that is used for the end of sequence. The token used is the <code>sep_token</code>.`,name:"eos_token"},{anchor:"transformers.AlbertTokenizerFast.unk_token",description:`<strong>unk_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;&lt;unk&gt;&quot;</code>) &#x2014;
The unknown token. A token that is not in the vocabulary cannot be converted to an ID and is set to be this
token instead.`,name:"unk_token"},{anchor:"transformers.AlbertTokenizerFast.sep_token",description:`<strong>sep_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[SEP]&quot;</code>) &#x2014;
The separator token, which is used when building a sequence from multiple sequences, e.g. two sequences for
sequence classification or for a text and a question for question answering. It is also used as the last
token of a sequence built with special tokens.`,name:"sep_token"},{anchor:"transformers.AlbertTokenizerFast.pad_token",description:`<strong>pad_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;&lt;pad&gt;&quot;</code>) &#x2014;
The token used for padding, for example when batching sequences of different lengths.`,name:"pad_token"},{anchor:"transformers.AlbertTokenizerFast.cls_token",description:`<strong>cls_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[CLS]&quot;</code>) &#x2014;
The classifier token which is used when doing sequence classification (classification of the whole sequence
instead of per-token classification). It is the first token of the sequence when built with special tokens.`,name:"cls_token"},{anchor:"transformers.AlbertTokenizerFast.mask_token",description:`<strong>mask_token</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;[MASK]&quot;</code>) &#x2014;
The token used for masking values. This is the token used when training this model with masked language
modeling. This is the token which the model will try to predict.`,name:"mask_token"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert_fast.py#L72"}}),Zr=new D({props:{name:"build_inputs_with_special_tokens",anchor:"transformers.AlbertTokenizerFast.build_inputs_with_special_tokens",parameters:[{name:"token_ids_0",val:": typing.List[int]"},{name:"token_ids_1",val:": typing.Optional[typing.List[int]] = None"}],parametersDescription:[{anchor:"transformers.AlbertTokenizerFast.build_inputs_with_special_tokens.token_ids_0",description:`<strong>token_ids_0</strong> (<code>List[int]</code>) &#x2014;
List of IDs to which the special tokens will be added`,name:"token_ids_0"},{anchor:"transformers.AlbertTokenizerFast.build_inputs_with_special_tokens.token_ids_1",description:`<strong>token_ids_1</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Optional second list of IDs for sequence pairs.`,name:"token_ids_1"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert_fast.py#L170",returnDescription:`
<p>list of <a href="../glossary#input-ids">input IDs</a> with the appropriate special tokens.</p>
`,returnType:`
<p><code>List[int]</code></p>
`}}),ta=new D({props:{name:"create_token_type_ids_from_sequences",anchor:"transformers.AlbertTokenizerFast.create_token_type_ids_from_sequences",parameters:[{name:"token_ids_0",val:": typing.List[int]"},{name:"token_ids_1",val:": typing.Optional[typing.List[int]] = None"}],parametersDescription:[{anchor:"transformers.AlbertTokenizerFast.create_token_type_ids_from_sequences.token_ids_0",description:`<strong>token_ids_0</strong> (<code>List[int]</code>) &#x2014;
List of ids.`,name:"token_ids_0"},{anchor:"transformers.AlbertTokenizerFast.create_token_type_ids_from_sequences.token_ids_1",description:`<strong>token_ids_1</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Optional second list of IDs for sequence pairs.`,name:"token_ids_1"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/tokenization_albert_fast.py#L195",returnDescription:`
<p>List of <a href="../glossary#token-type-ids">token type IDs</a> according to the given sequence(s).</p>
`,returnType:`
<p><code>List[int]</code></p>
`}}),Rn=new Oe({props:{anchor:"transformers.AlbertTokenizerFast.create_token_type_ids_from_sequences.example",$$slots:{default:[oz]},$$scope:{ctx:E}}}),oa=new Re({}),na=new D({props:{name:"class transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput",anchor:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput",parameters:[{name:"loss",val:": typing.Optional[torch.FloatTensor] = None"},{name:"prediction_logits",val:": FloatTensor = None"},{name:"sop_logits",val:": FloatTensor = None"},{name:"hidden_states",val:": typing.Optional[typing.Tuple[torch.FloatTensor]] = None"},{name:"attentions",val:": typing.Optional[typing.Tuple[torch.FloatTensor]] = None"}],parametersDescription:[{anchor:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput.loss",description:`<strong>loss</strong> (<em>optional</em>, returned when <code>labels</code> is provided, <code>torch.FloatTensor</code> of shape <code>(1,)</code>) &#x2014;
Total loss as the sum of the masked language modeling loss and the next sequence prediction
(classification) loss.`,name:"loss"},{anchor:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput.prediction_logits",description:`<strong>prediction_logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) &#x2014;
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).`,name:"prediction_logits"},{anchor:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput.sop_logits",description:`<strong>sop_logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, 2)</code>) &#x2014;
Prediction scores of the next sequence prediction (classification) head (scores of True/False continuation
before SoftMax).`,name:"sop_logits"},{anchor:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput.hidden_states",description:`<strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) &#x2014;
Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings + one for the output of each layer) of
shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.`,name:"hidden_states"},{anchor:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput.attentions",description:`<strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) &#x2014;
Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.`,name:"attentions"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L530"}}),ra=new D({props:{name:"class transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput",anchor:"transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput",parameters:[{name:"loss",val:": Tensor = None"},{name:"prediction_logits",val:": Tensor = None"},{name:"sop_logits",val:": Tensor = None"},{name:"hidden_states",val:": typing.Optional[typing.Tuple[tensorflow.python.framework.ops.Tensor]] = None"},{name:"attentions",val:": typing.Optional[typing.Tuple[tensorflow.python.framework.ops.Tensor]] = None"}],parametersDescription:[{anchor:"transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput.prediction_logits",description:`<strong>prediction_logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) &#x2014;
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).`,name:"prediction_logits"},{anchor:"transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput.sop_logits",description:`<strong>sop_logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, 2)</code>) &#x2014;
Prediction scores of the next sequence prediction (classification) head (scores of True/False continuation
before SoftMax).`,name:"sop_logits"},{anchor:"transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput.hidden_states",description:`<strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) &#x2014;
Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.`,name:"hidden_states"},{anchor:"transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput.attentions",description:`<strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) &#x2014;
Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.`,name:"attentions"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L663"}}),ia=new Re({}),la=new D({props:{name:"class transformers.AlbertModel",anchor:"transformers.AlbertModel",parameters:[{name:"config",val:": AlbertConfig"},{name:"add_pooling_layer",val:": bool = True"}],parametersDescription:[{anchor:"transformers.AlbertModel.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L633"}}),ha=new D({props:{name:"forward",anchor:"transformers.AlbertModel.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"output_attentions",val:": NoneType = None"},{name:"output_hidden_states",val:": NoneType = None"},{name:"return_dict",val:": NoneType = None"}],parametersDescription:[{anchor:"transformers.AlbertModel.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertModel.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertModel.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertModel.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertModel.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertModel.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertModel.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertModel.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertModel.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L677",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling"
>transformers.modeling_outputs.BaseModelOutputWithPooling</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>last_hidden_state</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>) \u2014 Sequence of hidden-states at the output of the last layer of the model.</p>
</li>
<li>
<p><strong>pooler_output</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, hidden_size)</code>) \u2014 Last layer hidden-state of the first token of the sequence (classification token) after further processing
through the layers used for the auxiliary pretraining task. E.g. for BERT-family of models, this returns
the classification token after processing through a linear layer and a tanh activation function. The linear
layer weights are trained from the next sentence prediction (classification) objective during pretraining.</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings, if the model has an embedding layer, +
one for the output of each layer) of shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the optional initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling"
>transformers.modeling_outputs.BaseModelOutputWithPooling</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),Kn=new We({props:{$$slots:{default:[nz]},$$scope:{ctx:E}}}),Vn=new Oe({props:{anchor:"transformers.AlbertModel.forward.example",$$slots:{default:[sz]},$$scope:{ctx:E}}}),ma=new Re({}),ua=new D({props:{name:"class transformers.AlbertForPreTraining",anchor:"transformers.AlbertForPreTraining",parameters:[{name:"config",val:": AlbertConfig"}],parametersDescription:[{anchor:"transformers.AlbertForPreTraining.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L762"}}),ba=new D({props:{name:"forward",anchor:"transformers.AlbertForPreTraining.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"labels",val:": typing.Optional[torch.LongTensor] = None"},{name:"sentence_order_label",val:": typing.Optional[torch.LongTensor] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.AlbertForPreTraining.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertForPreTraining.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertForPreTraining.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertForPreTraining.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertForPreTraining.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertForPreTraining.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertForPreTraining.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertForPreTraining.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertForPreTraining.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"},{anchor:"transformers.AlbertForPreTraining.forward.labels",description:`<strong>labels</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Labels for computing the masked language modeling loss. Indices should be in <code>[-100, 0, ..., config.vocab_size]</code> (see <code>input_ids</code> docstring) Tokens with indices set to <code>-100</code> are ignored (masked), the
loss is only computed for the tokens with labels in <code>[0, ..., config.vocab_size]</code>`,name:"labels"},{anchor:"transformers.AlbertForPreTraining.forward.sentence_order_label",description:`<strong>sentence_order_label</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for computing the next sequence prediction (classification) loss. Input should be a sequence pair
(see <code>input_ids</code> docstring) Indices should be in <code>[0, 1]</code>. <code>0</code> indicates original order (sequence A, then
sequence B), <code>1</code> indicates switched order (sequence B, then sequence A).`,name:"sentence_order_label"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L788",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/model_doc/albert#transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput"
>transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<em>optional</em>, returned when <code>labels</code> is provided, <code>torch.FloatTensor</code> of shape <code>(1,)</code>) \u2014 Total loss as the sum of the masked language modeling loss and the next sequence prediction
(classification) loss.</p>
</li>
<li>
<p><strong>prediction_logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) \u2014 Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).</p>
</li>
<li>
<p><strong>sop_logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, 2)</code>) \u2014 Prediction scores of the next sequence prediction (classification) head (scores of True/False continuation
before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings + one for the output of each layer) of
shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/model_doc/albert#transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput"
>transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),Gn=new We({props:{$$slots:{default:[rz]},$$scope:{ctx:E}}}),Xn=new Oe({props:{anchor:"transformers.AlbertForPreTraining.forward.example",$$slots:{default:[az]},$$scope:{ctx:E}}}),ka=new Re({}),ya=new D({props:{name:"class transformers.AlbertForMaskedLM",anchor:"transformers.AlbertForMaskedLM",parameters:[{name:"config",val:""}],parametersDescription:[{anchor:"transformers.AlbertForMaskedLM.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L914"}}),Aa=new D({props:{name:"forward",anchor:"transformers.AlbertForMaskedLM.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"labels",val:": typing.Optional[torch.LongTensor] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.AlbertForMaskedLM.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertForMaskedLM.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertForMaskedLM.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertForMaskedLM.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertForMaskedLM.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertForMaskedLM.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertForMaskedLM.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertForMaskedLM.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertForMaskedLM.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"},{anchor:"transformers.AlbertForMaskedLM.forward.labels",description:`<strong>labels</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Labels for computing the masked language modeling loss. Indices should be in <code>[-100, 0, ..., config.vocab_size]</code> (see <code>input_ids</code> docstring) Tokens with indices set to <code>-100</code> are ignored (masked), the
loss is only computed for the tokens with labels in <code>[0, ..., config.vocab_size]</code>`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L941",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.MaskedLMOutput"
>transformers.modeling_outputs.MaskedLMOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>torch.FloatTensor</code> of shape <code>(1,)</code>, <em>optional</em>, returned when <code>labels</code> is provided) \u2014 Masked language modeling (MLM) loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) \u2014 Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings, if the model has an embedding layer, +
one for the output of each layer) of shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the optional initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.MaskedLMOutput"
>transformers.modeling_outputs.MaskedLMOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),Zn=new We({props:{$$slots:{default:[iz]},$$scope:{ctx:E}}}),es=new Oe({props:{anchor:"transformers.AlbertForMaskedLM.forward.example",$$slots:{default:[lz]},$$scope:{ctx:E}}}),ts=new Oe({props:{anchor:"transformers.AlbertForMaskedLM.forward.example-2",$$slots:{default:[dz]},$$scope:{ctx:E}}}),Fa=new Re({}),xa=new D({props:{name:"class transformers.AlbertForSequenceClassification",anchor:"transformers.AlbertForSequenceClassification",parameters:[{name:"config",val:": AlbertConfig"}],parametersDescription:[{anchor:"transformers.AlbertForSequenceClassification.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1034"}}),ja=new D({props:{name:"forward",anchor:"transformers.AlbertForSequenceClassification.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"labels",val:": typing.Optional[torch.LongTensor] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.AlbertForSequenceClassification.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertForSequenceClassification.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertForSequenceClassification.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertForSequenceClassification.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertForSequenceClassification.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertForSequenceClassification.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertForSequenceClassification.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertForSequenceClassification.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertForSequenceClassification.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"},{anchor:"transformers.AlbertForSequenceClassification.forward.labels",description:`<strong>labels</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for computing the sequence classification/regression loss. Indices should be in <code>[0, ..., config.num_labels - 1]</code>. If <code>config.num_labels == 1</code> a regression loss is computed (Mean-Square loss), If
<code>config.num_labels &gt; 1</code> a classification loss is computed (Cross-Entropy).`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1047",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.SequenceClassifierOutput"
>transformers.modeling_outputs.SequenceClassifierOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>torch.FloatTensor</code> of shape <code>(1,)</code>, <em>optional</em>, returned when <code>labels</code> is provided) \u2014 Classification (or regression if config.num_labels==1) loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, config.num_labels)</code>) \u2014 Classification (or regression if config.num_labels==1) scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings, if the model has an embedding layer, +
one for the output of each layer) of shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the optional initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.SequenceClassifierOutput"
>transformers.modeling_outputs.SequenceClassifierOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),ns=new We({props:{$$slots:{default:[cz]},$$scope:{ctx:E}}}),ss=new Oe({props:{anchor:"transformers.AlbertForSequenceClassification.forward.example",$$slots:{default:[pz]},$$scope:{ctx:E}}}),rs=new Oe({props:{anchor:"transformers.AlbertForSequenceClassification.forward.example-2",$$slots:{default:[hz]},$$scope:{ctx:E}}}),qa=new Re({}),Pa=new D({props:{name:"class transformers.AlbertForMultipleChoice",anchor:"transformers.AlbertForMultipleChoice",parameters:[{name:"config",val:": AlbertConfig"}],parametersDescription:[{anchor:"transformers.AlbertForMultipleChoice.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1327"}}),Ia=new D({props:{name:"forward",anchor:"transformers.AlbertForMultipleChoice.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"labels",val:": typing.Optional[torch.LongTensor] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.AlbertForMultipleChoice.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertForMultipleChoice.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertForMultipleChoice.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertForMultipleChoice.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertForMultipleChoice.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertForMultipleChoice.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, num_choices, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertForMultipleChoice.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertForMultipleChoice.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertForMultipleChoice.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"},{anchor:"transformers.AlbertForMultipleChoice.forward.labels",description:`<strong>labels</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for computing the multiple choice classification loss. Indices should be in <code>[0, ..., num_choices-1]</code> where <em>num_choices</em> is the size of the second dimension of the input tensors. (see
<em>input_ids</em> above)`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1338",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.MultipleChoiceModelOutput"
>transformers.modeling_outputs.MultipleChoiceModelOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>torch.FloatTensor</code> of shape <em>(1,)</em>, <em>optional</em>, returned when <code>labels</code> is provided) \u2014 Classification loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, num_choices)</code>) \u2014 <em>num_choices</em> is the second dimension of the input tensors. (see <em>input_ids</em> above).</p>
<p>Classification scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings, if the model has an embedding layer, +
one for the output of each layer) of shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the optional initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.MultipleChoiceModelOutput"
>transformers.modeling_outputs.MultipleChoiceModelOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),is=new We({props:{$$slots:{default:[mz]},$$scope:{ctx:E}}}),ls=new Oe({props:{anchor:"transformers.AlbertForMultipleChoice.forward.example",$$slots:{default:[uz]},$$scope:{ctx:E}}}),Na=new Re({}),Da=new D({props:{name:"class transformers.AlbertForTokenClassification",anchor:"transformers.AlbertForTokenClassification",parameters:[{name:"config",val:": AlbertConfig"}],parametersDescription:[{anchor:"transformers.AlbertForTokenClassification.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1135"}}),Ba=new D({props:{name:"forward",anchor:"transformers.AlbertForTokenClassification.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"labels",val:": typing.Optional[torch.LongTensor] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.AlbertForTokenClassification.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertForTokenClassification.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertForTokenClassification.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertForTokenClassification.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertForTokenClassification.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertForTokenClassification.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertForTokenClassification.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertForTokenClassification.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertForTokenClassification.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"},{anchor:"transformers.AlbertForTokenClassification.forward.labels",description:`<strong>labels</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Labels for computing the token classification loss. Indices should be in <code>[0, ..., config.num_labels - 1]</code>.`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1155",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.TokenClassifierOutput"
>transformers.modeling_outputs.TokenClassifierOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>torch.FloatTensor</code> of shape <code>(1,)</code>, <em>optional</em>, returned when <code>labels</code> is provided)  \u2014 Classification loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, config.num_labels)</code>) \u2014 Classification scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings, if the model has an embedding layer, +
one for the output of each layer) of shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the optional initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.TokenClassifierOutput"
>transformers.modeling_outputs.TokenClassifierOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),cs=new We({props:{$$slots:{default:[fz]},$$scope:{ctx:E}}}),ps=new Oe({props:{anchor:"transformers.AlbertForTokenClassification.forward.example",$$slots:{default:[gz]},$$scope:{ctx:E}}}),Ra=new Re({}),Ha=new D({props:{name:"class transformers.AlbertForQuestionAnswering",anchor:"transformers.AlbertForQuestionAnswering",parameters:[{name:"config",val:": AlbertConfig"}],parametersDescription:[{anchor:"transformers.AlbertForQuestionAnswering.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1221"}}),Ja=new D({props:{name:"forward",anchor:"transformers.AlbertForQuestionAnswering.forward",parameters:[{name:"input_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"attention_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"token_type_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"position_ids",val:": typing.Optional[torch.LongTensor] = None"},{name:"head_mask",val:": typing.Optional[torch.FloatTensor] = None"},{name:"inputs_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"start_positions",val:": typing.Optional[torch.LongTensor] = None"},{name:"end_positions",val:": typing.Optional[torch.LongTensor] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.AlbertForQuestionAnswering.forward.input_ids",description:`<strong>input_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.AlbertForQuestionAnswering.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.AlbertForQuestionAnswering.forward.token_type_ids",description:`<strong>token_type_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.AlbertForQuestionAnswering.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.AlbertForQuestionAnswering.forward.head_mask",description:`<strong>head_mask</strong> (<code>torch.FloatTensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.AlbertForQuestionAnswering.forward.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.AlbertForQuestionAnswering.forward.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail.`,name:"output_attentions"},{anchor:"transformers.AlbertForQuestionAnswering.forward.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail.`,name:"output_hidden_states"},{anchor:"transformers.AlbertForQuestionAnswering.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"},{anchor:"transformers.AlbertForQuestionAnswering.forward.start_positions",description:`<strong>start_positions</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for position (index) of the start of the labelled span for computing the token classification loss.
Positions are clamped to the length of the sequence (<code>sequence_length</code>). Position outside of the sequence
are not taken into account for computing the loss.`,name:"start_positions"},{anchor:"transformers.AlbertForQuestionAnswering.forward.end_positions",description:`<strong>end_positions</strong> (<code>torch.LongTensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for position (index) of the end of the labelled span for computing the token classification loss.
Positions are clamped to the length of the sequence (<code>sequence_length</code>). Position outside of the sequence
are not taken into account for computing the loss.`,name:"end_positions"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_albert.py#L1235",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.QuestionAnsweringModelOutput"
>transformers.modeling_outputs.QuestionAnsweringModelOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>torch.FloatTensor</code> of shape <code>(1,)</code>, <em>optional</em>, returned when <code>labels</code> is provided) \u2014 Total span extraction loss is the sum of a Cross-Entropy for the start and end positions.</p>
</li>
<li>
<p><strong>start_logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>) \u2014 Span-start scores (before SoftMax).</p>
</li>
<li>
<p><strong>end_logits</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, sequence_length)</code>) \u2014 Span-end scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for the output of the embeddings, if the model has an embedding layer, +
one for the output of each layer) of shape <code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the optional initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(torch.FloatTensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>torch.FloatTensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_outputs.QuestionAnsweringModelOutput"
>transformers.modeling_outputs.QuestionAnsweringModelOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),ms=new We({props:{$$slots:{default:[_z]},$$scope:{ctx:E}}}),us=new Oe({props:{anchor:"transformers.AlbertForQuestionAnswering.forward.example",$$slots:{default:[bz]},$$scope:{ctx:E}}}),Ga=new Re({}),Xa=new D({props:{name:"class transformers.TFAlbertModel",anchor:"transformers.TFAlbertModel",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertModel.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L795"}}),gs=new We({props:{$$slots:{default:[kz]},$$scope:{ctx:E}}}),ti=new D({props:{name:"call",anchor:"transformers.TFAlbertModel.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertModel.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertModel.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertModel.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertModel.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertModel.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertModel.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertModel.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertModel.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertModel.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertModel.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L801",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFBaseModelOutputWithPooling"
>transformers.modeling_tf_outputs.TFBaseModelOutputWithPooling</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>last_hidden_state</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>) \u2014 Sequence of hidden-states at the output of the last layer of the model.</p>
</li>
<li>
<p><strong>pooler_output</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, hidden_size)</code>) \u2014 Last layer hidden-state of the first token of the sequence (classification token) further processed by a
Linear layer and a Tanh activation function. The Linear layer weights are trained from the next sentence
prediction (classification) objective during pretraining.</p>
<p>This output is usually <em>not</em> a good summary of the semantic content of the input, you\u2019re often better with
averaging or pooling the sequence of hidden-states for the whole input sequence.</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFBaseModelOutputWithPooling"
>transformers.modeling_tf_outputs.TFBaseModelOutputWithPooling</a> or <code>tuple(tf.Tensor)</code></p>
`}}),_s=new We({props:{$$slots:{default:[yz]},$$scope:{ctx:E}}}),bs=new Oe({props:{anchor:"transformers.TFAlbertModel.call.example",$$slots:{default:[vz]},$$scope:{ctx:E}}}),oi=new Re({}),ni=new D({props:{name:"class transformers.TFAlbertForPreTraining",anchor:"transformers.TFAlbertForPreTraining",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertForPreTraining.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L855"}}),ys=new We({props:{$$slots:{default:[Tz]},$$scope:{ctx:E}}}),ii=new D({props:{name:"call",anchor:"transformers.TFAlbertForPreTraining.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"labels",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"sentence_order_label",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertForPreTraining.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertForPreTraining.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertForPreTraining.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertForPreTraining.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertForPreTraining.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertForPreTraining.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertForPreTraining.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertForPreTraining.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertForPreTraining.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertForPreTraining.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L871",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/model_doc/albert#transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput"
>transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>prediction_logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) \u2014 Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).</p>
</li>
<li>
<p><strong>sop_logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, 2)</code>) \u2014 Prediction scores of the next sequence prediction (classification) head (scores of True/False continuation
before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/model_doc/albert#transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput"
>transformers.models.albert.modeling_tf_albert.TFAlbertForPreTrainingOutput</a> or <code>tuple(tf.Tensor)</code></p>
`}}),vs=new We({props:{$$slots:{default:[wz]},$$scope:{ctx:E}}}),Ts=new Oe({props:{anchor:"transformers.TFAlbertForPreTraining.call.example",$$slots:{default:[$z]},$$scope:{ctx:E}}}),li=new Re({}),di=new D({props:{name:"class transformers.TFAlbertForMaskedLM",anchor:"transformers.TFAlbertForMaskedLM",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertForMaskedLM.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L974"}}),$s=new We({props:{$$slots:{default:[Az]},$$scope:{ctx:E}}}),ui=new D({props:{name:"call",anchor:"transformers.TFAlbertForMaskedLM.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"labels",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertForMaskedLM.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertForMaskedLM.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertForMaskedLM.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertForMaskedLM.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertForMaskedLM.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertForMaskedLM.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertForMaskedLM.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertForMaskedLM.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertForMaskedLM.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertForMaskedLM.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"},{anchor:"transformers.TFAlbertForMaskedLM.call.labels",description:`<strong>labels</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Labels for computing the masked language modeling loss. Indices should be in <code>[-100, 0, ..., config.vocab_size]</code> (see <code>input_ids</code> docstring) Tokens with indices set to <code>-100</code> are ignored (masked), the
loss is only computed for the tokens with labels in <code>[0, ..., config.vocab_size]</code>`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L987",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFMaskedLMOutput"
>transformers.modeling_tf_outputs.TFMaskedLMOutput</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>tf.Tensor</code> of shape <code>(n,)</code>, <em>optional</em>, where n is the number of non-masked labels, returned when <code>labels</code> is provided) \u2014 Masked language modeling (MLM) loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) \u2014 Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFMaskedLMOutput"
>transformers.modeling_tf_outputs.TFMaskedLMOutput</a> or <code>tuple(tf.Tensor)</code></p>
`}}),As=new We({props:{$$slots:{default:[Fz]},$$scope:{ctx:E}}}),Fs=new Oe({props:{anchor:"transformers.TFAlbertForMaskedLM.call.example",$$slots:{default:[xz]},$$scope:{ctx:E}}}),xs=new Oe({props:{anchor:"transformers.TFAlbertForMaskedLM.call.example-2",$$slots:{default:[Ez]},$$scope:{ctx:E}}}),fi=new Re({}),gi=new D({props:{name:"class transformers.TFAlbertForSequenceClassification",anchor:"transformers.TFAlbertForSequenceClassification",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertForSequenceClassification.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1083"}}),Ms=new We({props:{$$slots:{default:[Mz]},$$scope:{ctx:E}}}),yi=new D({props:{name:"call",anchor:"transformers.TFAlbertForSequenceClassification.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"labels",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertForSequenceClassification.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertForSequenceClassification.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertForSequenceClassification.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertForSequenceClassification.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertForSequenceClassification.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertForSequenceClassification.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertForSequenceClassification.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertForSequenceClassification.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertForSequenceClassification.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertForSequenceClassification.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"},{anchor:"transformers.TFAlbertForSequenceClassification.call.labels",description:`<strong>labels</strong> (<code>tf.Tensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for computing the sequence classification/regression loss. Indices should be in <code>[0, ..., config.num_labels - 1]</code>. If <code>config.num_labels == 1</code> a regression loss is computed (Mean-Square loss), If
<code>config.num_labels &gt; 1</code> a classification loss is computed (Cross-Entropy).`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1099",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFSequenceClassifierOutput"
>transformers.modeling_tf_outputs.TFSequenceClassifierOutput</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, )</code>, <em>optional</em>, returned when <code>labels</code> is provided) \u2014 Classification (or regression if config.num_labels==1) loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, config.num_labels)</code>) \u2014 Classification (or regression if config.num_labels==1) scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFSequenceClassifierOutput"
>transformers.modeling_tf_outputs.TFSequenceClassifierOutput</a> or <code>tuple(tf.Tensor)</code></p>
`}}),zs=new We({props:{$$slots:{default:[zz]},$$scope:{ctx:E}}}),js=new Oe({props:{anchor:"transformers.TFAlbertForSequenceClassification.call.example",$$slots:{default:[jz]},$$scope:{ctx:E}}}),qs=new Oe({props:{anchor:"transformers.TFAlbertForSequenceClassification.call.example-2",$$slots:{default:[qz]},$$scope:{ctx:E}}}),vi=new Re({}),Ti=new D({props:{name:"class transformers.TFAlbertForMultipleChoice",anchor:"transformers.TFAlbertForMultipleChoice",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertForMultipleChoice.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1366"}}),Cs=new We({props:{$$slots:{default:[Pz]},$$scope:{ctx:E}}}),Fi=new D({props:{name:"call",anchor:"transformers.TFAlbertForMultipleChoice.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"labels",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertForMultipleChoice.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertForMultipleChoice.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertForMultipleChoice.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertForMultipleChoice.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertForMultipleChoice.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertForMultipleChoice.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, num_choices, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertForMultipleChoice.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertForMultipleChoice.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertForMultipleChoice.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertForMultipleChoice.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"},{anchor:"transformers.TFAlbertForMultipleChoice.call.labels",description:`<strong>labels</strong> (<code>tf.Tensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for computing the multiple choice classification loss. Indices should be in <code>[0, ..., num_choices]</code>
where <code>num_choices</code> is the size of the second dimension of the input tensors. (See <code>input_ids</code> above)`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1390",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFMultipleChoiceModelOutput"
>transformers.modeling_tf_outputs.TFMultipleChoiceModelOutput</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>tf.Tensor</code> of shape <em>(batch_size, )</em>, <em>optional</em>, returned when <code>labels</code> is provided) \u2014 Classification loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, num_choices)</code>) \u2014 <em>num_choices</em> is the second dimension of the input tensors. (see <em>input_ids</em> above).</p>
<p>Classification scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFMultipleChoiceModelOutput"
>transformers.modeling_tf_outputs.TFMultipleChoiceModelOutput</a> or <code>tuple(tf.Tensor)</code></p>
`}}),Ls=new We({props:{$$slots:{default:[Cz]},$$scope:{ctx:E}}}),Os=new Oe({props:{anchor:"transformers.TFAlbertForMultipleChoice.call.example",$$slots:{default:[Lz]},$$scope:{ctx:E}}}),xi=new Re({}),Ei=new D({props:{name:"class transformers.TFAlbertForTokenClassification",anchor:"transformers.TFAlbertForTokenClassification",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertForTokenClassification.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1172"}}),Ns=new We({props:{$$slots:{default:[Oz]},$$scope:{ctx:E}}}),qi=new D({props:{name:"call",anchor:"transformers.TFAlbertForTokenClassification.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"labels",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertForTokenClassification.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertForTokenClassification.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertForTokenClassification.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertForTokenClassification.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertForTokenClassification.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertForTokenClassification.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertForTokenClassification.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertForTokenClassification.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertForTokenClassification.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertForTokenClassification.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"},{anchor:"transformers.TFAlbertForTokenClassification.call.labels",description:`<strong>labels</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Labels for computing the token classification loss. Indices should be in <code>[0, ..., config.num_labels - 1]</code>.`,name:"labels"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1193",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFTokenClassifierOutput"
>transformers.modeling_tf_outputs.TFTokenClassifierOutput</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>tf.Tensor</code> of shape <code>(n,)</code>, <em>optional</em>, where n is the number of unmasked labels, returned when <code>labels</code> is provided)  \u2014 Classification loss.</p>
</li>
<li>
<p><strong>logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, config.num_labels)</code>) \u2014 Classification scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFTokenClassifierOutput"
>transformers.modeling_tf_outputs.TFTokenClassifierOutput</a> or <code>tuple(tf.Tensor)</code></p>
`}}),Ds=new We({props:{$$slots:{default:[Iz]},$$scope:{ctx:E}}}),Ss=new Oe({props:{anchor:"transformers.TFAlbertForTokenClassification.call.example",$$slots:{default:[Nz]},$$scope:{ctx:E}}}),Ws=new Oe({props:{anchor:"transformers.TFAlbertForTokenClassification.call.example-2",$$slots:{default:[Dz]},$$scope:{ctx:E}}}),Pi=new Re({}),Ci=new D({props:{name:"class transformers.TFAlbertForQuestionAnswering",anchor:"transformers.TFAlbertForQuestionAnswering",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.TFAlbertForQuestionAnswering.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1262"}}),Bs=new We({props:{$$slots:{default:[Sz]},$$scope:{ctx:E}}}),Ni=new D({props:{name:"call",anchor:"transformers.TFAlbertForQuestionAnswering.call",parameters:[{name:"input_ids",val:": typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typing.Dict[str, numpy.ndarray], typing.Dict[str, keras.engine.keras_tensor.KerasTensor], tensorflow.python.framework.ops.Tensor, numpy.ndarray, keras.engine.keras_tensor.KerasTensor, NoneType] = None"},{name:"attention_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"token_type_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"position_ids",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"head_mask",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"inputs_embeds",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"},{name:"start_positions",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"end_positions",val:": typing.Union[numpy.ndarray, tensorflow.python.framework.ops.Tensor, NoneType] = None"},{name:"training",val:": typing.Optional[bool] = False"}],parametersDescription:[{anchor:"transformers.TFAlbertForQuestionAnswering.call.input_ids",description:`<strong>input_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.attention_mask",description:`<strong>attention_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.token_type_ids",description:`<strong>token_type_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.position_ids",description:`<strong>position_ids</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.</p>
<p><a href="../glossary#position-ids">What are position IDs?</a>`,name:"position_ids"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.head_mask",description:`<strong>head_mask</strong> (<code>Numpy array</code> or <code>tf.Tensor</code> of shape <code>(num_heads,)</code> or <code>(num_layers, num_heads)</code>, <em>optional</em>) &#x2014;
Mask to nullify selected heads of the self-attention modules. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 indicates the head is <strong>not masked</strong>,</li>
<li>0 indicates the head is <strong>masked</strong>.</li>
</ul>`,name:"head_mask"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.inputs_embeds",description:`<strong>inputs_embeds</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>, <em>optional</em>) &#x2014;
Optionally, instead of passing <code>input_ids</code> you can choose to directly pass an embedded representation. This
is useful if you want more control over how to convert <code>input_ids</code> indices into associated vectors than the
model&#x2019;s internal embedding lookup matrix.`,name:"inputs_embeds"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.output_attentions",description:`<strong>output_attentions</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the attentions tensors of all attention layers. See <code>attentions</code> under returned
tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the
config will be used instead.`,name:"output_attentions"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.output_hidden_states",description:`<strong>output_hidden_states</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return the hidden states of all layers. See <code>hidden_states</code> under returned tensors for
more detail. This argument can be used only in eager mode, in graph mode the value in the config will be
used instead.`,name:"output_hidden_states"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple. This argument can be used in
eager mode, in graph mode the value will always be set to True.`,name:"return_dict"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.training",description:`<strong>training</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to use the model in training mode (some modules like dropout modules have different
behaviors between training and evaluation).`,name:"training"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.start_positions",description:`<strong>start_positions</strong> (<code>tf.Tensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for position (index) of the start of the labelled span for computing the token classification loss.
Positions are clamped to the length of the sequence (<code>sequence_length</code>). Position outside of the sequence
are not taken into account for computing the loss.`,name:"start_positions"},{anchor:"transformers.TFAlbertForQuestionAnswering.call.end_positions",description:`<strong>end_positions</strong> (<code>tf.Tensor</code> of shape <code>(batch_size,)</code>, <em>optional</em>) &#x2014;
Labels for position (index) of the end of the labelled span for computing the token classification loss.
Positions are clamped to the length of the sequence (<code>sequence_length</code>). Position outside of the sequence
are not taken into account for computing the loss.`,name:"end_positions"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_tf_albert.py#L1276",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFQuestionAnsweringModelOutput"
>transformers.modeling_tf_outputs.TFQuestionAnsweringModelOutput</a> or a tuple of <code>tf.Tensor</code> (if
<code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various elements depending on the
configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>loss</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, )</code>, <em>optional</em>, returned when <code>start_positions</code> and <code>end_positions</code> are provided) \u2014 Total span extraction loss is the sum of a Cross-Entropy for the start and end positions.</p>
</li>
<li>
<p><strong>start_logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) \u2014 Span-start scores (before SoftMax).</p>
</li>
<li>
<p><strong>end_logits</strong> (<code>tf.Tensor</code> of shape <code>(batch_size, sequence_length)</code>) \u2014 Span-end scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(tf.Tensor)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>tf.Tensor</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_tf_outputs.TFQuestionAnsweringModelOutput"
>transformers.modeling_tf_outputs.TFQuestionAnsweringModelOutput</a> or <code>tuple(tf.Tensor)</code></p>
`}}),Rs=new We({props:{$$slots:{default:[Wz]},$$scope:{ctx:E}}}),Hs=new Oe({props:{anchor:"transformers.TFAlbertForQuestionAnswering.call.example",$$slots:{default:[Uz]},$$scope:{ctx:E}}}),Qs=new Oe({props:{anchor:"transformers.TFAlbertForQuestionAnswering.call.example-2",$$slots:{default:[Bz]},$$scope:{ctx:E}}}),Di=new Re({}),Si=new D({props:{name:"class transformers.FlaxAlbertModel",anchor:"transformers.FlaxAlbertModel",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertModel.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertModel.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L678"}}),Vi=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertModel.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertModel.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertModel.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertModel.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertModel.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertModel.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling"
>transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>last_hidden_state</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, sequence_length, hidden_size)</code>) \u2014 Sequence of hidden-states at the output of the last layer of the model.</p>
</li>
<li>
<p><strong>pooler_output</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, hidden_size)</code>) \u2014 Last layer hidden-state of the first token of the sequence (classification token) further processed by a
Linear layer and a Tanh activation function. The Linear layer weights are trained from the next sentence
prediction (classification) objective during pretraining.</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling"
>transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),Vs=new We({props:{$$slots:{default:[Rz]},$$scope:{ctx:E}}}),Js=new Oe({props:{anchor:"transformers.FlaxAlbertModel.__call__.example",$$slots:{default:[Hz]},$$scope:{ctx:E}}}),Ji=new Re({}),Gi=new D({props:{name:"class transformers.FlaxAlbertForPreTraining",anchor:"transformers.FlaxAlbertForPreTraining",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertForPreTraining.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertForPreTraining.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L747"}}),sl=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertForPreTraining.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertForPreTraining.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertForPreTraining.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertForPreTraining.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertForPreTraining.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertForPreTraining.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <code>transformers.models.albert.modeling_flax_albert.FlaxAlbertForPreTrainingOutput</code> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>prediction_logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) \u2014 Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).</p>
</li>
<li>
<p><strong>sop_logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, 2)</code>) \u2014 Prediction scores of the next sequence prediction (classification) head (scores of True/False continuation
before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><code>transformers.models.albert.modeling_flax_albert.FlaxAlbertForPreTrainingOutput</code> or <code>tuple(torch.FloatTensor)</code></p>
`}}),Xs=new We({props:{$$slots:{default:[Qz]},$$scope:{ctx:E}}}),Ys=new Oe({props:{anchor:"transformers.FlaxAlbertForPreTraining.__call__.example",$$slots:{default:[Kz]},$$scope:{ctx:E}}}),rl=new Re({}),al=new D({props:{name:"class transformers.FlaxAlbertForMaskedLM",anchor:"transformers.FlaxAlbertForMaskedLM",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertForMaskedLM.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertForMaskedLM.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L830"}}),fl=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertForMaskedLM.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertForMaskedLM.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertForMaskedLM.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertForMaskedLM.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertForMaskedLM.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertForMaskedLM.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxMaskedLMOutput"
>transformers.modeling_flax_outputs.FlaxMaskedLMOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, sequence_length, config.vocab_size)</code>) \u2014 Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxMaskedLMOutput"
>transformers.modeling_flax_outputs.FlaxMaskedLMOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),er=new We({props:{$$slots:{default:[Vz]},$$scope:{ctx:E}}}),tr=new Oe({props:{anchor:"transformers.FlaxAlbertForMaskedLM.__call__.example",$$slots:{default:[Jz]},$$scope:{ctx:E}}}),gl=new Re({}),_l=new D({props:{name:"class transformers.FlaxAlbertForSequenceClassification",anchor:"transformers.FlaxAlbertForSequenceClassification",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertForSequenceClassification.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertForSequenceClassification.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L898"}}),Al=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertForSequenceClassification.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertForSequenceClassification.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertForSequenceClassification.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertForSequenceClassification.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertForSequenceClassification.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertForSequenceClassification.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxSequenceClassifierOutput"
>transformers.modeling_flax_outputs.FlaxSequenceClassifierOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, config.num_labels)</code>) \u2014 Classification (or regression if config.num_labels==1) scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxSequenceClassifierOutput"
>transformers.modeling_flax_outputs.FlaxSequenceClassifierOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),nr=new We({props:{$$slots:{default:[Gz]},$$scope:{ctx:E}}}),sr=new Oe({props:{anchor:"transformers.FlaxAlbertForSequenceClassification.__call__.example",$$slots:{default:[Xz]},$$scope:{ctx:E}}}),Fl=new Re({}),xl=new D({props:{name:"class transformers.FlaxAlbertForMultipleChoice",anchor:"transformers.FlaxAlbertForMultipleChoice",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertForMultipleChoice.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertForMultipleChoice.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L971"}}),Ll=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertForMultipleChoice.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertForMultipleChoice.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, num_choices, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertForMultipleChoice.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertForMultipleChoice.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertForMultipleChoice.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, num_choices, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertForMultipleChoice.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxMultipleChoiceModelOutput"
>transformers.modeling_flax_outputs.FlaxMultipleChoiceModelOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, num_choices)</code>) \u2014 <em>num_choices</em> is the second dimension of the input tensors. (see <em>input_ids</em> above).</p>
<p>Classification scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxMultipleChoiceModelOutput"
>transformers.modeling_flax_outputs.FlaxMultipleChoiceModelOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),ar=new We({props:{$$slots:{default:[Yz]},$$scope:{ctx:E}}}),ir=new Oe({props:{anchor:"transformers.FlaxAlbertForMultipleChoice.__call__.example",$$slots:{default:[Zz]},$$scope:{ctx:E}}}),Ol=new Re({}),Il=new D({props:{name:"class transformers.FlaxAlbertForTokenClassification",anchor:"transformers.FlaxAlbertForTokenClassification",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertForTokenClassification.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertForTokenClassification.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L1044"}}),Hl=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertForTokenClassification.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertForTokenClassification.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertForTokenClassification.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertForTokenClassification.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertForTokenClassification.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertForTokenClassification.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxTokenClassifierOutput"
>transformers.modeling_flax_outputs.FlaxTokenClassifierOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, sequence_length, config.num_labels)</code>) \u2014 Classification scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxTokenClassifierOutput"
>transformers.modeling_flax_outputs.FlaxTokenClassifierOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),dr=new We({props:{$$slots:{default:[e4]},$$scope:{ctx:E}}}),cr=new Oe({props:{anchor:"transformers.FlaxAlbertForTokenClassification.__call__.example",$$slots:{default:[t4]},$$scope:{ctx:E}}}),Ql=new Re({}),Kl=new D({props:{name:"class transformers.FlaxAlbertForQuestionAnswering",anchor:"transformers.FlaxAlbertForQuestionAnswering",parameters:[{name:"config",val:": AlbertConfig"},{name:"input_shape",val:": typing.Tuple = (1, 1)"},{name:"seed",val:": int = 0"},{name:"dtype",val:": dtype = <class 'jax.numpy.float32'>"},{name:"_do_init",val:": bool = True"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.FlaxAlbertForQuestionAnswering.config",description:`<strong>config</strong> (<a href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig">AlbertConfig</a>) &#x2014; Model configuration class with all the parameters of the model.
Initializing with a config file does not load the weights associated with the model, only the
configuration. Check out the <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.from_pretrained">from_pretrained()</a> method to load the model weights.`,name:"config"},{anchor:"transformers.FlaxAlbertForQuestionAnswering.dtype",description:`<strong>dtype</strong> (<code>jax.numpy.dtype</code>, <em>optional</em>, defaults to <code>jax.numpy.float32</code>) &#x2014;
The data type of the computation. Can be one of <code>jax.numpy.float32</code>, <code>jax.numpy.float16</code> (on GPUs) and
<code>jax.numpy.bfloat16</code> (on TPUs).</p>
<p>This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If
specified all the computation will be performed with the given <code>dtype</code>.</p>
<p><strong>Note that this only specifies the dtype of the computation and does not influence the dtype of model
parameters.</strong></p>
<p>If you wish to change the dtype of the model parameters, see <a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_fp16">to_fp16()</a> and
<a href="/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel.to_bf16">to_bf16()</a>.`,name:"dtype"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L1112"}}),td=new D({props:{name:"__call__",anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__",parameters:[{name:"input_ids",val:""},{name:"attention_mask",val:" = None"},{name:"token_type_ids",val:" = None"},{name:"position_ids",val:" = None"},{name:"params",val:": dict = None"},{name:"dropout_rng",val:": PRNGKey = None"},{name:"train",val:": bool = False"},{name:"output_attentions",val:": typing.Optional[bool] = None"},{name:"output_hidden_states",val:": typing.Optional[bool] = None"},{name:"return_dict",val:": typing.Optional[bool] = None"}],parametersDescription:[{anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__.input_ids",description:`<strong>input_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) &#x2014;
Indices of input sequence tokens in the vocabulary.</p>
<p>Indices can be obtained using <a href="/docs/transformers/main/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a>. See <a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode">PreTrainedTokenizer.encode()</a> and
<a href="/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__">PreTrainedTokenizer.<strong>call</strong>()</a> for details.</p>
<p><a href="../glossary#input-ids">What are input IDs?</a>`,name:"input_ids"},{anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__.attention_mask",description:`<strong>attention_mask</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Mask to avoid performing attention on padding token indices. Mask values selected in <code>[0, 1]</code>:</p>
<ul>
<li>1 for tokens that are <strong>not masked</strong>,</li>
<li>0 for tokens that are <strong>masked</strong>.</li>
</ul>
<p><a href="../glossary#attention-mask">What are attention masks?</a>`,name:"attention_mask"},{anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__.token_type_ids",description:`<strong>token_type_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Segment token indices to indicate first and second portions of the inputs. Indices are selected in <code>[0, 1]</code>:</p>
<ul>
<li>0 corresponds to a <em>sentence A</em> token,</li>
<li>1 corresponds to a <em>sentence B</em> token.</li>
</ul>
<p><a href="../glossary#token-type-ids">What are token type IDs?</a>`,name:"token_type_ids"},{anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__.position_ids",description:`<strong>position_ids</strong> (<code>numpy.ndarray</code> of shape <code>(batch_size, sequence_length)</code>, <em>optional</em>) &#x2014;
Indices of positions of each input sequence tokens in the position embeddings. Selected in the range <code>[0, config.max_position_embeddings - 1]</code>.`,name:"position_ids"},{anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not to return a <a href="/docs/transformers/main/en/main_classes/output#transformers.utils.ModelOutput">ModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/models/albert/modeling_flax_albert.py#L555",returnDescription:`
<p>A <a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxQuestionAnsweringModelOutput"
>transformers.modeling_flax_outputs.FlaxQuestionAnsweringModelOutput</a> or a tuple of
<code>torch.FloatTensor</code> (if <code>return_dict=False</code> is passed or when <code>config.return_dict=False</code>) comprising various
elements depending on the configuration (<a
  href="/docs/transformers/main/en/model_doc/albert#transformers.AlbertConfig"
>AlbertConfig</a>) and inputs.</p>
<ul>
<li>
<p><strong>start_logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) \u2014 Span-start scores (before SoftMax).</p>
</li>
<li>
<p><strong>end_logits</strong> (<code>jnp.ndarray</code> of shape <code>(batch_size, sequence_length)</code>) \u2014 Span-end scores (before SoftMax).</p>
</li>
<li>
<p><strong>hidden_states</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_hidden_states=True</code> is passed or when <code>config.output_hidden_states=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for the output of the embeddings + one for the output of each layer) of shape
<code>(batch_size, sequence_length, hidden_size)</code>.</p>
<p>Hidden-states of the model at the output of each layer plus the initial embedding outputs.</p>
</li>
<li>
<p><strong>attentions</strong> (<code>tuple(jnp.ndarray)</code>, <em>optional</em>, returned when <code>output_attentions=True</code> is passed or when <code>config.output_attentions=True</code>) \u2014 Tuple of <code>jnp.ndarray</code> (one for each layer) of shape <code>(batch_size, num_heads, sequence_length, sequence_length)</code>.</p>
<p>Attentions weights after the attention softmax, used to compute the weighted average in the self-attention
heads.</p>
</li>
</ul>
`,returnType:`
<p><a
  href="/docs/transformers/main/en/main_classes/output#transformers.modeling_flax_outputs.FlaxQuestionAnsweringModelOutput"
>transformers.modeling_flax_outputs.FlaxQuestionAnsweringModelOutput</a> or <code>tuple(torch.FloatTensor)</code></p>
`}}),hr=new We({props:{$$slots:{default:[o4]},$$scope:{ctx:E}}}),mr=new Oe({props:{anchor:"transformers.FlaxAlbertForQuestionAnswering.__call__.example",$$slots:{default:[n4]},$$scope:{ctx:E}}}),{c(){d=r("meta"),b=p(),m=r("h1"),f=r("a"),_=r("span"),v(l.$$.fragment),c=p(),M=r("span"),be=o("ALBERT"),me=p(),W=r("h2"),se=r("a"),te=r("span"),v(x.$$.fragment),ke=p(),Q=r("span"),ye=o("Overview"),ue=p(),U=r("p"),ve=o("The ALBERT model was proposed in "),ae=r("a"),G=o("ALBERT: A Lite BERT for Self-supervised Learning of Language Representations"),Te=o(` by Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma,
Radu Soricut. It presents two parameter-reduction techniques to lower memory consumption and increase the training
speed of BERT:`),fe=p(),B=r("ul"),ce=r("li"),we=o("Splitting the embedding matrix into two smaller matrices."),X=p(),pe=r("li"),$e=o("Using repeating layers split among groups."),oe=p(),q=r("p"),L=o("The abstract from the paper is the following:"),ge=p(),H=r("p"),he=r("em"),Ae=o(`Increasing model size when pretraining natural language representations often results in improved performance on
downstream tasks. However, at some point further model increases become harder due to GPU/TPU memory limitations,
longer training times, and unexpected model degradation. To address these problems, we present two parameter-reduction
techniques to lower memory consumption and increase the training speed of BERT. Comprehensive empirical evidence shows
that our proposed methods lead to models that scale much better compared to the original BERT. We also use a
self-supervised loss that focuses on modeling inter-sentence coherence, and show it consistently helps downstream tasks
with multi-sentence inputs. As a result, our best model establishes new state-of-the-art results on the GLUE, RACE, and
SQuAD benchmarks while having fewer parameters compared to BERT-large.`),J=p(),le=r("p"),Fe=o("Tips:"),C=p(),re=r("ul"),K=r("li"),xe=o(`ALBERT is a model with absolute position embeddings so it\u2019s usually advised to pad the inputs on the right rather
than the left.`),Ee=p(),V=r("li"),Me=o(`ALBERT uses repeating layers which results in a small memory footprint, however the computational cost remains
similar to a BERT-like architecture with the same number of hidden layers as it has to iterate through the same
number of (repeating) layers.`),_e=p(),O=r("p"),ze=o("This model was contributed by "),R=r("a"),je=o("lysandre"),ne=o(`. This model jax version was contributed by
`),P=r("a"),qe=o("kamalkraj"),I=o(". The original code can be found "),ie=r("a"),Pe=o("here"),y=o("."),z=p(),Le=r("h2"),Z=r("a"),He=r("span"),v(De.$$.fragment),j=p(),Qe=r("span"),Ve=o("AlbertConfig"),Ke=p(),de=r("div"),v(Se.$$.fragment),S=p(),N=r("p"),Je=o("This is the configuration class to store the configuration of a "),Ue=r("a"),Y=o("AlbertModel"),Ge=o(" or a "),Be=r("a"),Ce=o("TFAlbertModel"),Xe=o(`. It is used
to instantiate an ALBERT model according to the specified arguments, defining the model architecture. Instantiating
a configuration with the defaults will yield a similar configuration to that of the ALBERT
`),ee=r("a"),Ye=o("albert-xxlarge-v2"),wg=o(" architecture."),$g=p(),Co=r("p"),Ag=o("Configuration objects inherit from "),ud=r("a"),Fg=o("PretrainedConfig"),xg=o(` and can be used to control the model outputs. Read the
documentation from `),fd=r("a"),Eg=o("PretrainedConfig"),Mg=o(" for more information."),zg=p(),v(Dn.$$.fragment),iu=p(),Lo=r("h2"),Sn=r("a"),Oc=r("span"),v(Dr.$$.fragment),jg=p(),Ic=r("span"),qg=o("AlbertTokenizer"),lu=p(),Ze=r("div"),v(Sr.$$.fragment),Pg=p(),Wr=r("p"),Cg=o("Construct an ALBERT tokenizer. Based on "),Ur=r("a"),Lg=o("SentencePiece"),Og=o("."),Ig=p(),Br=r("p"),Ng=o("This tokenizer inherits from "),gd=r("a"),Dg=o("PreTrainedTokenizer"),Sg=o(` which contains most of the main methods. Users should refer to
this superclass for more information regarding those methods.`),Wg=p(),ko=r("div"),v(Rr.$$.fragment),Ug=p(),Nc=r("p"),Bg=o(`Build model inputs from a sequence or a pair of sequence for sequence classification tasks by concatenating and
adding special tokens. An ALBERT sequence has the following format:`),Rg=p(),Hr=r("ul"),_d=r("li"),Hg=o("single sequence: "),Dc=r("code"),Qg=o("[CLS] X [SEP]"),Kg=p(),bd=r("li"),Vg=o("pair of sequences: "),Sc=r("code"),Jg=o("[CLS] A [SEP] B [SEP]"),Gg=p(),Wn=r("div"),v(Qr.$$.fragment),Xg=p(),Kr=r("p"),Yg=o(`Retrieve sequence ids from a token list that has no special tokens added. This method is called when adding
special tokens using the tokenizer `),Wc=r("code"),Zg=o("prepare_for_model"),e_=o(" method."),t_=p(),Ot=r("div"),v(Vr.$$.fragment),o_=p(),Uc=r("p"),n_=o("Create a mask from the two sequences passed to be used in a sequence-pair classification task. An ALBERT"),s_=p(),v(Un.$$.fragment),r_=p(),Oo=r("p"),a_=o("If "),Bc=r("code"),i_=o("token_ids_1"),l_=o(" is "),Rc=r("code"),d_=o("None"),c_=o(", this method only returns the first portion of the mask (0s)."),p_=p(),kd=r("div"),v(Jr.$$.fragment),du=p(),Io=r("h2"),Bn=r("a"),Hc=r("span"),v(Gr.$$.fragment),h_=p(),Qc=r("span"),m_=o("AlbertTokenizerFast"),cu=p(),Lt=r("div"),v(Xr.$$.fragment),u_=p(),ao=r("p"),f_=o("Construct a \u201Cfast\u201D ALBERT tokenizer (backed by HuggingFace\u2019s "),Kc=r("em"),g_=o("tokenizers"),__=o(` library). Based on
`),Yr=r("a"),b_=o("Unigram"),k_=o(`. This
tokenizer inherits from `),yd=r("a"),y_=o("PreTrainedTokenizerFast"),v_=o(` which contains most of the main methods. Users should refer to
this superclass for more information regarding those methods`),T_=p(),yo=r("div"),v(Zr.$$.fragment),w_=p(),Vc=r("p"),$_=o(`Build model inputs from a sequence or a pair of sequence for sequence classification tasks by concatenating and
adding special tokens. An ALBERT sequence has the following format:`),A_=p(),ea=r("ul"),vd=r("li"),F_=o("single sequence: "),Jc=r("code"),x_=o("[CLS] X [SEP]"),E_=p(),Td=r("li"),M_=o("pair of sequences: "),Gc=r("code"),z_=o("[CLS] A [SEP] B [SEP]"),j_=p(),It=r("div"),v(ta.$$.fragment),q_=p(),Xc=r("p"),P_=o("Creates a mask from the two sequences passed to be used in a sequence-pair classification task. An ALBERT"),C_=p(),v(Rn.$$.fragment),L_=p(),Yc=r("p"),O_=o("if token_ids_1 is None, only returns the first portion of the mask (0s)."),pu=p(),No=r("h2"),Hn=r("a"),Zc=r("span"),v(oa.$$.fragment),I_=p(),ep=r("span"),N_=o("Albert specific outputs"),hu=p(),Do=r("div"),v(na.$$.fragment),D_=p(),sa=r("p"),S_=o("Output type of "),wd=r("a"),W_=o("AlbertForPreTraining"),U_=o("."),mu=p(),So=r("div"),v(ra.$$.fragment),B_=p(),aa=r("p"),R_=o("Output type of "),$d=r("a"),H_=o("TFAlbertForPreTraining"),Q_=o("."),uu=p(),Wo=r("h2"),Qn=r("a"),tp=r("span"),v(ia.$$.fragment),K_=p(),op=r("span"),V_=o("AlbertModel"),fu=p(),ft=r("div"),v(la.$$.fragment),J_=p(),np=r("p"),G_=o("The bare ALBERT Model transformer outputting raw hidden-states without any specific head on top."),X_=p(),da=r("p"),Y_=o("This model inherits from "),Ad=r("a"),Z_=o("PreTrainedModel"),eb=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),tb=p(),ca=r("p"),ob=o("This model is also a PyTorch "),pa=r("a"),nb=o("torch.nn.Module"),sb=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),rb=p(),Nt=r("div"),v(ha.$$.fragment),ab=p(),Uo=r("p"),ib=o("The "),Fd=r("a"),lb=o("AlbertModel"),db=o(" forward method, overrides the "),sp=r("code"),cb=o("__call__"),pb=o(" special method."),hb=p(),v(Kn.$$.fragment),mb=p(),v(Vn.$$.fragment),gu=p(),Bo=r("h2"),Jn=r("a"),rp=r("span"),v(ma.$$.fragment),ub=p(),ap=r("span"),fb=o("AlbertForPreTraining"),_u=p(),gt=r("div"),v(ua.$$.fragment),gb=p(),Ro=r("p"),_b=o("Albert Model with two heads on top as done during the pretraining: a "),ip=r("code"),bb=o("masked language modeling"),kb=o(` head and a
`),lp=r("code"),yb=o("sentence order prediction (classification)"),vb=o(" head."),Tb=p(),fa=r("p"),wb=o("This model inherits from "),xd=r("a"),$b=o("PreTrainedModel"),Ab=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Fb=p(),ga=r("p"),xb=o("This model is also a PyTorch "),_a=r("a"),Eb=o("torch.nn.Module"),Mb=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),zb=p(),Dt=r("div"),v(ba.$$.fragment),jb=p(),Ho=r("p"),qb=o("The "),Ed=r("a"),Pb=o("AlbertForPreTraining"),Cb=o(" forward method, overrides the "),dp=r("code"),Lb=o("__call__"),Ob=o(" special method."),Ib=p(),v(Gn.$$.fragment),Nb=p(),v(Xn.$$.fragment),bu=p(),Qo=r("h2"),Yn=r("a"),cp=r("span"),v(ka.$$.fragment),Db=p(),pp=r("span"),Sb=o("AlbertForMaskedLM"),ku=p(),_t=r("div"),v(ya.$$.fragment),Wb=p(),va=r("p"),Ub=o("Albert Model with a "),hp=r("code"),Bb=o("language modeling"),Rb=o(" head on top."),Hb=p(),Ta=r("p"),Qb=o("This model inherits from "),Md=r("a"),Kb=o("PreTrainedModel"),Vb=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Jb=p(),wa=r("p"),Gb=o("This model is also a PyTorch "),$a=r("a"),Xb=o("torch.nn.Module"),Yb=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),Zb=p(),Tt=r("div"),v(Aa.$$.fragment),ek=p(),Ko=r("p"),tk=o("The "),zd=r("a"),ok=o("AlbertForMaskedLM"),nk=o(" forward method, overrides the "),mp=r("code"),sk=o("__call__"),rk=o(" special method."),ak=p(),v(Zn.$$.fragment),ik=p(),v(es.$$.fragment),lk=p(),v(ts.$$.fragment),yu=p(),Vo=r("h2"),os=r("a"),up=r("span"),v(Fa.$$.fragment),dk=p(),fp=r("span"),ck=o("AlbertForSequenceClassification"),vu=p(),bt=r("div"),v(xa.$$.fragment),pk=p(),gp=r("p"),hk=o(`Albert Model transformer with a sequence classification/regression head on top (a linear layer on top of the pooled
output) e.g. for GLUE tasks.`),mk=p(),Ea=r("p"),uk=o("This model inherits from "),jd=r("a"),fk=o("PreTrainedModel"),gk=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),_k=p(),Ma=r("p"),bk=o("This model is also a PyTorch "),za=r("a"),kk=o("torch.nn.Module"),yk=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),vk=p(),wt=r("div"),v(ja.$$.fragment),Tk=p(),Jo=r("p"),wk=o("The "),qd=r("a"),$k=o("AlbertForSequenceClassification"),Ak=o(" forward method, overrides the "),_p=r("code"),Fk=o("__call__"),xk=o(" special method."),Ek=p(),v(ns.$$.fragment),Mk=p(),v(ss.$$.fragment),zk=p(),v(rs.$$.fragment),Tu=p(),Go=r("h2"),as=r("a"),bp=r("span"),v(qa.$$.fragment),jk=p(),kp=r("span"),qk=o("AlbertForMultipleChoice"),wu=p(),kt=r("div"),v(Pa.$$.fragment),Pk=p(),yp=r("p"),Ck=o(`Albert Model with a multiple choice classification head on top (a linear layer on top of the pooled output and a
softmax) e.g. for RocStories/SWAG tasks.`),Lk=p(),Ca=r("p"),Ok=o("This model inherits from "),Pd=r("a"),Ik=o("PreTrainedModel"),Nk=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Dk=p(),La=r("p"),Sk=o("This model is also a PyTorch "),Oa=r("a"),Wk=o("torch.nn.Module"),Uk=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),Bk=p(),St=r("div"),v(Ia.$$.fragment),Rk=p(),Xo=r("p"),Hk=o("The "),Cd=r("a"),Qk=o("AlbertForMultipleChoice"),Kk=o(" forward method, overrides the "),vp=r("code"),Vk=o("__call__"),Jk=o(" special method."),Gk=p(),v(is.$$.fragment),Xk=p(),v(ls.$$.fragment),$u=p(),Yo=r("h2"),ds=r("a"),Tp=r("span"),v(Na.$$.fragment),Yk=p(),wp=r("span"),Zk=o("AlbertForTokenClassification"),Au=p(),yt=r("div"),v(Da.$$.fragment),ey=p(),$p=r("p"),ty=o(`Albert Model with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for
Named-Entity-Recognition (NER) tasks.`),oy=p(),Sa=r("p"),ny=o("This model inherits from "),Ld=r("a"),sy=o("PreTrainedModel"),ry=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),ay=p(),Wa=r("p"),iy=o("This model is also a PyTorch "),Ua=r("a"),ly=o("torch.nn.Module"),dy=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),cy=p(),Wt=r("div"),v(Ba.$$.fragment),py=p(),Zo=r("p"),hy=o("The "),Od=r("a"),my=o("AlbertForTokenClassification"),uy=o(" forward method, overrides the "),Ap=r("code"),fy=o("__call__"),gy=o(" special method."),_y=p(),v(cs.$$.fragment),by=p(),v(ps.$$.fragment),Fu=p(),en=r("h2"),hs=r("a"),Fp=r("span"),v(Ra.$$.fragment),ky=p(),xp=r("span"),yy=o("AlbertForQuestionAnswering"),xu=p(),vt=r("div"),v(Ha.$$.fragment),vy=p(),tn=r("p"),Ty=o(`Albert Model with a span classification head on top for extractive question-answering tasks like SQuAD (a linear
layers on top of the hidden-states output to compute `),Ep=r("code"),wy=o("span start logits"),$y=o(" and "),Mp=r("code"),Ay=o("span end logits"),Fy=o(")."),xy=p(),Qa=r("p"),Ey=o("This model inherits from "),Id=r("a"),My=o("PreTrainedModel"),zy=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),jy=p(),Ka=r("p"),qy=o("This model is also a PyTorch "),Va=r("a"),Py=o("torch.nn.Module"),Cy=o(` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),Ly=p(),Ut=r("div"),v(Ja.$$.fragment),Oy=p(),on=r("p"),Iy=o("The "),Nd=r("a"),Ny=o("AlbertForQuestionAnswering"),Dy=o(" forward method, overrides the "),zp=r("code"),Sy=o("__call__"),Wy=o(" special method."),Uy=p(),v(ms.$$.fragment),By=p(),v(us.$$.fragment),Eu=p(),nn=r("h2"),fs=r("a"),jp=r("span"),v(Ga.$$.fragment),Ry=p(),qp=r("span"),Hy=o("TFAlbertModel"),Mu=p(),it=r("div"),v(Xa.$$.fragment),Qy=p(),Pp=r("p"),Ky=o("The bare Albert Model transformer outputting raw hidden-states without any specific head on top."),Vy=p(),Ya=r("p"),Jy=o("This model inherits from "),Dd=r("a"),Gy=o("TFPreTrainedModel"),Xy=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Yy=p(),Za=r("p"),Zy=o("This model is also a "),ei=r("a"),ev=o("tf.keras.Model"),tv=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),ov=p(),v(gs.$$.fragment),nv=p(),Bt=r("div"),v(ti.$$.fragment),sv=p(),sn=r("p"),rv=o("The "),Sd=r("a"),av=o("TFAlbertModel"),iv=o(" forward method, overrides the "),Cp=r("code"),lv=o("__call__"),dv=o(" special method."),cv=p(),v(_s.$$.fragment),pv=p(),v(bs.$$.fragment),zu=p(),rn=r("h2"),ks=r("a"),Lp=r("span"),v(oi.$$.fragment),hv=p(),Op=r("span"),mv=o("TFAlbertForPreTraining"),ju=p(),lt=r("div"),v(ni.$$.fragment),uv=p(),an=r("p"),fv=o("Albert Model with two heads on top for pretraining: a "),Ip=r("code"),gv=o("masked language modeling"),_v=o(" head and a "),Np=r("code"),bv=o("sentence order prediction"),kv=o(" (classification) head."),yv=p(),si=r("p"),vv=o("This model inherits from "),Wd=r("a"),Tv=o("TFPreTrainedModel"),wv=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),$v=p(),ri=r("p"),Av=o("This model is also a "),ai=r("a"),Fv=o("tf.keras.Model"),xv=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Ev=p(),v(ys.$$.fragment),Mv=p(),Rt=r("div"),v(ii.$$.fragment),zv=p(),ln=r("p"),jv=o("The "),Ud=r("a"),qv=o("TFAlbertForPreTraining"),Pv=o(" forward method, overrides the "),Dp=r("code"),Cv=o("__call__"),Lv=o(" special method."),Ov=p(),v(vs.$$.fragment),Iv=p(),v(Ts.$$.fragment),qu=p(),dn=r("h2"),ws=r("a"),Sp=r("span"),v(li.$$.fragment),Nv=p(),Wp=r("span"),Dv=o("TFAlbertForMaskedLM"),Pu=p(),dt=r("div"),v(di.$$.fragment),Sv=p(),ci=r("p"),Wv=o("Albert Model with a "),Up=r("code"),Uv=o("language modeling"),Bv=o(" head on top."),Rv=p(),pi=r("p"),Hv=o("This model inherits from "),Bd=r("a"),Qv=o("TFPreTrainedModel"),Kv=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Vv=p(),hi=r("p"),Jv=o("This model is also a "),mi=r("a"),Gv=o("tf.keras.Model"),Xv=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Yv=p(),v($s.$$.fragment),Zv=p(),$t=r("div"),v(ui.$$.fragment),eT=p(),cn=r("p"),tT=o("The "),Rd=r("a"),oT=o("TFAlbertForMaskedLM"),nT=o(" forward method, overrides the "),Bp=r("code"),sT=o("__call__"),rT=o(" special method."),aT=p(),v(As.$$.fragment),iT=p(),v(Fs.$$.fragment),lT=p(),v(xs.$$.fragment),Cu=p(),pn=r("h2"),Es=r("a"),Rp=r("span"),v(fi.$$.fragment),dT=p(),Hp=r("span"),cT=o("TFAlbertForSequenceClassification"),Lu=p(),ct=r("div"),v(gi.$$.fragment),pT=p(),Qp=r("p"),hT=o(`Albert Model transformer with a sequence classification/regression head on top (a linear layer on top of the pooled
output) e.g. for GLUE tasks.`),mT=p(),_i=r("p"),uT=o("This model inherits from "),Hd=r("a"),fT=o("TFPreTrainedModel"),gT=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),_T=p(),bi=r("p"),bT=o("This model is also a "),ki=r("a"),kT=o("tf.keras.Model"),yT=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),vT=p(),v(Ms.$$.fragment),TT=p(),At=r("div"),v(yi.$$.fragment),wT=p(),hn=r("p"),$T=o("The "),Qd=r("a"),AT=o("TFAlbertForSequenceClassification"),FT=o(" forward method, overrides the "),Kp=r("code"),xT=o("__call__"),ET=o(" special method."),MT=p(),v(zs.$$.fragment),zT=p(),v(js.$$.fragment),jT=p(),v(qs.$$.fragment),Ou=p(),mn=r("h2"),Ps=r("a"),Vp=r("span"),v(vi.$$.fragment),qT=p(),Jp=r("span"),PT=o("TFAlbertForMultipleChoice"),Iu=p(),pt=r("div"),v(Ti.$$.fragment),CT=p(),Gp=r("p"),LT=o(`Albert Model with a multiple choice classification head on top (a linear layer on top of the pooled output and a
softmax) e.g. for RocStories/SWAG tasks.`),OT=p(),wi=r("p"),IT=o("This model inherits from "),Kd=r("a"),NT=o("TFPreTrainedModel"),DT=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),ST=p(),$i=r("p"),WT=o("This model is also a "),Ai=r("a"),UT=o("tf.keras.Model"),BT=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),RT=p(),v(Cs.$$.fragment),HT=p(),Ht=r("div"),v(Fi.$$.fragment),QT=p(),un=r("p"),KT=o("The "),Vd=r("a"),VT=o("TFAlbertForMultipleChoice"),JT=o(" forward method, overrides the "),Xp=r("code"),GT=o("__call__"),XT=o(" special method."),YT=p(),v(Ls.$$.fragment),ZT=p(),v(Os.$$.fragment),Nu=p(),fn=r("h2"),Is=r("a"),Yp=r("span"),v(xi.$$.fragment),ew=p(),Zp=r("span"),tw=o("TFAlbertForTokenClassification"),Du=p(),ht=r("div"),v(Ei.$$.fragment),ow=p(),eh=r("p"),nw=o(`Albert Model with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for
Named-Entity-Recognition (NER) tasks.`),sw=p(),Mi=r("p"),rw=o("This model inherits from "),Jd=r("a"),aw=o("TFPreTrainedModel"),iw=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),lw=p(),zi=r("p"),dw=o("This model is also a "),ji=r("a"),cw=o("tf.keras.Model"),pw=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),hw=p(),v(Ns.$$.fragment),mw=p(),Ft=r("div"),v(qi.$$.fragment),uw=p(),gn=r("p"),fw=o("The "),Gd=r("a"),gw=o("TFAlbertForTokenClassification"),_w=o(" forward method, overrides the "),th=r("code"),bw=o("__call__"),kw=o(" special method."),yw=p(),v(Ds.$$.fragment),vw=p(),v(Ss.$$.fragment),Tw=p(),v(Ws.$$.fragment),Su=p(),_n=r("h2"),Us=r("a"),oh=r("span"),v(Pi.$$.fragment),ww=p(),nh=r("span"),$w=o("TFAlbertForQuestionAnswering"),Wu=p(),mt=r("div"),v(Ci.$$.fragment),Aw=p(),bn=r("p"),Fw=o(`Albert Model with a span classification head on top for extractive question-answering tasks like SQuAD (a linear
layer on top of the hidden-states output to compute `),sh=r("code"),xw=o("span start logits"),Ew=o(" and "),rh=r("code"),Mw=o("span end logits"),zw=o(")."),jw=p(),Li=r("p"),qw=o("This model inherits from "),Xd=r("a"),Pw=o("TFPreTrainedModel"),Cw=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Lw=p(),Oi=r("p"),Ow=o("This model is also a "),Ii=r("a"),Iw=o("tf.keras.Model"),Nw=o(` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Dw=p(),v(Bs.$$.fragment),Sw=p(),xt=r("div"),v(Ni.$$.fragment),Ww=p(),kn=r("p"),Uw=o("The "),Yd=r("a"),Bw=o("TFAlbertForQuestionAnswering"),Rw=o(" forward method, overrides the "),ah=r("code"),Hw=o("__call__"),Qw=o(" special method."),Kw=p(),v(Rs.$$.fragment),Vw=p(),v(Hs.$$.fragment),Jw=p(),v(Qs.$$.fragment),Uu=p(),yn=r("h2"),Ks=r("a"),ih=r("span"),v(Di.$$.fragment),Gw=p(),lh=r("span"),Xw=o("FlaxAlbertModel"),Bu=p(),et=r("div"),v(Si.$$.fragment),Yw=p(),dh=r("p"),Zw=o("The bare Albert Model transformer outputting raw hidden-states without any specific head on top."),e$=p(),Wi=r("p"),t$=o("This model inherits from "),Zd=r("a"),o$=o("FlaxPreTrainedModel"),n$=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),s$=p(),Ui=r("p"),r$=o("This model is also a Flax Linen "),Bi=r("a"),a$=o("flax.linen.Module"),i$=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),l$=p(),ch=r("p"),d$=o("Finally, this model supports inherent JAX features such as:"),c$=p(),io=r("ul"),ph=r("li"),Ri=r("a"),p$=o("Just-In-Time (JIT) compilation"),h$=p(),hh=r("li"),Hi=r("a"),m$=o("Automatic Differentiation"),u$=p(),mh=r("li"),Qi=r("a"),f$=o("Vectorization"),g$=p(),uh=r("li"),Ki=r("a"),_$=o("Parallelization"),b$=p(),Qt=r("div"),v(Vi.$$.fragment),k$=p(),vn=r("p"),y$=o("The "),fh=r("code"),v$=o("FlaxAlbertPreTrainedModel"),T$=o(" forward method, overrides the "),gh=r("code"),w$=o("__call__"),$$=o(" special method."),A$=p(),v(Vs.$$.fragment),F$=p(),v(Js.$$.fragment),Ru=p(),Tn=r("h2"),Gs=r("a"),_h=r("span"),v(Ji.$$.fragment),x$=p(),bh=r("span"),E$=o("FlaxAlbertForPreTraining"),Hu=p(),tt=r("div"),v(Gi.$$.fragment),M$=p(),wn=r("p"),z$=o("Albert Model with two heads on top as done during the pretraining: a "),kh=r("code"),j$=o("masked language modeling"),q$=o(` head and a
`),yh=r("code"),P$=o("sentence order prediction (classification)"),C$=o(" head."),L$=p(),Xi=r("p"),O$=o("This model inherits from "),ec=r("a"),I$=o("FlaxPreTrainedModel"),N$=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),D$=p(),Yi=r("p"),S$=o("This model is also a Flax Linen "),Zi=r("a"),W$=o("flax.linen.Module"),U$=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),B$=p(),vh=r("p"),R$=o("Finally, this model supports inherent JAX features such as:"),H$=p(),lo=r("ul"),Th=r("li"),el=r("a"),Q$=o("Just-In-Time (JIT) compilation"),K$=p(),wh=r("li"),tl=r("a"),V$=o("Automatic Differentiation"),J$=p(),$h=r("li"),ol=r("a"),G$=o("Vectorization"),X$=p(),Ah=r("li"),nl=r("a"),Y$=o("Parallelization"),Z$=p(),Kt=r("div"),v(sl.$$.fragment),e1=p(),$n=r("p"),t1=o("The "),Fh=r("code"),o1=o("FlaxAlbertPreTrainedModel"),n1=o(" forward method, overrides the "),xh=r("code"),s1=o("__call__"),r1=o(" special method."),a1=p(),v(Xs.$$.fragment),i1=p(),v(Ys.$$.fragment),Qu=p(),An=r("h2"),Zs=r("a"),Eh=r("span"),v(rl.$$.fragment),l1=p(),Mh=r("span"),d1=o("FlaxAlbertForMaskedLM"),Ku=p(),ot=r("div"),v(al.$$.fragment),c1=p(),il=r("p"),p1=o("Albert Model with a "),zh=r("code"),h1=o("language modeling"),m1=o(" head on top."),u1=p(),ll=r("p"),f1=o("This model inherits from "),tc=r("a"),g1=o("FlaxPreTrainedModel"),_1=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),b1=p(),dl=r("p"),k1=o("This model is also a Flax Linen "),cl=r("a"),y1=o("flax.linen.Module"),v1=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),T1=p(),jh=r("p"),w1=o("Finally, this model supports inherent JAX features such as:"),$1=p(),co=r("ul"),qh=r("li"),pl=r("a"),A1=o("Just-In-Time (JIT) compilation"),F1=p(),Ph=r("li"),hl=r("a"),x1=o("Automatic Differentiation"),E1=p(),Ch=r("li"),ml=r("a"),M1=o("Vectorization"),z1=p(),Lh=r("li"),ul=r("a"),j1=o("Parallelization"),q1=p(),Vt=r("div"),v(fl.$$.fragment),P1=p(),Fn=r("p"),C1=o("The "),Oh=r("code"),L1=o("FlaxAlbertPreTrainedModel"),O1=o(" forward method, overrides the "),Ih=r("code"),I1=o("__call__"),N1=o(" special method."),D1=p(),v(er.$$.fragment),S1=p(),v(tr.$$.fragment),Vu=p(),xn=r("h2"),or=r("a"),Nh=r("span"),v(gl.$$.fragment),W1=p(),Dh=r("span"),U1=o("FlaxAlbertForSequenceClassification"),Ju=p(),nt=r("div"),v(_l.$$.fragment),B1=p(),Sh=r("p"),R1=o(`Albert Model transformer with a sequence classification/regression head on top (a linear layer on top of the pooled
output) e.g. for GLUE tasks.`),H1=p(),bl=r("p"),Q1=o("This model inherits from "),oc=r("a"),K1=o("FlaxPreTrainedModel"),V1=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),J1=p(),kl=r("p"),G1=o("This model is also a Flax Linen "),yl=r("a"),X1=o("flax.linen.Module"),Y1=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),Z1=p(),Wh=r("p"),e2=o("Finally, this model supports inherent JAX features such as:"),t2=p(),po=r("ul"),Uh=r("li"),vl=r("a"),o2=o("Just-In-Time (JIT) compilation"),n2=p(),Bh=r("li"),Tl=r("a"),s2=o("Automatic Differentiation"),r2=p(),Rh=r("li"),wl=r("a"),a2=o("Vectorization"),i2=p(),Hh=r("li"),$l=r("a"),l2=o("Parallelization"),d2=p(),Jt=r("div"),v(Al.$$.fragment),c2=p(),En=r("p"),p2=o("The "),Qh=r("code"),h2=o("FlaxAlbertPreTrainedModel"),m2=o(" forward method, overrides the "),Kh=r("code"),u2=o("__call__"),f2=o(" special method."),g2=p(),v(nr.$$.fragment),_2=p(),v(sr.$$.fragment),Gu=p(),Mn=r("h2"),rr=r("a"),Vh=r("span"),v(Fl.$$.fragment),b2=p(),Jh=r("span"),k2=o("FlaxAlbertForMultipleChoice"),Xu=p(),st=r("div"),v(xl.$$.fragment),y2=p(),Gh=r("p"),v2=o(`Albert Model with a multiple choice classification head on top (a linear layer on top of the pooled output and a
softmax) e.g. for RocStories/SWAG tasks.`),T2=p(),El=r("p"),w2=o("This model inherits from "),nc=r("a"),$2=o("FlaxPreTrainedModel"),A2=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),F2=p(),Ml=r("p"),x2=o("This model is also a Flax Linen "),zl=r("a"),E2=o("flax.linen.Module"),M2=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),z2=p(),Xh=r("p"),j2=o("Finally, this model supports inherent JAX features such as:"),q2=p(),ho=r("ul"),Yh=r("li"),jl=r("a"),P2=o("Just-In-Time (JIT) compilation"),C2=p(),Zh=r("li"),ql=r("a"),L2=o("Automatic Differentiation"),O2=p(),em=r("li"),Pl=r("a"),I2=o("Vectorization"),N2=p(),tm=r("li"),Cl=r("a"),D2=o("Parallelization"),S2=p(),Gt=r("div"),v(Ll.$$.fragment),W2=p(),zn=r("p"),U2=o("The "),om=r("code"),B2=o("FlaxAlbertPreTrainedModel"),R2=o(" forward method, overrides the "),nm=r("code"),H2=o("__call__"),Q2=o(" special method."),K2=p(),v(ar.$$.fragment),V2=p(),v(ir.$$.fragment),Yu=p(),jn=r("h2"),lr=r("a"),sm=r("span"),v(Ol.$$.fragment),J2=p(),rm=r("span"),G2=o("FlaxAlbertForTokenClassification"),Zu=p(),rt=r("div"),v(Il.$$.fragment),X2=p(),am=r("p"),Y2=o(`Albert Model with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for
Named-Entity-Recognition (NER) tasks.`),Z2=p(),Nl=r("p"),eA=o("This model inherits from "),sc=r("a"),tA=o("FlaxPreTrainedModel"),oA=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),nA=p(),Dl=r("p"),sA=o("This model is also a Flax Linen "),Sl=r("a"),rA=o("flax.linen.Module"),aA=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),iA=p(),im=r("p"),lA=o("Finally, this model supports inherent JAX features such as:"),dA=p(),mo=r("ul"),lm=r("li"),Wl=r("a"),cA=o("Just-In-Time (JIT) compilation"),pA=p(),dm=r("li"),Ul=r("a"),hA=o("Automatic Differentiation"),mA=p(),cm=r("li"),Bl=r("a"),uA=o("Vectorization"),fA=p(),pm=r("li"),Rl=r("a"),gA=o("Parallelization"),_A=p(),Xt=r("div"),v(Hl.$$.fragment),bA=p(),qn=r("p"),kA=o("The "),hm=r("code"),yA=o("FlaxAlbertPreTrainedModel"),vA=o(" forward method, overrides the "),mm=r("code"),TA=o("__call__"),wA=o(" special method."),$A=p(),v(dr.$$.fragment),AA=p(),v(cr.$$.fragment),ef=p(),Pn=r("h2"),pr=r("a"),um=r("span"),v(Ql.$$.fragment),FA=p(),fm=r("span"),xA=o("FlaxAlbertForQuestionAnswering"),tf=p(),at=r("div"),v(Kl.$$.fragment),EA=p(),Cn=r("p"),MA=o(`Albert Model with a span classification head on top for extractive question-answering tasks like SQuAD (a linear
layers on top of the hidden-states output to compute `),gm=r("code"),zA=o("span start logits"),jA=o(" and "),_m=r("code"),qA=o("span end logits"),PA=o(")."),CA=p(),Vl=r("p"),LA=o("This model inherits from "),rc=r("a"),OA=o("FlaxPreTrainedModel"),IA=o(`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),NA=p(),Jl=r("p"),DA=o("This model is also a Flax Linen "),Gl=r("a"),SA=o("flax.linen.Module"),WA=o(`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),UA=p(),bm=r("p"),BA=o("Finally, this model supports inherent JAX features such as:"),RA=p(),uo=r("ul"),km=r("li"),Xl=r("a"),HA=o("Just-In-Time (JIT) compilation"),QA=p(),ym=r("li"),Yl=r("a"),KA=o("Automatic Differentiation"),VA=p(),vm=r("li"),Zl=r("a"),JA=o("Vectorization"),GA=p(),Tm=r("li"),ed=r("a"),XA=o("Parallelization"),YA=p(),Yt=r("div"),v(td.$$.fragment),ZA=p(),Ln=r("p"),eF=o("The "),wm=r("code"),tF=o("FlaxAlbertPreTrainedModel"),oF=o(" forward method, overrides the "),$m=r("code"),nF=o("__call__"),sF=o(" special method."),rF=p(),v(hr.$$.fragment),aF=p(),v(mr.$$.fragment),this.h()},l(s){const k=YM('[data-svelte="svelte-1phssyn"]',document.head);d=a(k,"META",{name:!0,content:!0}),k.forEach(t),b=h(s),m=a(s,"H1",{class:!0});var od=i(m);f=a(od,"A",{id:!0,class:!0,href:!0});var Am=i(f);_=a(Am,"SPAN",{});var Fm=i(_);T(l.$$.fragment,Fm),Fm.forEach(t),Am.forEach(t),c=h(od),M=a(od,"SPAN",{});var xm=i(M);be=n(xm,"ALBERT"),xm.forEach(t),od.forEach(t),me=h(s),W=a(s,"H2",{class:!0});var nd=i(W);se=a(nd,"A",{id:!0,class:!0,href:!0});var Em=i(se);te=a(Em,"SPAN",{});var Mm=i(te);T(x.$$.fragment,Mm),Mm.forEach(t),Em.forEach(t),ke=h(nd),Q=a(nd,"SPAN",{});var zm=i(Q);ye=n(zm,"Overview"),zm.forEach(t),nd.forEach(t),ue=h(s),U=a(s,"P",{});var sd=i(U);ve=n(sd,"The ALBERT model was proposed in "),ae=a(sd,"A",{href:!0,rel:!0});var jm=i(ae);G=n(jm,"ALBERT: A Lite BERT for Self-supervised Learning of Language Representations"),jm.forEach(t),Te=n(sd,` by Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma,
Radu Soricut. It presents two parameter-reduction techniques to lower memory consumption and increase the training
speed of BERT:`),sd.forEach(t),fe=h(s),B=a(s,"UL",{});var rd=i(B);ce=a(rd,"LI",{});var qm=i(ce);we=n(qm,"Splitting the embedding matrix into two smaller matrices."),qm.forEach(t),X=h(rd),pe=a(rd,"LI",{});var Pm=i(pe);$e=n(Pm,"Using repeating layers split among groups."),Pm.forEach(t),rd.forEach(t),oe=h(s),q=a(s,"P",{});var Cm=i(q);L=n(Cm,"The abstract from the paper is the following:"),Cm.forEach(t),ge=h(s),H=a(s,"P",{});var Lm=i(H);he=a(Lm,"EM",{});var Om=i(he);Ae=n(Om,`Increasing model size when pretraining natural language representations often results in improved performance on
downstream tasks. However, at some point further model increases become harder due to GPU/TPU memory limitations,
longer training times, and unexpected model degradation. To address these problems, we present two parameter-reduction
techniques to lower memory consumption and increase the training speed of BERT. Comprehensive empirical evidence shows
that our proposed methods lead to models that scale much better compared to the original BERT. We also use a
self-supervised loss that focuses on modeling inter-sentence coherence, and show it consistently helps downstream tasks
with multi-sentence inputs. As a result, our best model establishes new state-of-the-art results on the GLUE, RACE, and
SQuAD benchmarks while having fewer parameters compared to BERT-large.`),Om.forEach(t),Lm.forEach(t),J=h(s),le=a(s,"P",{});var Im=i(le);Fe=n(Im,"Tips:"),Im.forEach(t),C=h(s),re=a(s,"UL",{});var ad=i(re);K=a(ad,"LI",{});var Nm=i(K);xe=n(Nm,`ALBERT is a model with absolute position embeddings so it\u2019s usually advised to pad the inputs on the right rather
than the left.`),Nm.forEach(t),Ee=h(ad),V=a(ad,"LI",{});var Dm=i(V);Me=n(Dm,`ALBERT uses repeating layers which results in a small memory footprint, however the computational cost remains
similar to a BERT-like architecture with the same number of hidden layers as it has to iterate through the same
number of (repeating) layers.`),Dm.forEach(t),ad.forEach(t),_e=h(s),O=a(s,"P",{});var fo=i(O);ze=n(fo,"This model was contributed by "),R=a(fo,"A",{href:!0,rel:!0});var Sm=i(R);je=n(Sm,"lysandre"),Sm.forEach(t),ne=n(fo,`. This model jax version was contributed by
`),P=a(fo,"A",{href:!0,rel:!0});var Wm=i(P);qe=n(Wm,"kamalkraj"),Wm.forEach(t),I=n(fo,". The original code can be found "),ie=a(fo,"A",{href:!0,rel:!0});var Um=i(ie);Pe=n(Um,"here"),Um.forEach(t),y=n(fo,"."),fo.forEach(t),z=h(s),Le=a(s,"H2",{class:!0});var id=i(Le);Z=a(id,"A",{id:!0,class:!0,href:!0});var Bm=i(Z);He=a(Bm,"SPAN",{});var Rm=i(He);T(De.$$.fragment,Rm),Rm.forEach(t),Bm.forEach(t),j=h(id),Qe=a(id,"SPAN",{});var Hm=i(Qe);Ve=n(Hm,"AlbertConfig"),Hm.forEach(t),id.forEach(t),Ke=h(s),de=a(s,"DIV",{class:!0});var go=i(de);T(Se.$$.fragment,go),S=h(go),N=a(go,"P",{});var _o=i(N);Je=n(_o,"This is the configuration class to store the configuration of a "),Ue=a(_o,"A",{href:!0});var Qm=i(Ue);Y=n(Qm,"AlbertModel"),Qm.forEach(t),Ge=n(_o," or a "),Be=a(_o,"A",{href:!0});var Km=i(Be);Ce=n(Km,"TFAlbertModel"),Km.forEach(t),Xe=n(_o,`. It is used
to instantiate an ALBERT model according to the specified arguments, defining the model architecture. Instantiating
a configuration with the defaults will yield a similar configuration to that of the ALBERT
`),ee=a(_o,"A",{href:!0,rel:!0});var Vm=i(ee);Ye=n(Vm,"albert-xxlarge-v2"),Vm.forEach(t),wg=n(_o," architecture."),_o.forEach(t),$g=h(go),Co=a(go,"P",{});var On=i(Co);Ag=n(On,"Configuration objects inherit from "),ud=a(On,"A",{href:!0});var Jm=i(ud);Fg=n(Jm,"PretrainedConfig"),Jm.forEach(t),xg=n(On,` and can be used to control the model outputs. Read the
documentation from `),fd=a(On,"A",{href:!0});var Gm=i(fd);Eg=n(Gm,"PretrainedConfig"),Gm.forEach(t),Mg=n(On," for more information."),On.forEach(t),zg=h(go),T(Dn.$$.fragment,go),go.forEach(t),iu=h(s),Lo=a(s,"H2",{class:!0});var ld=i(Lo);Sn=a(ld,"A",{id:!0,class:!0,href:!0});var Xm=i(Sn);Oc=a(Xm,"SPAN",{});var Ym=i(Oc);T(Dr.$$.fragment,Ym),Ym.forEach(t),Xm.forEach(t),jg=h(ld),Ic=a(ld,"SPAN",{});var Zm=i(Ic);qg=n(Zm,"AlbertTokenizer"),Zm.forEach(t),ld.forEach(t),lu=h(s),Ze=a(s,"DIV",{class:!0});var ut=i(Ze);T(Sr.$$.fragment,ut),Pg=h(ut),Wr=a(ut,"P",{});var dd=i(Wr);Cg=n(dd,"Construct an ALBERT tokenizer. Based on "),Ur=a(dd,"A",{href:!0,rel:!0});var eu=i(Ur);Lg=n(eu,"SentencePiece"),eu.forEach(t),Og=n(dd,"."),dd.forEach(t),Ig=h(ut),Br=a(ut,"P",{});var cd=i(Br);Ng=n(cd,"This tokenizer inherits from "),gd=a(cd,"A",{href:!0});var tu=i(gd);Dg=n(tu,"PreTrainedTokenizer"),tu.forEach(t),Sg=n(cd,` which contains most of the main methods. Users should refer to
this superclass for more information regarding those methods.`),cd.forEach(t),Wg=h(ut),ko=a(ut,"DIV",{class:!0});var In=i(ko);T(Rr.$$.fragment,In),Ug=h(In),Nc=a(In,"P",{});var ou=i(Nc);Bg=n(ou,`Build model inputs from a sequence or a pair of sequence for sequence classification tasks by concatenating and
adding special tokens. An ALBERT sequence has the following format:`),ou.forEach(t),Rg=h(In),Hr=a(In,"UL",{});var pd=i(Hr);_d=a(pd,"LI",{});var ac=i(_d);Hg=n(ac,"single sequence: "),Dc=a(ac,"CODE",{});var nu=i(Dc);Qg=n(nu,"[CLS] X [SEP]"),nu.forEach(t),ac.forEach(t),Kg=h(pd),bd=a(pd,"LI",{});var ic=i(bd);Vg=n(ic,"pair of sequences: "),Sc=a(ic,"CODE",{});var su=i(Sc);Jg=n(su,"[CLS] A [SEP] B [SEP]"),su.forEach(t),ic.forEach(t),pd.forEach(t),In.forEach(t),Gg=h(ut),Wn=a(ut,"DIV",{class:!0});var hd=i(Wn);T(Qr.$$.fragment,hd),Xg=h(hd),Kr=a(hd,"P",{});var md=i(Kr);Yg=n(md,`Retrieve sequence ids from a token list that has no special tokens added. This method is called when adding
special tokens using the tokenizer `),Wc=a(md,"CODE",{});var ru=i(Wc);Zg=n(ru,"prepare_for_model"),ru.forEach(t),e_=n(md," method."),md.forEach(t),hd.forEach(t),t_=h(ut),Ot=a(ut,"DIV",{class:!0});var bo=i(Ot);T(Vr.$$.fragment,bo),o_=h(bo),Uc=a(bo,"P",{});var au=i(Uc);n_=n(au,"Create a mask from the two sequences passed to be used in a sequence-pair classification task. An ALBERT"),au.forEach(t),s_=h(bo),T(Un.$$.fragment,bo),r_=h(bo),Oo=a(bo,"P",{});var Nn=i(Oo);a_=n(Nn,"If "),Bc=a(Nn,"CODE",{});var dF=i(Bc);i_=n(dF,"token_ids_1"),dF.forEach(t),l_=n(Nn," is "),Rc=a(Nn,"CODE",{});var cF=i(Rc);d_=n(cF,"None"),cF.forEach(t),c_=n(Nn,", this method only returns the first portion of the mask (0s)."),Nn.forEach(t),bo.forEach(t),p_=h(ut),kd=a(ut,"DIV",{class:!0});var pF=i(kd);T(Jr.$$.fragment,pF),pF.forEach(t),ut.forEach(t),du=h(s),Io=a(s,"H2",{class:!0});var nf=i(Io);Bn=a(nf,"A",{id:!0,class:!0,href:!0});var hF=i(Bn);Hc=a(hF,"SPAN",{});var mF=i(Hc);T(Gr.$$.fragment,mF),mF.forEach(t),hF.forEach(t),h_=h(nf),Qc=a(nf,"SPAN",{});var uF=i(Qc);m_=n(uF,"AlbertTokenizerFast"),uF.forEach(t),nf.forEach(t),cu=h(s),Lt=a(s,"DIV",{class:!0});var ur=i(Lt);T(Xr.$$.fragment,ur),u_=h(ur),ao=a(ur,"P",{});var fr=i(ao);f_=n(fr,"Construct a \u201Cfast\u201D ALBERT tokenizer (backed by HuggingFace\u2019s "),Kc=a(fr,"EM",{});var fF=i(Kc);g_=n(fF,"tokenizers"),fF.forEach(t),__=n(fr,` library). Based on
`),Yr=a(fr,"A",{href:!0,rel:!0});var gF=i(Yr);b_=n(gF,"Unigram"),gF.forEach(t),k_=n(fr,`. This
tokenizer inherits from `),yd=a(fr,"A",{href:!0});var _F=i(yd);y_=n(_F,"PreTrainedTokenizerFast"),_F.forEach(t),v_=n(fr,` which contains most of the main methods. Users should refer to
this superclass for more information regarding those methods`),fr.forEach(t),T_=h(ur),yo=a(ur,"DIV",{class:!0});var lc=i(yo);T(Zr.$$.fragment,lc),w_=h(lc),Vc=a(lc,"P",{});var bF=i(Vc);$_=n(bF,`Build model inputs from a sequence or a pair of sequence for sequence classification tasks by concatenating and
adding special tokens. An ALBERT sequence has the following format:`),bF.forEach(t),A_=h(lc),ea=a(lc,"UL",{});var sf=i(ea);vd=a(sf,"LI",{});var iF=i(vd);F_=n(iF,"single sequence: "),Jc=a(iF,"CODE",{});var kF=i(Jc);x_=n(kF,"[CLS] X [SEP]"),kF.forEach(t),iF.forEach(t),E_=h(sf),Td=a(sf,"LI",{});var lF=i(Td);M_=n(lF,"pair of sequences: "),Gc=a(lF,"CODE",{});var yF=i(Gc);z_=n(yF,"[CLS] A [SEP] B [SEP]"),yF.forEach(t),lF.forEach(t),sf.forEach(t),lc.forEach(t),j_=h(ur),It=a(ur,"DIV",{class:!0});var gr=i(It);T(ta.$$.fragment,gr),q_=h(gr),Xc=a(gr,"P",{});var vF=i(Xc);P_=n(vF,"Creates a mask from the two sequences passed to be used in a sequence-pair classification task. An ALBERT"),vF.forEach(t),C_=h(gr),T(Rn.$$.fragment,gr),L_=h(gr),Yc=a(gr,"P",{});var TF=i(Yc);O_=n(TF,"if token_ids_1 is None, only returns the first portion of the mask (0s)."),TF.forEach(t),gr.forEach(t),ur.forEach(t),pu=h(s),No=a(s,"H2",{class:!0});var rf=i(No);Hn=a(rf,"A",{id:!0,class:!0,href:!0});var wF=i(Hn);Zc=a(wF,"SPAN",{});var $F=i(Zc);T(oa.$$.fragment,$F),$F.forEach(t),wF.forEach(t),I_=h(rf),ep=a(rf,"SPAN",{});var AF=i(ep);N_=n(AF,"Albert specific outputs"),AF.forEach(t),rf.forEach(t),hu=h(s),Do=a(s,"DIV",{class:!0});var af=i(Do);T(na.$$.fragment,af),D_=h(af),sa=a(af,"P",{});var lf=i(sa);S_=n(lf,"Output type of "),wd=a(lf,"A",{href:!0});var FF=i(wd);W_=n(FF,"AlbertForPreTraining"),FF.forEach(t),U_=n(lf,"."),lf.forEach(t),af.forEach(t),mu=h(s),So=a(s,"DIV",{class:!0});var df=i(So);T(ra.$$.fragment,df),B_=h(df),aa=a(df,"P",{});var cf=i(aa);R_=n(cf,"Output type of "),$d=a(cf,"A",{href:!0});var xF=i($d);H_=n(xF,"TFAlbertForPreTraining"),xF.forEach(t),Q_=n(cf,"."),cf.forEach(t),df.forEach(t),uu=h(s),Wo=a(s,"H2",{class:!0});var pf=i(Wo);Qn=a(pf,"A",{id:!0,class:!0,href:!0});var EF=i(Qn);tp=a(EF,"SPAN",{});var MF=i(tp);T(ia.$$.fragment,MF),MF.forEach(t),EF.forEach(t),K_=h(pf),op=a(pf,"SPAN",{});var zF=i(op);V_=n(zF,"AlbertModel"),zF.forEach(t),pf.forEach(t),fu=h(s),ft=a(s,"DIV",{class:!0});var vo=i(ft);T(la.$$.fragment,vo),J_=h(vo),np=a(vo,"P",{});var jF=i(np);G_=n(jF,"The bare ALBERT Model transformer outputting raw hidden-states without any specific head on top."),jF.forEach(t),X_=h(vo),da=a(vo,"P",{});var hf=i(da);Y_=n(hf,"This model inherits from "),Ad=a(hf,"A",{href:!0});var qF=i(Ad);Z_=n(qF,"PreTrainedModel"),qF.forEach(t),eb=n(hf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),hf.forEach(t),tb=h(vo),ca=a(vo,"P",{});var mf=i(ca);ob=n(mf,"This model is also a PyTorch "),pa=a(mf,"A",{href:!0,rel:!0});var PF=i(pa);nb=n(PF,"torch.nn.Module"),PF.forEach(t),sb=n(mf,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),mf.forEach(t),rb=h(vo),Nt=a(vo,"DIV",{class:!0});var _r=i(Nt);T(ha.$$.fragment,_r),ab=h(_r),Uo=a(_r,"P",{});var dc=i(Uo);ib=n(dc,"The "),Fd=a(dc,"A",{href:!0});var CF=i(Fd);lb=n(CF,"AlbertModel"),CF.forEach(t),db=n(dc," forward method, overrides the "),sp=a(dc,"CODE",{});var LF=i(sp);cb=n(LF,"__call__"),LF.forEach(t),pb=n(dc," special method."),dc.forEach(t),hb=h(_r),T(Kn.$$.fragment,_r),mb=h(_r),T(Vn.$$.fragment,_r),_r.forEach(t),vo.forEach(t),gu=h(s),Bo=a(s,"H2",{class:!0});var uf=i(Bo);Jn=a(uf,"A",{id:!0,class:!0,href:!0});var OF=i(Jn);rp=a(OF,"SPAN",{});var IF=i(rp);T(ma.$$.fragment,IF),IF.forEach(t),OF.forEach(t),ub=h(uf),ap=a(uf,"SPAN",{});var NF=i(ap);fb=n(NF,"AlbertForPreTraining"),NF.forEach(t),uf.forEach(t),_u=h(s),gt=a(s,"DIV",{class:!0});var To=i(gt);T(ua.$$.fragment,To),gb=h(To),Ro=a(To,"P",{});var cc=i(Ro);_b=n(cc,"Albert Model with two heads on top as done during the pretraining: a "),ip=a(cc,"CODE",{});var DF=i(ip);bb=n(DF,"masked language modeling"),DF.forEach(t),kb=n(cc,` head and a
`),lp=a(cc,"CODE",{});var SF=i(lp);yb=n(SF,"sentence order prediction (classification)"),SF.forEach(t),vb=n(cc," head."),cc.forEach(t),Tb=h(To),fa=a(To,"P",{});var ff=i(fa);wb=n(ff,"This model inherits from "),xd=a(ff,"A",{href:!0});var WF=i(xd);$b=n(WF,"PreTrainedModel"),WF.forEach(t),Ab=n(ff,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),ff.forEach(t),Fb=h(To),ga=a(To,"P",{});var gf=i(ga);xb=n(gf,"This model is also a PyTorch "),_a=a(gf,"A",{href:!0,rel:!0});var UF=i(_a);Eb=n(UF,"torch.nn.Module"),UF.forEach(t),Mb=n(gf,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),gf.forEach(t),zb=h(To),Dt=a(To,"DIV",{class:!0});var br=i(Dt);T(ba.$$.fragment,br),jb=h(br),Ho=a(br,"P",{});var pc=i(Ho);qb=n(pc,"The "),Ed=a(pc,"A",{href:!0});var BF=i(Ed);Pb=n(BF,"AlbertForPreTraining"),BF.forEach(t),Cb=n(pc," forward method, overrides the "),dp=a(pc,"CODE",{});var RF=i(dp);Lb=n(RF,"__call__"),RF.forEach(t),Ob=n(pc," special method."),pc.forEach(t),Ib=h(br),T(Gn.$$.fragment,br),Nb=h(br),T(Xn.$$.fragment,br),br.forEach(t),To.forEach(t),bu=h(s),Qo=a(s,"H2",{class:!0});var _f=i(Qo);Yn=a(_f,"A",{id:!0,class:!0,href:!0});var HF=i(Yn);cp=a(HF,"SPAN",{});var QF=i(cp);T(ka.$$.fragment,QF),QF.forEach(t),HF.forEach(t),Db=h(_f),pp=a(_f,"SPAN",{});var KF=i(pp);Sb=n(KF,"AlbertForMaskedLM"),KF.forEach(t),_f.forEach(t),ku=h(s),_t=a(s,"DIV",{class:!0});var wo=i(_t);T(ya.$$.fragment,wo),Wb=h(wo),va=a(wo,"P",{});var bf=i(va);Ub=n(bf,"Albert Model with a "),hp=a(bf,"CODE",{});var VF=i(hp);Bb=n(VF,"language modeling"),VF.forEach(t),Rb=n(bf," head on top."),bf.forEach(t),Hb=h(wo),Ta=a(wo,"P",{});var kf=i(Ta);Qb=n(kf,"This model inherits from "),Md=a(kf,"A",{href:!0});var JF=i(Md);Kb=n(JF,"PreTrainedModel"),JF.forEach(t),Vb=n(kf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),kf.forEach(t),Jb=h(wo),wa=a(wo,"P",{});var yf=i(wa);Gb=n(yf,"This model is also a PyTorch "),$a=a(yf,"A",{href:!0,rel:!0});var GF=i($a);Xb=n(GF,"torch.nn.Module"),GF.forEach(t),Yb=n(yf,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),yf.forEach(t),Zb=h(wo),Tt=a(wo,"DIV",{class:!0});var $o=i(Tt);T(Aa.$$.fragment,$o),ek=h($o),Ko=a($o,"P",{});var hc=i(Ko);tk=n(hc,"The "),zd=a(hc,"A",{href:!0});var XF=i(zd);ok=n(XF,"AlbertForMaskedLM"),XF.forEach(t),nk=n(hc," forward method, overrides the "),mp=a(hc,"CODE",{});var YF=i(mp);sk=n(YF,"__call__"),YF.forEach(t),rk=n(hc," special method."),hc.forEach(t),ak=h($o),T(Zn.$$.fragment,$o),ik=h($o),T(es.$$.fragment,$o),lk=h($o),T(ts.$$.fragment,$o),$o.forEach(t),wo.forEach(t),yu=h(s),Vo=a(s,"H2",{class:!0});var vf=i(Vo);os=a(vf,"A",{id:!0,class:!0,href:!0});var ZF=i(os);up=a(ZF,"SPAN",{});var e0=i(up);T(Fa.$$.fragment,e0),e0.forEach(t),ZF.forEach(t),dk=h(vf),fp=a(vf,"SPAN",{});var t0=i(fp);ck=n(t0,"AlbertForSequenceClassification"),t0.forEach(t),vf.forEach(t),vu=h(s),bt=a(s,"DIV",{class:!0});var Ao=i(bt);T(xa.$$.fragment,Ao),pk=h(Ao),gp=a(Ao,"P",{});var o0=i(gp);hk=n(o0,`Albert Model transformer with a sequence classification/regression head on top (a linear layer on top of the pooled
output) e.g. for GLUE tasks.`),o0.forEach(t),mk=h(Ao),Ea=a(Ao,"P",{});var Tf=i(Ea);uk=n(Tf,"This model inherits from "),jd=a(Tf,"A",{href:!0});var n0=i(jd);fk=n(n0,"PreTrainedModel"),n0.forEach(t),gk=n(Tf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Tf.forEach(t),_k=h(Ao),Ma=a(Ao,"P",{});var wf=i(Ma);bk=n(wf,"This model is also a PyTorch "),za=a(wf,"A",{href:!0,rel:!0});var s0=i(za);kk=n(s0,"torch.nn.Module"),s0.forEach(t),yk=n(wf,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),wf.forEach(t),vk=h(Ao),wt=a(Ao,"DIV",{class:!0});var Fo=i(wt);T(ja.$$.fragment,Fo),Tk=h(Fo),Jo=a(Fo,"P",{});var mc=i(Jo);wk=n(mc,"The "),qd=a(mc,"A",{href:!0});var r0=i(qd);$k=n(r0,"AlbertForSequenceClassification"),r0.forEach(t),Ak=n(mc," forward method, overrides the "),_p=a(mc,"CODE",{});var a0=i(_p);Fk=n(a0,"__call__"),a0.forEach(t),xk=n(mc," special method."),mc.forEach(t),Ek=h(Fo),T(ns.$$.fragment,Fo),Mk=h(Fo),T(ss.$$.fragment,Fo),zk=h(Fo),T(rs.$$.fragment,Fo),Fo.forEach(t),Ao.forEach(t),Tu=h(s),Go=a(s,"H2",{class:!0});var $f=i(Go);as=a($f,"A",{id:!0,class:!0,href:!0});var i0=i(as);bp=a(i0,"SPAN",{});var l0=i(bp);T(qa.$$.fragment,l0),l0.forEach(t),i0.forEach(t),jk=h($f),kp=a($f,"SPAN",{});var d0=i(kp);qk=n(d0,"AlbertForMultipleChoice"),d0.forEach(t),$f.forEach(t),wu=h(s),kt=a(s,"DIV",{class:!0});var xo=i(kt);T(Pa.$$.fragment,xo),Pk=h(xo),yp=a(xo,"P",{});var c0=i(yp);Ck=n(c0,`Albert Model with a multiple choice classification head on top (a linear layer on top of the pooled output and a
softmax) e.g. for RocStories/SWAG tasks.`),c0.forEach(t),Lk=h(xo),Ca=a(xo,"P",{});var Af=i(Ca);Ok=n(Af,"This model inherits from "),Pd=a(Af,"A",{href:!0});var p0=i(Pd);Ik=n(p0,"PreTrainedModel"),p0.forEach(t),Nk=n(Af,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Af.forEach(t),Dk=h(xo),La=a(xo,"P",{});var Ff=i(La);Sk=n(Ff,"This model is also a PyTorch "),Oa=a(Ff,"A",{href:!0,rel:!0});var h0=i(Oa);Wk=n(h0,"torch.nn.Module"),h0.forEach(t),Uk=n(Ff,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),Ff.forEach(t),Bk=h(xo),St=a(xo,"DIV",{class:!0});var kr=i(St);T(Ia.$$.fragment,kr),Rk=h(kr),Xo=a(kr,"P",{});var uc=i(Xo);Hk=n(uc,"The "),Cd=a(uc,"A",{href:!0});var m0=i(Cd);Qk=n(m0,"AlbertForMultipleChoice"),m0.forEach(t),Kk=n(uc," forward method, overrides the "),vp=a(uc,"CODE",{});var u0=i(vp);Vk=n(u0,"__call__"),u0.forEach(t),Jk=n(uc," special method."),uc.forEach(t),Gk=h(kr),T(is.$$.fragment,kr),Xk=h(kr),T(ls.$$.fragment,kr),kr.forEach(t),xo.forEach(t),$u=h(s),Yo=a(s,"H2",{class:!0});var xf=i(Yo);ds=a(xf,"A",{id:!0,class:!0,href:!0});var f0=i(ds);Tp=a(f0,"SPAN",{});var g0=i(Tp);T(Na.$$.fragment,g0),g0.forEach(t),f0.forEach(t),Yk=h(xf),wp=a(xf,"SPAN",{});var _0=i(wp);Zk=n(_0,"AlbertForTokenClassification"),_0.forEach(t),xf.forEach(t),Au=h(s),yt=a(s,"DIV",{class:!0});var Eo=i(yt);T(Da.$$.fragment,Eo),ey=h(Eo),$p=a(Eo,"P",{});var b0=i($p);ty=n(b0,`Albert Model with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for
Named-Entity-Recognition (NER) tasks.`),b0.forEach(t),oy=h(Eo),Sa=a(Eo,"P",{});var Ef=i(Sa);ny=n(Ef,"This model inherits from "),Ld=a(Ef,"A",{href:!0});var k0=i(Ld);sy=n(k0,"PreTrainedModel"),k0.forEach(t),ry=n(Ef,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Ef.forEach(t),ay=h(Eo),Wa=a(Eo,"P",{});var Mf=i(Wa);iy=n(Mf,"This model is also a PyTorch "),Ua=a(Mf,"A",{href:!0,rel:!0});var y0=i(Ua);ly=n(y0,"torch.nn.Module"),y0.forEach(t),dy=n(Mf,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),Mf.forEach(t),cy=h(Eo),Wt=a(Eo,"DIV",{class:!0});var yr=i(Wt);T(Ba.$$.fragment,yr),py=h(yr),Zo=a(yr,"P",{});var fc=i(Zo);hy=n(fc,"The "),Od=a(fc,"A",{href:!0});var v0=i(Od);my=n(v0,"AlbertForTokenClassification"),v0.forEach(t),uy=n(fc," forward method, overrides the "),Ap=a(fc,"CODE",{});var T0=i(Ap);fy=n(T0,"__call__"),T0.forEach(t),gy=n(fc," special method."),fc.forEach(t),_y=h(yr),T(cs.$$.fragment,yr),by=h(yr),T(ps.$$.fragment,yr),yr.forEach(t),Eo.forEach(t),Fu=h(s),en=a(s,"H2",{class:!0});var zf=i(en);hs=a(zf,"A",{id:!0,class:!0,href:!0});var w0=i(hs);Fp=a(w0,"SPAN",{});var $0=i(Fp);T(Ra.$$.fragment,$0),$0.forEach(t),w0.forEach(t),ky=h(zf),xp=a(zf,"SPAN",{});var A0=i(xp);yy=n(A0,"AlbertForQuestionAnswering"),A0.forEach(t),zf.forEach(t),xu=h(s),vt=a(s,"DIV",{class:!0});var Mo=i(vt);T(Ha.$$.fragment,Mo),vy=h(Mo),tn=a(Mo,"P",{});var gc=i(tn);Ty=n(gc,`Albert Model with a span classification head on top for extractive question-answering tasks like SQuAD (a linear
layers on top of the hidden-states output to compute `),Ep=a(gc,"CODE",{});var F0=i(Ep);wy=n(F0,"span start logits"),F0.forEach(t),$y=n(gc," and "),Mp=a(gc,"CODE",{});var x0=i(Mp);Ay=n(x0,"span end logits"),x0.forEach(t),Fy=n(gc,")."),gc.forEach(t),xy=h(Mo),Qa=a(Mo,"P",{});var jf=i(Qa);Ey=n(jf,"This model inherits from "),Id=a(jf,"A",{href:!0});var E0=i(Id);My=n(E0,"PreTrainedModel"),E0.forEach(t),zy=n(jf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),jf.forEach(t),jy=h(Mo),Ka=a(Mo,"P",{});var qf=i(Ka);qy=n(qf,"This model is also a PyTorch "),Va=a(qf,"A",{href:!0,rel:!0});var M0=i(Va);Py=n(M0,"torch.nn.Module"),M0.forEach(t),Cy=n(qf,` subclass.
Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage
and behavior.`),qf.forEach(t),Ly=h(Mo),Ut=a(Mo,"DIV",{class:!0});var vr=i(Ut);T(Ja.$$.fragment,vr),Oy=h(vr),on=a(vr,"P",{});var _c=i(on);Iy=n(_c,"The "),Nd=a(_c,"A",{href:!0});var z0=i(Nd);Ny=n(z0,"AlbertForQuestionAnswering"),z0.forEach(t),Dy=n(_c," forward method, overrides the "),zp=a(_c,"CODE",{});var j0=i(zp);Sy=n(j0,"__call__"),j0.forEach(t),Wy=n(_c," special method."),_c.forEach(t),Uy=h(vr),T(ms.$$.fragment,vr),By=h(vr),T(us.$$.fragment,vr),vr.forEach(t),Mo.forEach(t),Eu=h(s),nn=a(s,"H2",{class:!0});var Pf=i(nn);fs=a(Pf,"A",{id:!0,class:!0,href:!0});var q0=i(fs);jp=a(q0,"SPAN",{});var P0=i(jp);T(Ga.$$.fragment,P0),P0.forEach(t),q0.forEach(t),Ry=h(Pf),qp=a(Pf,"SPAN",{});var C0=i(qp);Hy=n(C0,"TFAlbertModel"),C0.forEach(t),Pf.forEach(t),Mu=h(s),it=a(s,"DIV",{class:!0});var Zt=i(it);T(Xa.$$.fragment,Zt),Qy=h(Zt),Pp=a(Zt,"P",{});var L0=i(Pp);Ky=n(L0,"The bare Albert Model transformer outputting raw hidden-states without any specific head on top."),L0.forEach(t),Vy=h(Zt),Ya=a(Zt,"P",{});var Cf=i(Ya);Jy=n(Cf,"This model inherits from "),Dd=a(Cf,"A",{href:!0});var O0=i(Dd);Gy=n(O0,"TFPreTrainedModel"),O0.forEach(t),Xy=n(Cf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Cf.forEach(t),Yy=h(Zt),Za=a(Zt,"P",{});var Lf=i(Za);Zy=n(Lf,"This model is also a "),ei=a(Lf,"A",{href:!0,rel:!0});var I0=i(ei);ev=n(I0,"tf.keras.Model"),I0.forEach(t),tv=n(Lf,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Lf.forEach(t),ov=h(Zt),T(gs.$$.fragment,Zt),nv=h(Zt),Bt=a(Zt,"DIV",{class:!0});var Tr=i(Bt);T(ti.$$.fragment,Tr),sv=h(Tr),sn=a(Tr,"P",{});var bc=i(sn);rv=n(bc,"The "),Sd=a(bc,"A",{href:!0});var N0=i(Sd);av=n(N0,"TFAlbertModel"),N0.forEach(t),iv=n(bc," forward method, overrides the "),Cp=a(bc,"CODE",{});var D0=i(Cp);lv=n(D0,"__call__"),D0.forEach(t),dv=n(bc," special method."),bc.forEach(t),cv=h(Tr),T(_s.$$.fragment,Tr),pv=h(Tr),T(bs.$$.fragment,Tr),Tr.forEach(t),Zt.forEach(t),zu=h(s),rn=a(s,"H2",{class:!0});var Of=i(rn);ks=a(Of,"A",{id:!0,class:!0,href:!0});var S0=i(ks);Lp=a(S0,"SPAN",{});var W0=i(Lp);T(oi.$$.fragment,W0),W0.forEach(t),S0.forEach(t),hv=h(Of),Op=a(Of,"SPAN",{});var U0=i(Op);mv=n(U0,"TFAlbertForPreTraining"),U0.forEach(t),Of.forEach(t),ju=h(s),lt=a(s,"DIV",{class:!0});var eo=i(lt);T(ni.$$.fragment,eo),uv=h(eo),an=a(eo,"P",{});var kc=i(an);fv=n(kc,"Albert Model with two heads on top for pretraining: a "),Ip=a(kc,"CODE",{});var B0=i(Ip);gv=n(B0,"masked language modeling"),B0.forEach(t),_v=n(kc," head and a "),Np=a(kc,"CODE",{});var R0=i(Np);bv=n(R0,"sentence order prediction"),R0.forEach(t),kv=n(kc," (classification) head."),kc.forEach(t),yv=h(eo),si=a(eo,"P",{});var If=i(si);vv=n(If,"This model inherits from "),Wd=a(If,"A",{href:!0});var H0=i(Wd);Tv=n(H0,"TFPreTrainedModel"),H0.forEach(t),wv=n(If,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),If.forEach(t),$v=h(eo),ri=a(eo,"P",{});var Nf=i(ri);Av=n(Nf,"This model is also a "),ai=a(Nf,"A",{href:!0,rel:!0});var Q0=i(ai);Fv=n(Q0,"tf.keras.Model"),Q0.forEach(t),xv=n(Nf,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Nf.forEach(t),Ev=h(eo),T(ys.$$.fragment,eo),Mv=h(eo),Rt=a(eo,"DIV",{class:!0});var wr=i(Rt);T(ii.$$.fragment,wr),zv=h(wr),ln=a(wr,"P",{});var yc=i(ln);jv=n(yc,"The "),Ud=a(yc,"A",{href:!0});var K0=i(Ud);qv=n(K0,"TFAlbertForPreTraining"),K0.forEach(t),Pv=n(yc," forward method, overrides the "),Dp=a(yc,"CODE",{});var V0=i(Dp);Cv=n(V0,"__call__"),V0.forEach(t),Lv=n(yc," special method."),yc.forEach(t),Ov=h(wr),T(vs.$$.fragment,wr),Iv=h(wr),T(Ts.$$.fragment,wr),wr.forEach(t),eo.forEach(t),qu=h(s),dn=a(s,"H2",{class:!0});var Df=i(dn);ws=a(Df,"A",{id:!0,class:!0,href:!0});var J0=i(ws);Sp=a(J0,"SPAN",{});var G0=i(Sp);T(li.$$.fragment,G0),G0.forEach(t),J0.forEach(t),Nv=h(Df),Wp=a(Df,"SPAN",{});var X0=i(Wp);Dv=n(X0,"TFAlbertForMaskedLM"),X0.forEach(t),Df.forEach(t),Pu=h(s),dt=a(s,"DIV",{class:!0});var to=i(dt);T(di.$$.fragment,to),Sv=h(to),ci=a(to,"P",{});var Sf=i(ci);Wv=n(Sf,"Albert Model with a "),Up=a(Sf,"CODE",{});var Y0=i(Up);Uv=n(Y0,"language modeling"),Y0.forEach(t),Bv=n(Sf," head on top."),Sf.forEach(t),Rv=h(to),pi=a(to,"P",{});var Wf=i(pi);Hv=n(Wf,"This model inherits from "),Bd=a(Wf,"A",{href:!0});var Z0=i(Bd);Qv=n(Z0,"TFPreTrainedModel"),Z0.forEach(t),Kv=n(Wf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Wf.forEach(t),Vv=h(to),hi=a(to,"P",{});var Uf=i(hi);Jv=n(Uf,"This model is also a "),mi=a(Uf,"A",{href:!0,rel:!0});var ex=i(mi);Gv=n(ex,"tf.keras.Model"),ex.forEach(t),Xv=n(Uf,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Uf.forEach(t),Yv=h(to),T($s.$$.fragment,to),Zv=h(to),$t=a(to,"DIV",{class:!0});var zo=i($t);T(ui.$$.fragment,zo),eT=h(zo),cn=a(zo,"P",{});var vc=i(cn);tT=n(vc,"The "),Rd=a(vc,"A",{href:!0});var tx=i(Rd);oT=n(tx,"TFAlbertForMaskedLM"),tx.forEach(t),nT=n(vc," forward method, overrides the "),Bp=a(vc,"CODE",{});var ox=i(Bp);sT=n(ox,"__call__"),ox.forEach(t),rT=n(vc," special method."),vc.forEach(t),aT=h(zo),T(As.$$.fragment,zo),iT=h(zo),T(Fs.$$.fragment,zo),lT=h(zo),T(xs.$$.fragment,zo),zo.forEach(t),to.forEach(t),Cu=h(s),pn=a(s,"H2",{class:!0});var Bf=i(pn);Es=a(Bf,"A",{id:!0,class:!0,href:!0});var nx=i(Es);Rp=a(nx,"SPAN",{});var sx=i(Rp);T(fi.$$.fragment,sx),sx.forEach(t),nx.forEach(t),dT=h(Bf),Hp=a(Bf,"SPAN",{});var rx=i(Hp);cT=n(rx,"TFAlbertForSequenceClassification"),rx.forEach(t),Bf.forEach(t),Lu=h(s),ct=a(s,"DIV",{class:!0});var oo=i(ct);T(gi.$$.fragment,oo),pT=h(oo),Qp=a(oo,"P",{});var ax=i(Qp);hT=n(ax,`Albert Model transformer with a sequence classification/regression head on top (a linear layer on top of the pooled
output) e.g. for GLUE tasks.`),ax.forEach(t),mT=h(oo),_i=a(oo,"P",{});var Rf=i(_i);uT=n(Rf,"This model inherits from "),Hd=a(Rf,"A",{href:!0});var ix=i(Hd);fT=n(ix,"TFPreTrainedModel"),ix.forEach(t),gT=n(Rf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Rf.forEach(t),_T=h(oo),bi=a(oo,"P",{});var Hf=i(bi);bT=n(Hf,"This model is also a "),ki=a(Hf,"A",{href:!0,rel:!0});var lx=i(ki);kT=n(lx,"tf.keras.Model"),lx.forEach(t),yT=n(Hf,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Hf.forEach(t),vT=h(oo),T(Ms.$$.fragment,oo),TT=h(oo),At=a(oo,"DIV",{class:!0});var jo=i(At);T(yi.$$.fragment,jo),wT=h(jo),hn=a(jo,"P",{});var Tc=i(hn);$T=n(Tc,"The "),Qd=a(Tc,"A",{href:!0});var dx=i(Qd);AT=n(dx,"TFAlbertForSequenceClassification"),dx.forEach(t),FT=n(Tc," forward method, overrides the "),Kp=a(Tc,"CODE",{});var cx=i(Kp);xT=n(cx,"__call__"),cx.forEach(t),ET=n(Tc," special method."),Tc.forEach(t),MT=h(jo),T(zs.$$.fragment,jo),zT=h(jo),T(js.$$.fragment,jo),jT=h(jo),T(qs.$$.fragment,jo),jo.forEach(t),oo.forEach(t),Ou=h(s),mn=a(s,"H2",{class:!0});var Qf=i(mn);Ps=a(Qf,"A",{id:!0,class:!0,href:!0});var px=i(Ps);Vp=a(px,"SPAN",{});var hx=i(Vp);T(vi.$$.fragment,hx),hx.forEach(t),px.forEach(t),qT=h(Qf),Jp=a(Qf,"SPAN",{});var mx=i(Jp);PT=n(mx,"TFAlbertForMultipleChoice"),mx.forEach(t),Qf.forEach(t),Iu=h(s),pt=a(s,"DIV",{class:!0});var no=i(pt);T(Ti.$$.fragment,no),CT=h(no),Gp=a(no,"P",{});var ux=i(Gp);LT=n(ux,`Albert Model with a multiple choice classification head on top (a linear layer on top of the pooled output and a
softmax) e.g. for RocStories/SWAG tasks.`),ux.forEach(t),OT=h(no),wi=a(no,"P",{});var Kf=i(wi);IT=n(Kf,"This model inherits from "),Kd=a(Kf,"A",{href:!0});var fx=i(Kd);NT=n(fx,"TFPreTrainedModel"),fx.forEach(t),DT=n(Kf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Kf.forEach(t),ST=h(no),$i=a(no,"P",{});var Vf=i($i);WT=n(Vf,"This model is also a "),Ai=a(Vf,"A",{href:!0,rel:!0});var gx=i(Ai);UT=n(gx,"tf.keras.Model"),gx.forEach(t),BT=n(Vf,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Vf.forEach(t),RT=h(no),T(Cs.$$.fragment,no),HT=h(no),Ht=a(no,"DIV",{class:!0});var $r=i(Ht);T(Fi.$$.fragment,$r),QT=h($r),un=a($r,"P",{});var wc=i(un);KT=n(wc,"The "),Vd=a(wc,"A",{href:!0});var _x=i(Vd);VT=n(_x,"TFAlbertForMultipleChoice"),_x.forEach(t),JT=n(wc," forward method, overrides the "),Xp=a(wc,"CODE",{});var bx=i(Xp);GT=n(bx,"__call__"),bx.forEach(t),XT=n(wc," special method."),wc.forEach(t),YT=h($r),T(Ls.$$.fragment,$r),ZT=h($r),T(Os.$$.fragment,$r),$r.forEach(t),no.forEach(t),Nu=h(s),fn=a(s,"H2",{class:!0});var Jf=i(fn);Is=a(Jf,"A",{id:!0,class:!0,href:!0});var kx=i(Is);Yp=a(kx,"SPAN",{});var yx=i(Yp);T(xi.$$.fragment,yx),yx.forEach(t),kx.forEach(t),ew=h(Jf),Zp=a(Jf,"SPAN",{});var vx=i(Zp);tw=n(vx,"TFAlbertForTokenClassification"),vx.forEach(t),Jf.forEach(t),Du=h(s),ht=a(s,"DIV",{class:!0});var so=i(ht);T(Ei.$$.fragment,so),ow=h(so),eh=a(so,"P",{});var Tx=i(eh);nw=n(Tx,`Albert Model with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for
Named-Entity-Recognition (NER) tasks.`),Tx.forEach(t),sw=h(so),Mi=a(so,"P",{});var Gf=i(Mi);rw=n(Gf,"This model inherits from "),Jd=a(Gf,"A",{href:!0});var wx=i(Jd);aw=n(wx,"TFPreTrainedModel"),wx.forEach(t),iw=n(Gf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Gf.forEach(t),lw=h(so),zi=a(so,"P",{});var Xf=i(zi);dw=n(Xf,"This model is also a "),ji=a(Xf,"A",{href:!0,rel:!0});var $x=i(ji);cw=n($x,"tf.keras.Model"),$x.forEach(t),pw=n(Xf,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),Xf.forEach(t),hw=h(so),T(Ns.$$.fragment,so),mw=h(so),Ft=a(so,"DIV",{class:!0});var qo=i(Ft);T(qi.$$.fragment,qo),uw=h(qo),gn=a(qo,"P",{});var $c=i(gn);fw=n($c,"The "),Gd=a($c,"A",{href:!0});var Ax=i(Gd);gw=n(Ax,"TFAlbertForTokenClassification"),Ax.forEach(t),_w=n($c," forward method, overrides the "),th=a($c,"CODE",{});var Fx=i(th);bw=n(Fx,"__call__"),Fx.forEach(t),kw=n($c," special method."),$c.forEach(t),yw=h(qo),T(Ds.$$.fragment,qo),vw=h(qo),T(Ss.$$.fragment,qo),Tw=h(qo),T(Ws.$$.fragment,qo),qo.forEach(t),so.forEach(t),Su=h(s),_n=a(s,"H2",{class:!0});var Yf=i(_n);Us=a(Yf,"A",{id:!0,class:!0,href:!0});var xx=i(Us);oh=a(xx,"SPAN",{});var Ex=i(oh);T(Pi.$$.fragment,Ex),Ex.forEach(t),xx.forEach(t),ww=h(Yf),nh=a(Yf,"SPAN",{});var Mx=i(nh);$w=n(Mx,"TFAlbertForQuestionAnswering"),Mx.forEach(t),Yf.forEach(t),Wu=h(s),mt=a(s,"DIV",{class:!0});var ro=i(mt);T(Ci.$$.fragment,ro),Aw=h(ro),bn=a(ro,"P",{});var Ac=i(bn);Fw=n(Ac,`Albert Model with a span classification head on top for extractive question-answering tasks like SQuAD (a linear
layer on top of the hidden-states output to compute `),sh=a(Ac,"CODE",{});var zx=i(sh);xw=n(zx,"span start logits"),zx.forEach(t),Ew=n(Ac," and "),rh=a(Ac,"CODE",{});var jx=i(rh);Mw=n(jx,"span end logits"),jx.forEach(t),zw=n(Ac,")."),Ac.forEach(t),jw=h(ro),Li=a(ro,"P",{});var Zf=i(Li);qw=n(Zf,"This model inherits from "),Xd=a(Zf,"A",{href:!0});var qx=i(Xd);Pw=n(qx,"TFPreTrainedModel"),qx.forEach(t),Cw=n(Zf,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads
etc.)`),Zf.forEach(t),Lw=h(ro),Oi=a(ro,"P",{});var eg=i(Oi);Ow=n(eg,"This model is also a "),Ii=a(eg,"A",{href:!0,rel:!0});var Px=i(Ii);Iw=n(Px,"tf.keras.Model"),Px.forEach(t),Nw=n(eg,` subclass. Use it
as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and
behavior.`),eg.forEach(t),Dw=h(ro),T(Bs.$$.fragment,ro),Sw=h(ro),xt=a(ro,"DIV",{class:!0});var Po=i(xt);T(Ni.$$.fragment,Po),Ww=h(Po),kn=a(Po,"P",{});var Fc=i(kn);Uw=n(Fc,"The "),Yd=a(Fc,"A",{href:!0});var Cx=i(Yd);Bw=n(Cx,"TFAlbertForQuestionAnswering"),Cx.forEach(t),Rw=n(Fc," forward method, overrides the "),ah=a(Fc,"CODE",{});var Lx=i(ah);Hw=n(Lx,"__call__"),Lx.forEach(t),Qw=n(Fc," special method."),Fc.forEach(t),Kw=h(Po),T(Rs.$$.fragment,Po),Vw=h(Po),T(Hs.$$.fragment,Po),Jw=h(Po),T(Qs.$$.fragment,Po),Po.forEach(t),ro.forEach(t),Uu=h(s),yn=a(s,"H2",{class:!0});var tg=i(yn);Ks=a(tg,"A",{id:!0,class:!0,href:!0});var Ox=i(Ks);ih=a(Ox,"SPAN",{});var Ix=i(ih);T(Di.$$.fragment,Ix),Ix.forEach(t),Ox.forEach(t),Gw=h(tg),lh=a(tg,"SPAN",{});var Nx=i(lh);Xw=n(Nx,"FlaxAlbertModel"),Nx.forEach(t),tg.forEach(t),Bu=h(s),et=a(s,"DIV",{class:!0});var Et=i(et);T(Si.$$.fragment,Et),Yw=h(Et),dh=a(Et,"P",{});var Dx=i(dh);Zw=n(Dx,"The bare Albert Model transformer outputting raw hidden-states without any specific head on top."),Dx.forEach(t),e$=h(Et),Wi=a(Et,"P",{});var og=i(Wi);t$=n(og,"This model inherits from "),Zd=a(og,"A",{href:!0});var Sx=i(Zd);o$=n(Sx,"FlaxPreTrainedModel"),Sx.forEach(t),n$=n(og,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),og.forEach(t),s$=h(Et),Ui=a(Et,"P",{});var ng=i(Ui);r$=n(ng,"This model is also a Flax Linen "),Bi=a(ng,"A",{href:!0,rel:!0});var Wx=i(Bi);a$=n(Wx,"flax.linen.Module"),Wx.forEach(t),i$=n(ng,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),ng.forEach(t),l$=h(Et),ch=a(Et,"P",{});var Ux=i(ch);d$=n(Ux,"Finally, this model supports inherent JAX features such as:"),Ux.forEach(t),c$=h(Et),io=a(Et,"UL",{});var Ar=i(io);ph=a(Ar,"LI",{});var Bx=i(ph);Ri=a(Bx,"A",{href:!0,rel:!0});var Rx=i(Ri);p$=n(Rx,"Just-In-Time (JIT) compilation"),Rx.forEach(t),Bx.forEach(t),h$=h(Ar),hh=a(Ar,"LI",{});var Hx=i(hh);Hi=a(Hx,"A",{href:!0,rel:!0});var Qx=i(Hi);m$=n(Qx,"Automatic Differentiation"),Qx.forEach(t),Hx.forEach(t),u$=h(Ar),mh=a(Ar,"LI",{});var Kx=i(mh);Qi=a(Kx,"A",{href:!0,rel:!0});var Vx=i(Qi);f$=n(Vx,"Vectorization"),Vx.forEach(t),Kx.forEach(t),g$=h(Ar),uh=a(Ar,"LI",{});var Jx=i(uh);Ki=a(Jx,"A",{href:!0,rel:!0});var Gx=i(Ki);_$=n(Gx,"Parallelization"),Gx.forEach(t),Jx.forEach(t),Ar.forEach(t),b$=h(Et),Qt=a(Et,"DIV",{class:!0});var Fr=i(Qt);T(Vi.$$.fragment,Fr),k$=h(Fr),vn=a(Fr,"P",{});var xc=i(vn);y$=n(xc,"The "),fh=a(xc,"CODE",{});var Xx=i(fh);v$=n(Xx,"FlaxAlbertPreTrainedModel"),Xx.forEach(t),T$=n(xc," forward method, overrides the "),gh=a(xc,"CODE",{});var Yx=i(gh);w$=n(Yx,"__call__"),Yx.forEach(t),$$=n(xc," special method."),xc.forEach(t),A$=h(Fr),T(Vs.$$.fragment,Fr),F$=h(Fr),T(Js.$$.fragment,Fr),Fr.forEach(t),Et.forEach(t),Ru=h(s),Tn=a(s,"H2",{class:!0});var sg=i(Tn);Gs=a(sg,"A",{id:!0,class:!0,href:!0});var Zx=i(Gs);_h=a(Zx,"SPAN",{});var eE=i(_h);T(Ji.$$.fragment,eE),eE.forEach(t),Zx.forEach(t),x$=h(sg),bh=a(sg,"SPAN",{});var tE=i(bh);E$=n(tE,"FlaxAlbertForPreTraining"),tE.forEach(t),sg.forEach(t),Hu=h(s),tt=a(s,"DIV",{class:!0});var Mt=i(tt);T(Gi.$$.fragment,Mt),M$=h(Mt),wn=a(Mt,"P",{});var Ec=i(wn);z$=n(Ec,"Albert Model with two heads on top as done during the pretraining: a "),kh=a(Ec,"CODE",{});var oE=i(kh);j$=n(oE,"masked language modeling"),oE.forEach(t),q$=n(Ec,` head and a
`),yh=a(Ec,"CODE",{});var nE=i(yh);P$=n(nE,"sentence order prediction (classification)"),nE.forEach(t),C$=n(Ec," head."),Ec.forEach(t),L$=h(Mt),Xi=a(Mt,"P",{});var rg=i(Xi);O$=n(rg,"This model inherits from "),ec=a(rg,"A",{href:!0});var sE=i(ec);I$=n(sE,"FlaxPreTrainedModel"),sE.forEach(t),N$=n(rg,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),rg.forEach(t),D$=h(Mt),Yi=a(Mt,"P",{});var ag=i(Yi);S$=n(ag,"This model is also a Flax Linen "),Zi=a(ag,"A",{href:!0,rel:!0});var rE=i(Zi);W$=n(rE,"flax.linen.Module"),rE.forEach(t),U$=n(ag,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),ag.forEach(t),B$=h(Mt),vh=a(Mt,"P",{});var aE=i(vh);R$=n(aE,"Finally, this model supports inherent JAX features such as:"),aE.forEach(t),H$=h(Mt),lo=a(Mt,"UL",{});var xr=i(lo);Th=a(xr,"LI",{});var iE=i(Th);el=a(iE,"A",{href:!0,rel:!0});var lE=i(el);Q$=n(lE,"Just-In-Time (JIT) compilation"),lE.forEach(t),iE.forEach(t),K$=h(xr),wh=a(xr,"LI",{});var dE=i(wh);tl=a(dE,"A",{href:!0,rel:!0});var cE=i(tl);V$=n(cE,"Automatic Differentiation"),cE.forEach(t),dE.forEach(t),J$=h(xr),$h=a(xr,"LI",{});var pE=i($h);ol=a(pE,"A",{href:!0,rel:!0});var hE=i(ol);G$=n(hE,"Vectorization"),hE.forEach(t),pE.forEach(t),X$=h(xr),Ah=a(xr,"LI",{});var mE=i(Ah);nl=a(mE,"A",{href:!0,rel:!0});var uE=i(nl);Y$=n(uE,"Parallelization"),uE.forEach(t),mE.forEach(t),xr.forEach(t),Z$=h(Mt),Kt=a(Mt,"DIV",{class:!0});var Er=i(Kt);T(sl.$$.fragment,Er),e1=h(Er),$n=a(Er,"P",{});var Mc=i($n);t1=n(Mc,"The "),Fh=a(Mc,"CODE",{});var fE=i(Fh);o1=n(fE,"FlaxAlbertPreTrainedModel"),fE.forEach(t),n1=n(Mc," forward method, overrides the "),xh=a(Mc,"CODE",{});var gE=i(xh);s1=n(gE,"__call__"),gE.forEach(t),r1=n(Mc," special method."),Mc.forEach(t),a1=h(Er),T(Xs.$$.fragment,Er),i1=h(Er),T(Ys.$$.fragment,Er),Er.forEach(t),Mt.forEach(t),Qu=h(s),An=a(s,"H2",{class:!0});var ig=i(An);Zs=a(ig,"A",{id:!0,class:!0,href:!0});var _E=i(Zs);Eh=a(_E,"SPAN",{});var bE=i(Eh);T(rl.$$.fragment,bE),bE.forEach(t),_E.forEach(t),l1=h(ig),Mh=a(ig,"SPAN",{});var kE=i(Mh);d1=n(kE,"FlaxAlbertForMaskedLM"),kE.forEach(t),ig.forEach(t),Ku=h(s),ot=a(s,"DIV",{class:!0});var zt=i(ot);T(al.$$.fragment,zt),c1=h(zt),il=a(zt,"P",{});var lg=i(il);p1=n(lg,"Albert Model with a "),zh=a(lg,"CODE",{});var yE=i(zh);h1=n(yE,"language modeling"),yE.forEach(t),m1=n(lg," head on top."),lg.forEach(t),u1=h(zt),ll=a(zt,"P",{});var dg=i(ll);f1=n(dg,"This model inherits from "),tc=a(dg,"A",{href:!0});var vE=i(tc);g1=n(vE,"FlaxPreTrainedModel"),vE.forEach(t),_1=n(dg,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),dg.forEach(t),b1=h(zt),dl=a(zt,"P",{});var cg=i(dl);k1=n(cg,"This model is also a Flax Linen "),cl=a(cg,"A",{href:!0,rel:!0});var TE=i(cl);y1=n(TE,"flax.linen.Module"),TE.forEach(t),v1=n(cg,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),cg.forEach(t),T1=h(zt),jh=a(zt,"P",{});var wE=i(jh);w1=n(wE,"Finally, this model supports inherent JAX features such as:"),wE.forEach(t),$1=h(zt),co=a(zt,"UL",{});var Mr=i(co);qh=a(Mr,"LI",{});var $E=i(qh);pl=a($E,"A",{href:!0,rel:!0});var AE=i(pl);A1=n(AE,"Just-In-Time (JIT) compilation"),AE.forEach(t),$E.forEach(t),F1=h(Mr),Ph=a(Mr,"LI",{});var FE=i(Ph);hl=a(FE,"A",{href:!0,rel:!0});var xE=i(hl);x1=n(xE,"Automatic Differentiation"),xE.forEach(t),FE.forEach(t),E1=h(Mr),Ch=a(Mr,"LI",{});var EE=i(Ch);ml=a(EE,"A",{href:!0,rel:!0});var ME=i(ml);M1=n(ME,"Vectorization"),ME.forEach(t),EE.forEach(t),z1=h(Mr),Lh=a(Mr,"LI",{});var zE=i(Lh);ul=a(zE,"A",{href:!0,rel:!0});var jE=i(ul);j1=n(jE,"Parallelization"),jE.forEach(t),zE.forEach(t),Mr.forEach(t),q1=h(zt),Vt=a(zt,"DIV",{class:!0});var zr=i(Vt);T(fl.$$.fragment,zr),P1=h(zr),Fn=a(zr,"P",{});var zc=i(Fn);C1=n(zc,"The "),Oh=a(zc,"CODE",{});var qE=i(Oh);L1=n(qE,"FlaxAlbertPreTrainedModel"),qE.forEach(t),O1=n(zc," forward method, overrides the "),Ih=a(zc,"CODE",{});var PE=i(Ih);I1=n(PE,"__call__"),PE.forEach(t),N1=n(zc," special method."),zc.forEach(t),D1=h(zr),T(er.$$.fragment,zr),S1=h(zr),T(tr.$$.fragment,zr),zr.forEach(t),zt.forEach(t),Vu=h(s),xn=a(s,"H2",{class:!0});var pg=i(xn);or=a(pg,"A",{id:!0,class:!0,href:!0});var CE=i(or);Nh=a(CE,"SPAN",{});var LE=i(Nh);T(gl.$$.fragment,LE),LE.forEach(t),CE.forEach(t),W1=h(pg),Dh=a(pg,"SPAN",{});var OE=i(Dh);U1=n(OE,"FlaxAlbertForSequenceClassification"),OE.forEach(t),pg.forEach(t),Ju=h(s),nt=a(s,"DIV",{class:!0});var jt=i(nt);T(_l.$$.fragment,jt),B1=h(jt),Sh=a(jt,"P",{});var IE=i(Sh);R1=n(IE,`Albert Model transformer with a sequence classification/regression head on top (a linear layer on top of the pooled
output) e.g. for GLUE tasks.`),IE.forEach(t),H1=h(jt),bl=a(jt,"P",{});var hg=i(bl);Q1=n(hg,"This model inherits from "),oc=a(hg,"A",{href:!0});var NE=i(oc);K1=n(NE,"FlaxPreTrainedModel"),NE.forEach(t),V1=n(hg,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),hg.forEach(t),J1=h(jt),kl=a(jt,"P",{});var mg=i(kl);G1=n(mg,"This model is also a Flax Linen "),yl=a(mg,"A",{href:!0,rel:!0});var DE=i(yl);X1=n(DE,"flax.linen.Module"),DE.forEach(t),Y1=n(mg,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),mg.forEach(t),Z1=h(jt),Wh=a(jt,"P",{});var SE=i(Wh);e2=n(SE,"Finally, this model supports inherent JAX features such as:"),SE.forEach(t),t2=h(jt),po=a(jt,"UL",{});var jr=i(po);Uh=a(jr,"LI",{});var WE=i(Uh);vl=a(WE,"A",{href:!0,rel:!0});var UE=i(vl);o2=n(UE,"Just-In-Time (JIT) compilation"),UE.forEach(t),WE.forEach(t),n2=h(jr),Bh=a(jr,"LI",{});var BE=i(Bh);Tl=a(BE,"A",{href:!0,rel:!0});var RE=i(Tl);s2=n(RE,"Automatic Differentiation"),RE.forEach(t),BE.forEach(t),r2=h(jr),Rh=a(jr,"LI",{});var HE=i(Rh);wl=a(HE,"A",{href:!0,rel:!0});var QE=i(wl);a2=n(QE,"Vectorization"),QE.forEach(t),HE.forEach(t),i2=h(jr),Hh=a(jr,"LI",{});var KE=i(Hh);$l=a(KE,"A",{href:!0,rel:!0});var VE=i($l);l2=n(VE,"Parallelization"),VE.forEach(t),KE.forEach(t),jr.forEach(t),d2=h(jt),Jt=a(jt,"DIV",{class:!0});var qr=i(Jt);T(Al.$$.fragment,qr),c2=h(qr),En=a(qr,"P",{});var jc=i(En);p2=n(jc,"The "),Qh=a(jc,"CODE",{});var JE=i(Qh);h2=n(JE,"FlaxAlbertPreTrainedModel"),JE.forEach(t),m2=n(jc," forward method, overrides the "),Kh=a(jc,"CODE",{});var GE=i(Kh);u2=n(GE,"__call__"),GE.forEach(t),f2=n(jc," special method."),jc.forEach(t),g2=h(qr),T(nr.$$.fragment,qr),_2=h(qr),T(sr.$$.fragment,qr),qr.forEach(t),jt.forEach(t),Gu=h(s),Mn=a(s,"H2",{class:!0});var ug=i(Mn);rr=a(ug,"A",{id:!0,class:!0,href:!0});var XE=i(rr);Vh=a(XE,"SPAN",{});var YE=i(Vh);T(Fl.$$.fragment,YE),YE.forEach(t),XE.forEach(t),b2=h(ug),Jh=a(ug,"SPAN",{});var ZE=i(Jh);k2=n(ZE,"FlaxAlbertForMultipleChoice"),ZE.forEach(t),ug.forEach(t),Xu=h(s),st=a(s,"DIV",{class:!0});var qt=i(st);T(xl.$$.fragment,qt),y2=h(qt),Gh=a(qt,"P",{});var eM=i(Gh);v2=n(eM,`Albert Model with a multiple choice classification head on top (a linear layer on top of the pooled output and a
softmax) e.g. for RocStories/SWAG tasks.`),eM.forEach(t),T2=h(qt),El=a(qt,"P",{});var fg=i(El);w2=n(fg,"This model inherits from "),nc=a(fg,"A",{href:!0});var tM=i(nc);$2=n(tM,"FlaxPreTrainedModel"),tM.forEach(t),A2=n(fg,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),fg.forEach(t),F2=h(qt),Ml=a(qt,"P",{});var gg=i(Ml);x2=n(gg,"This model is also a Flax Linen "),zl=a(gg,"A",{href:!0,rel:!0});var oM=i(zl);E2=n(oM,"flax.linen.Module"),oM.forEach(t),M2=n(gg,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),gg.forEach(t),z2=h(qt),Xh=a(qt,"P",{});var nM=i(Xh);j2=n(nM,"Finally, this model supports inherent JAX features such as:"),nM.forEach(t),q2=h(qt),ho=a(qt,"UL",{});var Pr=i(ho);Yh=a(Pr,"LI",{});var sM=i(Yh);jl=a(sM,"A",{href:!0,rel:!0});var rM=i(jl);P2=n(rM,"Just-In-Time (JIT) compilation"),rM.forEach(t),sM.forEach(t),C2=h(Pr),Zh=a(Pr,"LI",{});var aM=i(Zh);ql=a(aM,"A",{href:!0,rel:!0});var iM=i(ql);L2=n(iM,"Automatic Differentiation"),iM.forEach(t),aM.forEach(t),O2=h(Pr),em=a(Pr,"LI",{});var lM=i(em);Pl=a(lM,"A",{href:!0,rel:!0});var dM=i(Pl);I2=n(dM,"Vectorization"),dM.forEach(t),lM.forEach(t),N2=h(Pr),tm=a(Pr,"LI",{});var cM=i(tm);Cl=a(cM,"A",{href:!0,rel:!0});var pM=i(Cl);D2=n(pM,"Parallelization"),pM.forEach(t),cM.forEach(t),Pr.forEach(t),S2=h(qt),Gt=a(qt,"DIV",{class:!0});var Cr=i(Gt);T(Ll.$$.fragment,Cr),W2=h(Cr),zn=a(Cr,"P",{});var qc=i(zn);U2=n(qc,"The "),om=a(qc,"CODE",{});var hM=i(om);B2=n(hM,"FlaxAlbertPreTrainedModel"),hM.forEach(t),R2=n(qc," forward method, overrides the "),nm=a(qc,"CODE",{});var mM=i(nm);H2=n(mM,"__call__"),mM.forEach(t),Q2=n(qc," special method."),qc.forEach(t),K2=h(Cr),T(ar.$$.fragment,Cr),V2=h(Cr),T(ir.$$.fragment,Cr),Cr.forEach(t),qt.forEach(t),Yu=h(s),jn=a(s,"H2",{class:!0});var _g=i(jn);lr=a(_g,"A",{id:!0,class:!0,href:!0});var uM=i(lr);sm=a(uM,"SPAN",{});var fM=i(sm);T(Ol.$$.fragment,fM),fM.forEach(t),uM.forEach(t),J2=h(_g),rm=a(_g,"SPAN",{});var gM=i(rm);G2=n(gM,"FlaxAlbertForTokenClassification"),gM.forEach(t),_g.forEach(t),Zu=h(s),rt=a(s,"DIV",{class:!0});var Pt=i(rt);T(Il.$$.fragment,Pt),X2=h(Pt),am=a(Pt,"P",{});var _M=i(am);Y2=n(_M,`Albert Model with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for
Named-Entity-Recognition (NER) tasks.`),_M.forEach(t),Z2=h(Pt),Nl=a(Pt,"P",{});var bg=i(Nl);eA=n(bg,"This model inherits from "),sc=a(bg,"A",{href:!0});var bM=i(sc);tA=n(bM,"FlaxPreTrainedModel"),bM.forEach(t),oA=n(bg,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),bg.forEach(t),nA=h(Pt),Dl=a(Pt,"P",{});var kg=i(Dl);sA=n(kg,"This model is also a Flax Linen "),Sl=a(kg,"A",{href:!0,rel:!0});var kM=i(Sl);rA=n(kM,"flax.linen.Module"),kM.forEach(t),aA=n(kg,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),kg.forEach(t),iA=h(Pt),im=a(Pt,"P",{});var yM=i(im);lA=n(yM,"Finally, this model supports inherent JAX features such as:"),yM.forEach(t),dA=h(Pt),mo=a(Pt,"UL",{});var Lr=i(mo);lm=a(Lr,"LI",{});var vM=i(lm);Wl=a(vM,"A",{href:!0,rel:!0});var TM=i(Wl);cA=n(TM,"Just-In-Time (JIT) compilation"),TM.forEach(t),vM.forEach(t),pA=h(Lr),dm=a(Lr,"LI",{});var wM=i(dm);Ul=a(wM,"A",{href:!0,rel:!0});var $M=i(Ul);hA=n($M,"Automatic Differentiation"),$M.forEach(t),wM.forEach(t),mA=h(Lr),cm=a(Lr,"LI",{});var AM=i(cm);Bl=a(AM,"A",{href:!0,rel:!0});var FM=i(Bl);uA=n(FM,"Vectorization"),FM.forEach(t),AM.forEach(t),fA=h(Lr),pm=a(Lr,"LI",{});var xM=i(pm);Rl=a(xM,"A",{href:!0,rel:!0});var EM=i(Rl);gA=n(EM,"Parallelization"),EM.forEach(t),xM.forEach(t),Lr.forEach(t),_A=h(Pt),Xt=a(Pt,"DIV",{class:!0});var Or=i(Xt);T(Hl.$$.fragment,Or),bA=h(Or),qn=a(Or,"P",{});var Pc=i(qn);kA=n(Pc,"The "),hm=a(Pc,"CODE",{});var MM=i(hm);yA=n(MM,"FlaxAlbertPreTrainedModel"),MM.forEach(t),vA=n(Pc," forward method, overrides the "),mm=a(Pc,"CODE",{});var zM=i(mm);TA=n(zM,"__call__"),zM.forEach(t),wA=n(Pc," special method."),Pc.forEach(t),$A=h(Or),T(dr.$$.fragment,Or),AA=h(Or),T(cr.$$.fragment,Or),Or.forEach(t),Pt.forEach(t),ef=h(s),Pn=a(s,"H2",{class:!0});var yg=i(Pn);pr=a(yg,"A",{id:!0,class:!0,href:!0});var jM=i(pr);um=a(jM,"SPAN",{});var qM=i(um);T(Ql.$$.fragment,qM),qM.forEach(t),jM.forEach(t),FA=h(yg),fm=a(yg,"SPAN",{});var PM=i(fm);xA=n(PM,"FlaxAlbertForQuestionAnswering"),PM.forEach(t),yg.forEach(t),tf=h(s),at=a(s,"DIV",{class:!0});var Ct=i(at);T(Kl.$$.fragment,Ct),EA=h(Ct),Cn=a(Ct,"P",{});var Cc=i(Cn);MA=n(Cc,`Albert Model with a span classification head on top for extractive question-answering tasks like SQuAD (a linear
layers on top of the hidden-states output to compute `),gm=a(Cc,"CODE",{});var CM=i(gm);zA=n(CM,"span start logits"),CM.forEach(t),jA=n(Cc," and "),_m=a(Cc,"CODE",{});var LM=i(_m);qA=n(LM,"span end logits"),LM.forEach(t),PA=n(Cc,")."),Cc.forEach(t),CA=h(Ct),Vl=a(Ct,"P",{});var vg=i(Vl);LA=n(vg,"This model inherits from "),rc=a(vg,"A",{href:!0});var OM=i(rc);OA=n(OM,"FlaxPreTrainedModel"),OM.forEach(t),IA=n(vg,`. Check the superclass documentation for the generic methods the
library implements for all its model (such as downloading, saving and converting weights from PyTorch models)`),vg.forEach(t),NA=h(Ct),Jl=a(Ct,"P",{});var Tg=i(Jl);DA=n(Tg,"This model is also a Flax Linen "),Gl=a(Tg,"A",{href:!0,rel:!0});var IM=i(Gl);SA=n(IM,"flax.linen.Module"),IM.forEach(t),WA=n(Tg,`
subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to
general usage and behavior.`),Tg.forEach(t),UA=h(Ct),bm=a(Ct,"P",{});var NM=i(bm);BA=n(NM,"Finally, this model supports inherent JAX features such as:"),NM.forEach(t),RA=h(Ct),uo=a(Ct,"UL",{});var Ir=i(uo);km=a(Ir,"LI",{});var DM=i(km);Xl=a(DM,"A",{href:!0,rel:!0});var SM=i(Xl);HA=n(SM,"Just-In-Time (JIT) compilation"),SM.forEach(t),DM.forEach(t),QA=h(Ir),ym=a(Ir,"LI",{});var WM=i(ym);Yl=a(WM,"A",{href:!0,rel:!0});var UM=i(Yl);KA=n(UM,"Automatic Differentiation"),UM.forEach(t),WM.forEach(t),VA=h(Ir),vm=a(Ir,"LI",{});var BM=i(vm);Zl=a(BM,"A",{href:!0,rel:!0});var RM=i(Zl);JA=n(RM,"Vectorization"),RM.forEach(t),BM.forEach(t),GA=h(Ir),Tm=a(Ir,"LI",{});var HM=i(Tm);ed=a(HM,"A",{href:!0,rel:!0});var QM=i(ed);XA=n(QM,"Parallelization"),QM.forEach(t),HM.forEach(t),Ir.forEach(t),YA=h(Ct),Yt=a(Ct,"DIV",{class:!0});var Nr=i(Yt);T(td.$$.fragment,Nr),ZA=h(Nr),Ln=a(Nr,"P",{});var Lc=i(Ln);eF=n(Lc,"The "),wm=a(Lc,"CODE",{});var KM=i(wm);tF=n(KM,"FlaxAlbertPreTrainedModel"),KM.forEach(t),oF=n(Lc," forward method, overrides the "),$m=a(Lc,"CODE",{});var VM=i($m);nF=n(VM,"__call__"),VM.forEach(t),sF=n(Lc," special method."),Lc.forEach(t),rF=h(Nr),T(hr.$$.fragment,Nr),aF=h(Nr),T(mr.$$.fragment,Nr),Nr.forEach(t),Ct.forEach(t),this.h()},h(){u(d,"name","hf:doc:metadata"),u(d,"content",JSON.stringify(r4)),u(f,"id","albert"),u(f,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(f,"href","#albert"),u(m,"class","relative group"),u(se,"id","overview"),u(se,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(se,"href","#overview"),u(W,"class","relative group"),u(ae,"href","https://arxiv.org/abs/1909.11942"),u(ae,"rel","nofollow"),u(R,"href","https://huggingface.co/lysandre"),u(R,"rel","nofollow"),u(P,"href","https://huggingface.co/kamalkraj"),u(P,"rel","nofollow"),u(ie,"href","https://github.com/google-research/ALBERT"),u(ie,"rel","nofollow"),u(Z,"id","transformers.AlbertConfig"),u(Z,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Z,"href","#transformers.AlbertConfig"),u(Le,"class","relative group"),u(Ue,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertModel"),u(Be,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertModel"),u(ee,"href","https://huggingface.co/albert-xxlarge-v2"),u(ee,"rel","nofollow"),u(ud,"href","/docs/transformers/main/en/main_classes/configuration#transformers.PretrainedConfig"),u(fd,"href","/docs/transformers/main/en/main_classes/configuration#transformers.PretrainedConfig"),u(de,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Sn,"id","transformers.AlbertTokenizer"),u(Sn,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Sn,"href","#transformers.AlbertTokenizer"),u(Lo,"class","relative group"),u(Ur,"href","https://github.com/google/sentencepiece"),u(Ur,"rel","nofollow"),u(gd,"href","/docs/transformers/main/en/main_classes/tokenizer#transformers.PreTrainedTokenizer"),u(ko,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Wn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Ot,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(kd,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Ze,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Bn,"id","transformers.AlbertTokenizerFast"),u(Bn,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Bn,"href","#transformers.AlbertTokenizerFast"),u(Io,"class","relative group"),u(Yr,"href","https://huggingface.co/docs/tokenizers/python/latest/components.html?highlight=unigram#models"),u(Yr,"rel","nofollow"),u(yd,"href","/docs/transformers/main/en/main_classes/tokenizer#transformers.PreTrainedTokenizerFast"),u(yo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(It,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Lt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Hn,"id","transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput"),u(Hn,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Hn,"href","#transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput"),u(No,"class","relative group"),u(wd,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForPreTraining"),u(Do,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u($d,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForPreTraining"),u(So,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Qn,"id","transformers.AlbertModel"),u(Qn,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Qn,"href","#transformers.AlbertModel"),u(Wo,"class","relative group"),u(Ad,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u(pa,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u(pa,"rel","nofollow"),u(Fd,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertModel"),u(Nt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ft,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Jn,"id","transformers.AlbertForPreTraining"),u(Jn,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Jn,"href","#transformers.AlbertForPreTraining"),u(Bo,"class","relative group"),u(xd,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u(_a,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u(_a,"rel","nofollow"),u(Ed,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForPreTraining"),u(Dt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(gt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Yn,"id","transformers.AlbertForMaskedLM"),u(Yn,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Yn,"href","#transformers.AlbertForMaskedLM"),u(Qo,"class","relative group"),u(Md,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u($a,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u($a,"rel","nofollow"),u(zd,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForMaskedLM"),u(Tt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(_t,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(os,"id","transformers.AlbertForSequenceClassification"),u(os,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(os,"href","#transformers.AlbertForSequenceClassification"),u(Vo,"class","relative group"),u(jd,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u(za,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u(za,"rel","nofollow"),u(qd,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForSequenceClassification"),u(wt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(bt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(as,"id","transformers.AlbertForMultipleChoice"),u(as,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(as,"href","#transformers.AlbertForMultipleChoice"),u(Go,"class","relative group"),u(Pd,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u(Oa,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u(Oa,"rel","nofollow"),u(Cd,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForMultipleChoice"),u(St,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(kt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ds,"id","transformers.AlbertForTokenClassification"),u(ds,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(ds,"href","#transformers.AlbertForTokenClassification"),u(Yo,"class","relative group"),u(Ld,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u(Ua,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u(Ua,"rel","nofollow"),u(Od,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForTokenClassification"),u(Wt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(yt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(hs,"id","transformers.AlbertForQuestionAnswering"),u(hs,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(hs,"href","#transformers.AlbertForQuestionAnswering"),u(en,"class","relative group"),u(Id,"href","/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel"),u(Va,"href","https://pytorch.org/docs/stable/nn.html#torch.nn.Module"),u(Va,"rel","nofollow"),u(Nd,"href","/docs/transformers/main/en/model_doc/albert#transformers.AlbertForQuestionAnswering"),u(Ut,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(vt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(fs,"id","transformers.TFAlbertModel"),u(fs,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(fs,"href","#transformers.TFAlbertModel"),u(nn,"class","relative group"),u(Dd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(ei,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(ei,"rel","nofollow"),u(Sd,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertModel"),u(Bt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(it,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ks,"id","transformers.TFAlbertForPreTraining"),u(ks,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(ks,"href","#transformers.TFAlbertForPreTraining"),u(rn,"class","relative group"),u(Wd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(ai,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(ai,"rel","nofollow"),u(Ud,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForPreTraining"),u(Rt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(lt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ws,"id","transformers.TFAlbertForMaskedLM"),u(ws,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(ws,"href","#transformers.TFAlbertForMaskedLM"),u(dn,"class","relative group"),u(Bd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(mi,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(mi,"rel","nofollow"),u(Rd,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForMaskedLM"),u($t,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(dt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Es,"id","transformers.TFAlbertForSequenceClassification"),u(Es,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Es,"href","#transformers.TFAlbertForSequenceClassification"),u(pn,"class","relative group"),u(Hd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(ki,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(ki,"rel","nofollow"),u(Qd,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForSequenceClassification"),u(At,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ct,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Ps,"id","transformers.TFAlbertForMultipleChoice"),u(Ps,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Ps,"href","#transformers.TFAlbertForMultipleChoice"),u(mn,"class","relative group"),u(Kd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(Ai,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(Ai,"rel","nofollow"),u(Vd,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForMultipleChoice"),u(Ht,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(pt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Is,"id","transformers.TFAlbertForTokenClassification"),u(Is,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Is,"href","#transformers.TFAlbertForTokenClassification"),u(fn,"class","relative group"),u(Jd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(ji,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(ji,"rel","nofollow"),u(Gd,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForTokenClassification"),u(Ft,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ht,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Us,"id","transformers.TFAlbertForQuestionAnswering"),u(Us,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Us,"href","#transformers.TFAlbertForQuestionAnswering"),u(_n,"class","relative group"),u(Xd,"href","/docs/transformers/main/en/main_classes/model#transformers.TFPreTrainedModel"),u(Ii,"href","https://www.tensorflow.org/api_docs/python/tf/keras/Model"),u(Ii,"rel","nofollow"),u(Yd,"href","/docs/transformers/main/en/model_doc/albert#transformers.TFAlbertForQuestionAnswering"),u(xt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(mt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Ks,"id","transformers.FlaxAlbertModel"),u(Ks,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Ks,"href","#transformers.FlaxAlbertModel"),u(yn,"class","relative group"),u(Zd,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(Bi,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(Bi,"rel","nofollow"),u(Ri,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(Ri,"rel","nofollow"),u(Hi,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(Hi,"rel","nofollow"),u(Qi,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(Qi,"rel","nofollow"),u(Ki,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u(Ki,"rel","nofollow"),u(Qt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(et,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Gs,"id","transformers.FlaxAlbertForPreTraining"),u(Gs,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Gs,"href","#transformers.FlaxAlbertForPreTraining"),u(Tn,"class","relative group"),u(ec,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(Zi,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(Zi,"rel","nofollow"),u(el,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(el,"rel","nofollow"),u(tl,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(tl,"rel","nofollow"),u(ol,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(ol,"rel","nofollow"),u(nl,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u(nl,"rel","nofollow"),u(Kt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(tt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(Zs,"id","transformers.FlaxAlbertForMaskedLM"),u(Zs,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(Zs,"href","#transformers.FlaxAlbertForMaskedLM"),u(An,"class","relative group"),u(tc,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(cl,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(cl,"rel","nofollow"),u(pl,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(pl,"rel","nofollow"),u(hl,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(hl,"rel","nofollow"),u(ml,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(ml,"rel","nofollow"),u(ul,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u(ul,"rel","nofollow"),u(Vt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(ot,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(or,"id","transformers.FlaxAlbertForSequenceClassification"),u(or,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(or,"href","#transformers.FlaxAlbertForSequenceClassification"),u(xn,"class","relative group"),u(oc,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(yl,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(yl,"rel","nofollow"),u(vl,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(vl,"rel","nofollow"),u(Tl,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(Tl,"rel","nofollow"),u(wl,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(wl,"rel","nofollow"),u($l,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u($l,"rel","nofollow"),u(Jt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(nt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(rr,"id","transformers.FlaxAlbertForMultipleChoice"),u(rr,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(rr,"href","#transformers.FlaxAlbertForMultipleChoice"),u(Mn,"class","relative group"),u(nc,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(zl,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(zl,"rel","nofollow"),u(jl,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(jl,"rel","nofollow"),u(ql,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(ql,"rel","nofollow"),u(Pl,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(Pl,"rel","nofollow"),u(Cl,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u(Cl,"rel","nofollow"),u(Gt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(st,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(lr,"id","transformers.FlaxAlbertForTokenClassification"),u(lr,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(lr,"href","#transformers.FlaxAlbertForTokenClassification"),u(jn,"class","relative group"),u(sc,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(Sl,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(Sl,"rel","nofollow"),u(Wl,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(Wl,"rel","nofollow"),u(Ul,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(Ul,"rel","nofollow"),u(Bl,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(Bl,"rel","nofollow"),u(Rl,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u(Rl,"rel","nofollow"),u(Xt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(rt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(pr,"id","transformers.FlaxAlbertForQuestionAnswering"),u(pr,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(pr,"href","#transformers.FlaxAlbertForQuestionAnswering"),u(Pn,"class","relative group"),u(rc,"href","/docs/transformers/main/en/main_classes/model#transformers.FlaxPreTrainedModel"),u(Gl,"href","https://flax.readthedocs.io/en/latest/flax.linen.html#module"),u(Gl,"rel","nofollow"),u(Xl,"href","https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit"),u(Xl,"rel","nofollow"),u(Yl,"href","https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation"),u(Yl,"rel","nofollow"),u(Zl,"href","https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap"),u(Zl,"rel","nofollow"),u(ed,"href","https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap"),u(ed,"rel","nofollow"),u(Yt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),u(at,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(s,k){e(document.head,d),g(s,b,k),g(s,m,k),e(m,f),e(f,_),w(l,_,null),e(m,c),e(m,M),e(M,be),g(s,me,k),g(s,W,k),e(W,se),e(se,te),w(x,te,null),e(W,ke),e(W,Q),e(Q,ye),g(s,ue,k),g(s,U,k),e(U,ve),e(U,ae),e(ae,G),e(U,Te),g(s,fe,k),g(s,B,k),e(B,ce),e(ce,we),e(B,X),e(B,pe),e(pe,$e),g(s,oe,k),g(s,q,k),e(q,L),g(s,ge,k),g(s,H,k),e(H,he),e(he,Ae),g(s,J,k),g(s,le,k),e(le,Fe),g(s,C,k),g(s,re,k),e(re,K),e(K,xe),e(re,Ee),e(re,V),e(V,Me),g(s,_e,k),g(s,O,k),e(O,ze),e(O,R),e(R,je),e(O,ne),e(O,P),e(P,qe),e(O,I),e(O,ie),e(ie,Pe),e(O,y),g(s,z,k),g(s,Le,k),e(Le,Z),e(Z,He),w(De,He,null),e(Le,j),e(Le,Qe),e(Qe,Ve),g(s,Ke,k),g(s,de,k),w(Se,de,null),e(de,S),e(de,N),e(N,Je),e(N,Ue),e(Ue,Y),e(N,Ge),e(N,Be),e(Be,Ce),e(N,Xe),e(N,ee),e(ee,Ye),e(N,wg),e(de,$g),e(de,Co),e(Co,Ag),e(Co,ud),e(ud,Fg),e(Co,xg),e(Co,fd),e(fd,Eg),e(Co,Mg),e(de,zg),w(Dn,de,null),g(s,iu,k),g(s,Lo,k),e(Lo,Sn),e(Sn,Oc),w(Dr,Oc,null),e(Lo,jg),e(Lo,Ic),e(Ic,qg),g(s,lu,k),g(s,Ze,k),w(Sr,Ze,null),e(Ze,Pg),e(Ze,Wr),e(Wr,Cg),e(Wr,Ur),e(Ur,Lg),e(Wr,Og),e(Ze,Ig),e(Ze,Br),e(Br,Ng),e(Br,gd),e(gd,Dg),e(Br,Sg),e(Ze,Wg),e(Ze,ko),w(Rr,ko,null),e(ko,Ug),e(ko,Nc),e(Nc,Bg),e(ko,Rg),e(ko,Hr),e(Hr,_d),e(_d,Hg),e(_d,Dc),e(Dc,Qg),e(Hr,Kg),e(Hr,bd),e(bd,Vg),e(bd,Sc),e(Sc,Jg),e(Ze,Gg),e(Ze,Wn),w(Qr,Wn,null),e(Wn,Xg),e(Wn,Kr),e(Kr,Yg),e(Kr,Wc),e(Wc,Zg),e(Kr,e_),e(Ze,t_),e(Ze,Ot),w(Vr,Ot,null),e(Ot,o_),e(Ot,Uc),e(Uc,n_),e(Ot,s_),w(Un,Ot,null),e(Ot,r_),e(Ot,Oo),e(Oo,a_),e(Oo,Bc),e(Bc,i_),e(Oo,l_),e(Oo,Rc),e(Rc,d_),e(Oo,c_),e(Ze,p_),e(Ze,kd),w(Jr,kd,null),g(s,du,k),g(s,Io,k),e(Io,Bn),e(Bn,Hc),w(Gr,Hc,null),e(Io,h_),e(Io,Qc),e(Qc,m_),g(s,cu,k),g(s,Lt,k),w(Xr,Lt,null),e(Lt,u_),e(Lt,ao),e(ao,f_),e(ao,Kc),e(Kc,g_),e(ao,__),e(ao,Yr),e(Yr,b_),e(ao,k_),e(ao,yd),e(yd,y_),e(ao,v_),e(Lt,T_),e(Lt,yo),w(Zr,yo,null),e(yo,w_),e(yo,Vc),e(Vc,$_),e(yo,A_),e(yo,ea),e(ea,vd),e(vd,F_),e(vd,Jc),e(Jc,x_),e(ea,E_),e(ea,Td),e(Td,M_),e(Td,Gc),e(Gc,z_),e(Lt,j_),e(Lt,It),w(ta,It,null),e(It,q_),e(It,Xc),e(Xc,P_),e(It,C_),w(Rn,It,null),e(It,L_),e(It,Yc),e(Yc,O_),g(s,pu,k),g(s,No,k),e(No,Hn),e(Hn,Zc),w(oa,Zc,null),e(No,I_),e(No,ep),e(ep,N_),g(s,hu,k),g(s,Do,k),w(na,Do,null),e(Do,D_),e(Do,sa),e(sa,S_),e(sa,wd),e(wd,W_),e(sa,U_),g(s,mu,k),g(s,So,k),w(ra,So,null),e(So,B_),e(So,aa),e(aa,R_),e(aa,$d),e($d,H_),e(aa,Q_),g(s,uu,k),g(s,Wo,k),e(Wo,Qn),e(Qn,tp),w(ia,tp,null),e(Wo,K_),e(Wo,op),e(op,V_),g(s,fu,k),g(s,ft,k),w(la,ft,null),e(ft,J_),e(ft,np),e(np,G_),e(ft,X_),e(ft,da),e(da,Y_),e(da,Ad),e(Ad,Z_),e(da,eb),e(ft,tb),e(ft,ca),e(ca,ob),e(ca,pa),e(pa,nb),e(ca,sb),e(ft,rb),e(ft,Nt),w(ha,Nt,null),e(Nt,ab),e(Nt,Uo),e(Uo,ib),e(Uo,Fd),e(Fd,lb),e(Uo,db),e(Uo,sp),e(sp,cb),e(Uo,pb),e(Nt,hb),w(Kn,Nt,null),e(Nt,mb),w(Vn,Nt,null),g(s,gu,k),g(s,Bo,k),e(Bo,Jn),e(Jn,rp),w(ma,rp,null),e(Bo,ub),e(Bo,ap),e(ap,fb),g(s,_u,k),g(s,gt,k),w(ua,gt,null),e(gt,gb),e(gt,Ro),e(Ro,_b),e(Ro,ip),e(ip,bb),e(Ro,kb),e(Ro,lp),e(lp,yb),e(Ro,vb),e(gt,Tb),e(gt,fa),e(fa,wb),e(fa,xd),e(xd,$b),e(fa,Ab),e(gt,Fb),e(gt,ga),e(ga,xb),e(ga,_a),e(_a,Eb),e(ga,Mb),e(gt,zb),e(gt,Dt),w(ba,Dt,null),e(Dt,jb),e(Dt,Ho),e(Ho,qb),e(Ho,Ed),e(Ed,Pb),e(Ho,Cb),e(Ho,dp),e(dp,Lb),e(Ho,Ob),e(Dt,Ib),w(Gn,Dt,null),e(Dt,Nb),w(Xn,Dt,null),g(s,bu,k),g(s,Qo,k),e(Qo,Yn),e(Yn,cp),w(ka,cp,null),e(Qo,Db),e(Qo,pp),e(pp,Sb),g(s,ku,k),g(s,_t,k),w(ya,_t,null),e(_t,Wb),e(_t,va),e(va,Ub),e(va,hp),e(hp,Bb),e(va,Rb),e(_t,Hb),e(_t,Ta),e(Ta,Qb),e(Ta,Md),e(Md,Kb),e(Ta,Vb),e(_t,Jb),e(_t,wa),e(wa,Gb),e(wa,$a),e($a,Xb),e(wa,Yb),e(_t,Zb),e(_t,Tt),w(Aa,Tt,null),e(Tt,ek),e(Tt,Ko),e(Ko,tk),e(Ko,zd),e(zd,ok),e(Ko,nk),e(Ko,mp),e(mp,sk),e(Ko,rk),e(Tt,ak),w(Zn,Tt,null),e(Tt,ik),w(es,Tt,null),e(Tt,lk),w(ts,Tt,null),g(s,yu,k),g(s,Vo,k),e(Vo,os),e(os,up),w(Fa,up,null),e(Vo,dk),e(Vo,fp),e(fp,ck),g(s,vu,k),g(s,bt,k),w(xa,bt,null),e(bt,pk),e(bt,gp),e(gp,hk),e(bt,mk),e(bt,Ea),e(Ea,uk),e(Ea,jd),e(jd,fk),e(Ea,gk),e(bt,_k),e(bt,Ma),e(Ma,bk),e(Ma,za),e(za,kk),e(Ma,yk),e(bt,vk),e(bt,wt),w(ja,wt,null),e(wt,Tk),e(wt,Jo),e(Jo,wk),e(Jo,qd),e(qd,$k),e(Jo,Ak),e(Jo,_p),e(_p,Fk),e(Jo,xk),e(wt,Ek),w(ns,wt,null),e(wt,Mk),w(ss,wt,null),e(wt,zk),w(rs,wt,null),g(s,Tu,k),g(s,Go,k),e(Go,as),e(as,bp),w(qa,bp,null),e(Go,jk),e(Go,kp),e(kp,qk),g(s,wu,k),g(s,kt,k),w(Pa,kt,null),e(kt,Pk),e(kt,yp),e(yp,Ck),e(kt,Lk),e(kt,Ca),e(Ca,Ok),e(Ca,Pd),e(Pd,Ik),e(Ca,Nk),e(kt,Dk),e(kt,La),e(La,Sk),e(La,Oa),e(Oa,Wk),e(La,Uk),e(kt,Bk),e(kt,St),w(Ia,St,null),e(St,Rk),e(St,Xo),e(Xo,Hk),e(Xo,Cd),e(Cd,Qk),e(Xo,Kk),e(Xo,vp),e(vp,Vk),e(Xo,Jk),e(St,Gk),w(is,St,null),e(St,Xk),w(ls,St,null),g(s,$u,k),g(s,Yo,k),e(Yo,ds),e(ds,Tp),w(Na,Tp,null),e(Yo,Yk),e(Yo,wp),e(wp,Zk),g(s,Au,k),g(s,yt,k),w(Da,yt,null),e(yt,ey),e(yt,$p),e($p,ty),e(yt,oy),e(yt,Sa),e(Sa,ny),e(Sa,Ld),e(Ld,sy),e(Sa,ry),e(yt,ay),e(yt,Wa),e(Wa,iy),e(Wa,Ua),e(Ua,ly),e(Wa,dy),e(yt,cy),e(yt,Wt),w(Ba,Wt,null),e(Wt,py),e(Wt,Zo),e(Zo,hy),e(Zo,Od),e(Od,my),e(Zo,uy),e(Zo,Ap),e(Ap,fy),e(Zo,gy),e(Wt,_y),w(cs,Wt,null),e(Wt,by),w(ps,Wt,null),g(s,Fu,k),g(s,en,k),e(en,hs),e(hs,Fp),w(Ra,Fp,null),e(en,ky),e(en,xp),e(xp,yy),g(s,xu,k),g(s,vt,k),w(Ha,vt,null),e(vt,vy),e(vt,tn),e(tn,Ty),e(tn,Ep),e(Ep,wy),e(tn,$y),e(tn,Mp),e(Mp,Ay),e(tn,Fy),e(vt,xy),e(vt,Qa),e(Qa,Ey),e(Qa,Id),e(Id,My),e(Qa,zy),e(vt,jy),e(vt,Ka),e(Ka,qy),e(Ka,Va),e(Va,Py),e(Ka,Cy),e(vt,Ly),e(vt,Ut),w(Ja,Ut,null),e(Ut,Oy),e(Ut,on),e(on,Iy),e(on,Nd),e(Nd,Ny),e(on,Dy),e(on,zp),e(zp,Sy),e(on,Wy),e(Ut,Uy),w(ms,Ut,null),e(Ut,By),w(us,Ut,null),g(s,Eu,k),g(s,nn,k),e(nn,fs),e(fs,jp),w(Ga,jp,null),e(nn,Ry),e(nn,qp),e(qp,Hy),g(s,Mu,k),g(s,it,k),w(Xa,it,null),e(it,Qy),e(it,Pp),e(Pp,Ky),e(it,Vy),e(it,Ya),e(Ya,Jy),e(Ya,Dd),e(Dd,Gy),e(Ya,Xy),e(it,Yy),e(it,Za),e(Za,Zy),e(Za,ei),e(ei,ev),e(Za,tv),e(it,ov),w(gs,it,null),e(it,nv),e(it,Bt),w(ti,Bt,null),e(Bt,sv),e(Bt,sn),e(sn,rv),e(sn,Sd),e(Sd,av),e(sn,iv),e(sn,Cp),e(Cp,lv),e(sn,dv),e(Bt,cv),w(_s,Bt,null),e(Bt,pv),w(bs,Bt,null),g(s,zu,k),g(s,rn,k),e(rn,ks),e(ks,Lp),w(oi,Lp,null),e(rn,hv),e(rn,Op),e(Op,mv),g(s,ju,k),g(s,lt,k),w(ni,lt,null),e(lt,uv),e(lt,an),e(an,fv),e(an,Ip),e(Ip,gv),e(an,_v),e(an,Np),e(Np,bv),e(an,kv),e(lt,yv),e(lt,si),e(si,vv),e(si,Wd),e(Wd,Tv),e(si,wv),e(lt,$v),e(lt,ri),e(ri,Av),e(ri,ai),e(ai,Fv),e(ri,xv),e(lt,Ev),w(ys,lt,null),e(lt,Mv),e(lt,Rt),w(ii,Rt,null),e(Rt,zv),e(Rt,ln),e(ln,jv),e(ln,Ud),e(Ud,qv),e(ln,Pv),e(ln,Dp),e(Dp,Cv),e(ln,Lv),e(Rt,Ov),w(vs,Rt,null),e(Rt,Iv),w(Ts,Rt,null),g(s,qu,k),g(s,dn,k),e(dn,ws),e(ws,Sp),w(li,Sp,null),e(dn,Nv),e(dn,Wp),e(Wp,Dv),g(s,Pu,k),g(s,dt,k),w(di,dt,null),e(dt,Sv),e(dt,ci),e(ci,Wv),e(ci,Up),e(Up,Uv),e(ci,Bv),e(dt,Rv),e(dt,pi),e(pi,Hv),e(pi,Bd),e(Bd,Qv),e(pi,Kv),e(dt,Vv),e(dt,hi),e(hi,Jv),e(hi,mi),e(mi,Gv),e(hi,Xv),e(dt,Yv),w($s,dt,null),e(dt,Zv),e(dt,$t),w(ui,$t,null),e($t,eT),e($t,cn),e(cn,tT),e(cn,Rd),e(Rd,oT),e(cn,nT),e(cn,Bp),e(Bp,sT),e(cn,rT),e($t,aT),w(As,$t,null),e($t,iT),w(Fs,$t,null),e($t,lT),w(xs,$t,null),g(s,Cu,k),g(s,pn,k),e(pn,Es),e(Es,Rp),w(fi,Rp,null),e(pn,dT),e(pn,Hp),e(Hp,cT),g(s,Lu,k),g(s,ct,k),w(gi,ct,null),e(ct,pT),e(ct,Qp),e(Qp,hT),e(ct,mT),e(ct,_i),e(_i,uT),e(_i,Hd),e(Hd,fT),e(_i,gT),e(ct,_T),e(ct,bi),e(bi,bT),e(bi,ki),e(ki,kT),e(bi,yT),e(ct,vT),w(Ms,ct,null),e(ct,TT),e(ct,At),w(yi,At,null),e(At,wT),e(At,hn),e(hn,$T),e(hn,Qd),e(Qd,AT),e(hn,FT),e(hn,Kp),e(Kp,xT),e(hn,ET),e(At,MT),w(zs,At,null),e(At,zT),w(js,At,null),e(At,jT),w(qs,At,null),g(s,Ou,k),g(s,mn,k),e(mn,Ps),e(Ps,Vp),w(vi,Vp,null),e(mn,qT),e(mn,Jp),e(Jp,PT),g(s,Iu,k),g(s,pt,k),w(Ti,pt,null),e(pt,CT),e(pt,Gp),e(Gp,LT),e(pt,OT),e(pt,wi),e(wi,IT),e(wi,Kd),e(Kd,NT),e(wi,DT),e(pt,ST),e(pt,$i),e($i,WT),e($i,Ai),e(Ai,UT),e($i,BT),e(pt,RT),w(Cs,pt,null),e(pt,HT),e(pt,Ht),w(Fi,Ht,null),e(Ht,QT),e(Ht,un),e(un,KT),e(un,Vd),e(Vd,VT),e(un,JT),e(un,Xp),e(Xp,GT),e(un,XT),e(Ht,YT),w(Ls,Ht,null),e(Ht,ZT),w(Os,Ht,null),g(s,Nu,k),g(s,fn,k),e(fn,Is),e(Is,Yp),w(xi,Yp,null),e(fn,ew),e(fn,Zp),e(Zp,tw),g(s,Du,k),g(s,ht,k),w(Ei,ht,null),e(ht,ow),e(ht,eh),e(eh,nw),e(ht,sw),e(ht,Mi),e(Mi,rw),e(Mi,Jd),e(Jd,aw),e(Mi,iw),e(ht,lw),e(ht,zi),e(zi,dw),e(zi,ji),e(ji,cw),e(zi,pw),e(ht,hw),w(Ns,ht,null),e(ht,mw),e(ht,Ft),w(qi,Ft,null),e(Ft,uw),e(Ft,gn),e(gn,fw),e(gn,Gd),e(Gd,gw),e(gn,_w),e(gn,th),e(th,bw),e(gn,kw),e(Ft,yw),w(Ds,Ft,null),e(Ft,vw),w(Ss,Ft,null),e(Ft,Tw),w(Ws,Ft,null),g(s,Su,k),g(s,_n,k),e(_n,Us),e(Us,oh),w(Pi,oh,null),e(_n,ww),e(_n,nh),e(nh,$w),g(s,Wu,k),g(s,mt,k),w(Ci,mt,null),e(mt,Aw),e(mt,bn),e(bn,Fw),e(bn,sh),e(sh,xw),e(bn,Ew),e(bn,rh),e(rh,Mw),e(bn,zw),e(mt,jw),e(mt,Li),e(Li,qw),e(Li,Xd),e(Xd,Pw),e(Li,Cw),e(mt,Lw),e(mt,Oi),e(Oi,Ow),e(Oi,Ii),e(Ii,Iw),e(Oi,Nw),e(mt,Dw),w(Bs,mt,null),e(mt,Sw),e(mt,xt),w(Ni,xt,null),e(xt,Ww),e(xt,kn),e(kn,Uw),e(kn,Yd),e(Yd,Bw),e(kn,Rw),e(kn,ah),e(ah,Hw),e(kn,Qw),e(xt,Kw),w(Rs,xt,null),e(xt,Vw),w(Hs,xt,null),e(xt,Jw),w(Qs,xt,null),g(s,Uu,k),g(s,yn,k),e(yn,Ks),e(Ks,ih),w(Di,ih,null),e(yn,Gw),e(yn,lh),e(lh,Xw),g(s,Bu,k),g(s,et,k),w(Si,et,null),e(et,Yw),e(et,dh),e(dh,Zw),e(et,e$),e(et,Wi),e(Wi,t$),e(Wi,Zd),e(Zd,o$),e(Wi,n$),e(et,s$),e(et,Ui),e(Ui,r$),e(Ui,Bi),e(Bi,a$),e(Ui,i$),e(et,l$),e(et,ch),e(ch,d$),e(et,c$),e(et,io),e(io,ph),e(ph,Ri),e(Ri,p$),e(io,h$),e(io,hh),e(hh,Hi),e(Hi,m$),e(io,u$),e(io,mh),e(mh,Qi),e(Qi,f$),e(io,g$),e(io,uh),e(uh,Ki),e(Ki,_$),e(et,b$),e(et,Qt),w(Vi,Qt,null),e(Qt,k$),e(Qt,vn),e(vn,y$),e(vn,fh),e(fh,v$),e(vn,T$),e(vn,gh),e(gh,w$),e(vn,$$),e(Qt,A$),w(Vs,Qt,null),e(Qt,F$),w(Js,Qt,null),g(s,Ru,k),g(s,Tn,k),e(Tn,Gs),e(Gs,_h),w(Ji,_h,null),e(Tn,x$),e(Tn,bh),e(bh,E$),g(s,Hu,k),g(s,tt,k),w(Gi,tt,null),e(tt,M$),e(tt,wn),e(wn,z$),e(wn,kh),e(kh,j$),e(wn,q$),e(wn,yh),e(yh,P$),e(wn,C$),e(tt,L$),e(tt,Xi),e(Xi,O$),e(Xi,ec),e(ec,I$),e(Xi,N$),e(tt,D$),e(tt,Yi),e(Yi,S$),e(Yi,Zi),e(Zi,W$),e(Yi,U$),e(tt,B$),e(tt,vh),e(vh,R$),e(tt,H$),e(tt,lo),e(lo,Th),e(Th,el),e(el,Q$),e(lo,K$),e(lo,wh),e(wh,tl),e(tl,V$),e(lo,J$),e(lo,$h),e($h,ol),e(ol,G$),e(lo,X$),e(lo,Ah),e(Ah,nl),e(nl,Y$),e(tt,Z$),e(tt,Kt),w(sl,Kt,null),e(Kt,e1),e(Kt,$n),e($n,t1),e($n,Fh),e(Fh,o1),e($n,n1),e($n,xh),e(xh,s1),e($n,r1),e(Kt,a1),w(Xs,Kt,null),e(Kt,i1),w(Ys,Kt,null),g(s,Qu,k),g(s,An,k),e(An,Zs),e(Zs,Eh),w(rl,Eh,null),e(An,l1),e(An,Mh),e(Mh,d1),g(s,Ku,k),g(s,ot,k),w(al,ot,null),e(ot,c1),e(ot,il),e(il,p1),e(il,zh),e(zh,h1),e(il,m1),e(ot,u1),e(ot,ll),e(ll,f1),e(ll,tc),e(tc,g1),e(ll,_1),e(ot,b1),e(ot,dl),e(dl,k1),e(dl,cl),e(cl,y1),e(dl,v1),e(ot,T1),e(ot,jh),e(jh,w1),e(ot,$1),e(ot,co),e(co,qh),e(qh,pl),e(pl,A1),e(co,F1),e(co,Ph),e(Ph,hl),e(hl,x1),e(co,E1),e(co,Ch),e(Ch,ml),e(ml,M1),e(co,z1),e(co,Lh),e(Lh,ul),e(ul,j1),e(ot,q1),e(ot,Vt),w(fl,Vt,null),e(Vt,P1),e(Vt,Fn),e(Fn,C1),e(Fn,Oh),e(Oh,L1),e(Fn,O1),e(Fn,Ih),e(Ih,I1),e(Fn,N1),e(Vt,D1),w(er,Vt,null),e(Vt,S1),w(tr,Vt,null),g(s,Vu,k),g(s,xn,k),e(xn,or),e(or,Nh),w(gl,Nh,null),e(xn,W1),e(xn,Dh),e(Dh,U1),g(s,Ju,k),g(s,nt,k),w(_l,nt,null),e(nt,B1),e(nt,Sh),e(Sh,R1),e(nt,H1),e(nt,bl),e(bl,Q1),e(bl,oc),e(oc,K1),e(bl,V1),e(nt,J1),e(nt,kl),e(kl,G1),e(kl,yl),e(yl,X1),e(kl,Y1),e(nt,Z1),e(nt,Wh),e(Wh,e2),e(nt,t2),e(nt,po),e(po,Uh),e(Uh,vl),e(vl,o2),e(po,n2),e(po,Bh),e(Bh,Tl),e(Tl,s2),e(po,r2),e(po,Rh),e(Rh,wl),e(wl,a2),e(po,i2),e(po,Hh),e(Hh,$l),e($l,l2),e(nt,d2),e(nt,Jt),w(Al,Jt,null),e(Jt,c2),e(Jt,En),e(En,p2),e(En,Qh),e(Qh,h2),e(En,m2),e(En,Kh),e(Kh,u2),e(En,f2),e(Jt,g2),w(nr,Jt,null),e(Jt,_2),w(sr,Jt,null),g(s,Gu,k),g(s,Mn,k),e(Mn,rr),e(rr,Vh),w(Fl,Vh,null),e(Mn,b2),e(Mn,Jh),e(Jh,k2),g(s,Xu,k),g(s,st,k),w(xl,st,null),e(st,y2),e(st,Gh),e(Gh,v2),e(st,T2),e(st,El),e(El,w2),e(El,nc),e(nc,$2),e(El,A2),e(st,F2),e(st,Ml),e(Ml,x2),e(Ml,zl),e(zl,E2),e(Ml,M2),e(st,z2),e(st,Xh),e(Xh,j2),e(st,q2),e(st,ho),e(ho,Yh),e(Yh,jl),e(jl,P2),e(ho,C2),e(ho,Zh),e(Zh,ql),e(ql,L2),e(ho,O2),e(ho,em),e(em,Pl),e(Pl,I2),e(ho,N2),e(ho,tm),e(tm,Cl),e(Cl,D2),e(st,S2),e(st,Gt),w(Ll,Gt,null),e(Gt,W2),e(Gt,zn),e(zn,U2),e(zn,om),e(om,B2),e(zn,R2),e(zn,nm),e(nm,H2),e(zn,Q2),e(Gt,K2),w(ar,Gt,null),e(Gt,V2),w(ir,Gt,null),g(s,Yu,k),g(s,jn,k),e(jn,lr),e(lr,sm),w(Ol,sm,null),e(jn,J2),e(jn,rm),e(rm,G2),g(s,Zu,k),g(s,rt,k),w(Il,rt,null),e(rt,X2),e(rt,am),e(am,Y2),e(rt,Z2),e(rt,Nl),e(Nl,eA),e(Nl,sc),e(sc,tA),e(Nl,oA),e(rt,nA),e(rt,Dl),e(Dl,sA),e(Dl,Sl),e(Sl,rA),e(Dl,aA),e(rt,iA),e(rt,im),e(im,lA),e(rt,dA),e(rt,mo),e(mo,lm),e(lm,Wl),e(Wl,cA),e(mo,pA),e(mo,dm),e(dm,Ul),e(Ul,hA),e(mo,mA),e(mo,cm),e(cm,Bl),e(Bl,uA),e(mo,fA),e(mo,pm),e(pm,Rl),e(Rl,gA),e(rt,_A),e(rt,Xt),w(Hl,Xt,null),e(Xt,bA),e(Xt,qn),e(qn,kA),e(qn,hm),e(hm,yA),e(qn,vA),e(qn,mm),e(mm,TA),e(qn,wA),e(Xt,$A),w(dr,Xt,null),e(Xt,AA),w(cr,Xt,null),g(s,ef,k),g(s,Pn,k),e(Pn,pr),e(pr,um),w(Ql,um,null),e(Pn,FA),e(Pn,fm),e(fm,xA),g(s,tf,k),g(s,at,k),w(Kl,at,null),e(at,EA),e(at,Cn),e(Cn,MA),e(Cn,gm),e(gm,zA),e(Cn,jA),e(Cn,_m),e(_m,qA),e(Cn,PA),e(at,CA),e(at,Vl),e(Vl,LA),e(Vl,rc),e(rc,OA),e(Vl,IA),e(at,NA),e(at,Jl),e(Jl,DA),e(Jl,Gl),e(Gl,SA),e(Jl,WA),e(at,UA),e(at,bm),e(bm,BA),e(at,RA),e(at,uo),e(uo,km),e(km,Xl),e(Xl,HA),e(uo,QA),e(uo,ym),e(ym,Yl),e(Yl,KA),e(uo,VA),e(uo,vm),e(vm,Zl),e(Zl,JA),e(uo,GA),e(uo,Tm),e(Tm,ed),e(ed,XA),e(at,YA),e(at,Yt),w(td,Yt,null),e(Yt,ZA),e(Yt,Ln),e(Ln,eF),e(Ln,wm),e(wm,tF),e(Ln,oF),e(Ln,$m),e($m,nF),e(Ln,sF),e(Yt,rF),w(hr,Yt,null),e(Yt,aF),w(mr,Yt,null),of=!0},p(s,[k]){const od={};k&2&&(od.$$scope={dirty:k,ctx:s}),Dn.$set(od);const Am={};k&2&&(Am.$$scope={dirty:k,ctx:s}),Un.$set(Am);const Fm={};k&2&&(Fm.$$scope={dirty:k,ctx:s}),Rn.$set(Fm);const xm={};k&2&&(xm.$$scope={dirty:k,ctx:s}),Kn.$set(xm);const nd={};k&2&&(nd.$$scope={dirty:k,ctx:s}),Vn.$set(nd);const Em={};k&2&&(Em.$$scope={dirty:k,ctx:s}),Gn.$set(Em);const Mm={};k&2&&(Mm.$$scope={dirty:k,ctx:s}),Xn.$set(Mm);const zm={};k&2&&(zm.$$scope={dirty:k,ctx:s}),Zn.$set(zm);const sd={};k&2&&(sd.$$scope={dirty:k,ctx:s}),es.$set(sd);const jm={};k&2&&(jm.$$scope={dirty:k,ctx:s}),ts.$set(jm);const rd={};k&2&&(rd.$$scope={dirty:k,ctx:s}),ns.$set(rd);const qm={};k&2&&(qm.$$scope={dirty:k,ctx:s}),ss.$set(qm);const Pm={};k&2&&(Pm.$$scope={dirty:k,ctx:s}),rs.$set(Pm);const Cm={};k&2&&(Cm.$$scope={dirty:k,ctx:s}),is.$set(Cm);const Lm={};k&2&&(Lm.$$scope={dirty:k,ctx:s}),ls.$set(Lm);const Om={};k&2&&(Om.$$scope={dirty:k,ctx:s}),cs.$set(Om);const Im={};k&2&&(Im.$$scope={dirty:k,ctx:s}),ps.$set(Im);const ad={};k&2&&(ad.$$scope={dirty:k,ctx:s}),ms.$set(ad);const Nm={};k&2&&(Nm.$$scope={dirty:k,ctx:s}),us.$set(Nm);const Dm={};k&2&&(Dm.$$scope={dirty:k,ctx:s}),gs.$set(Dm);const fo={};k&2&&(fo.$$scope={dirty:k,ctx:s}),_s.$set(fo);const Sm={};k&2&&(Sm.$$scope={dirty:k,ctx:s}),bs.$set(Sm);const Wm={};k&2&&(Wm.$$scope={dirty:k,ctx:s}),ys.$set(Wm);const Um={};k&2&&(Um.$$scope={dirty:k,ctx:s}),vs.$set(Um);const id={};k&2&&(id.$$scope={dirty:k,ctx:s}),Ts.$set(id);const Bm={};k&2&&(Bm.$$scope={dirty:k,ctx:s}),$s.$set(Bm);const Rm={};k&2&&(Rm.$$scope={dirty:k,ctx:s}),As.$set(Rm);const Hm={};k&2&&(Hm.$$scope={dirty:k,ctx:s}),Fs.$set(Hm);const go={};k&2&&(go.$$scope={dirty:k,ctx:s}),xs.$set(go);const _o={};k&2&&(_o.$$scope={dirty:k,ctx:s}),Ms.$set(_o);const Qm={};k&2&&(Qm.$$scope={dirty:k,ctx:s}),zs.$set(Qm);const Km={};k&2&&(Km.$$scope={dirty:k,ctx:s}),js.$set(Km);const Vm={};k&2&&(Vm.$$scope={dirty:k,ctx:s}),qs.$set(Vm);const On={};k&2&&(On.$$scope={dirty:k,ctx:s}),Cs.$set(On);const Jm={};k&2&&(Jm.$$scope={dirty:k,ctx:s}),Ls.$set(Jm);const Gm={};k&2&&(Gm.$$scope={dirty:k,ctx:s}),Os.$set(Gm);const ld={};k&2&&(ld.$$scope={dirty:k,ctx:s}),Ns.$set(ld);const Xm={};k&2&&(Xm.$$scope={dirty:k,ctx:s}),Ds.$set(Xm);const Ym={};k&2&&(Ym.$$scope={dirty:k,ctx:s}),Ss.$set(Ym);const Zm={};k&2&&(Zm.$$scope={dirty:k,ctx:s}),Ws.$set(Zm);const ut={};k&2&&(ut.$$scope={dirty:k,ctx:s}),Bs.$set(ut);const dd={};k&2&&(dd.$$scope={dirty:k,ctx:s}),Rs.$set(dd);const eu={};k&2&&(eu.$$scope={dirty:k,ctx:s}),Hs.$set(eu);const cd={};k&2&&(cd.$$scope={dirty:k,ctx:s}),Qs.$set(cd);const tu={};k&2&&(tu.$$scope={dirty:k,ctx:s}),Vs.$set(tu);const In={};k&2&&(In.$$scope={dirty:k,ctx:s}),Js.$set(In);const ou={};k&2&&(ou.$$scope={dirty:k,ctx:s}),Xs.$set(ou);const pd={};k&2&&(pd.$$scope={dirty:k,ctx:s}),Ys.$set(pd);const ac={};k&2&&(ac.$$scope={dirty:k,ctx:s}),er.$set(ac);const nu={};k&2&&(nu.$$scope={dirty:k,ctx:s}),tr.$set(nu);const ic={};k&2&&(ic.$$scope={dirty:k,ctx:s}),nr.$set(ic);const su={};k&2&&(su.$$scope={dirty:k,ctx:s}),sr.$set(su);const hd={};k&2&&(hd.$$scope={dirty:k,ctx:s}),ar.$set(hd);const md={};k&2&&(md.$$scope={dirty:k,ctx:s}),ir.$set(md);const ru={};k&2&&(ru.$$scope={dirty:k,ctx:s}),dr.$set(ru);const bo={};k&2&&(bo.$$scope={dirty:k,ctx:s}),cr.$set(bo);const au={};k&2&&(au.$$scope={dirty:k,ctx:s}),hr.$set(au);const Nn={};k&2&&(Nn.$$scope={dirty:k,ctx:s}),mr.$set(Nn)},i(s){of||($(l.$$.fragment,s),$(x.$$.fragment,s),$(De.$$.fragment,s),$(Se.$$.fragment,s),$(Dn.$$.fragment,s),$(Dr.$$.fragment,s),$(Sr.$$.fragment,s),$(Rr.$$.fragment,s),$(Qr.$$.fragment,s),$(Vr.$$.fragment,s),$(Un.$$.fragment,s),$(Jr.$$.fragment,s),$(Gr.$$.fragment,s),$(Xr.$$.fragment,s),$(Zr.$$.fragment,s),$(ta.$$.fragment,s),$(Rn.$$.fragment,s),$(oa.$$.fragment,s),$(na.$$.fragment,s),$(ra.$$.fragment,s),$(ia.$$.fragment,s),$(la.$$.fragment,s),$(ha.$$.fragment,s),$(Kn.$$.fragment,s),$(Vn.$$.fragment,s),$(ma.$$.fragment,s),$(ua.$$.fragment,s),$(ba.$$.fragment,s),$(Gn.$$.fragment,s),$(Xn.$$.fragment,s),$(ka.$$.fragment,s),$(ya.$$.fragment,s),$(Aa.$$.fragment,s),$(Zn.$$.fragment,s),$(es.$$.fragment,s),$(ts.$$.fragment,s),$(Fa.$$.fragment,s),$(xa.$$.fragment,s),$(ja.$$.fragment,s),$(ns.$$.fragment,s),$(ss.$$.fragment,s),$(rs.$$.fragment,s),$(qa.$$.fragment,s),$(Pa.$$.fragment,s),$(Ia.$$.fragment,s),$(is.$$.fragment,s),$(ls.$$.fragment,s),$(Na.$$.fragment,s),$(Da.$$.fragment,s),$(Ba.$$.fragment,s),$(cs.$$.fragment,s),$(ps.$$.fragment,s),$(Ra.$$.fragment,s),$(Ha.$$.fragment,s),$(Ja.$$.fragment,s),$(ms.$$.fragment,s),$(us.$$.fragment,s),$(Ga.$$.fragment,s),$(Xa.$$.fragment,s),$(gs.$$.fragment,s),$(ti.$$.fragment,s),$(_s.$$.fragment,s),$(bs.$$.fragment,s),$(oi.$$.fragment,s),$(ni.$$.fragment,s),$(ys.$$.fragment,s),$(ii.$$.fragment,s),$(vs.$$.fragment,s),$(Ts.$$.fragment,s),$(li.$$.fragment,s),$(di.$$.fragment,s),$($s.$$.fragment,s),$(ui.$$.fragment,s),$(As.$$.fragment,s),$(Fs.$$.fragment,s),$(xs.$$.fragment,s),$(fi.$$.fragment,s),$(gi.$$.fragment,s),$(Ms.$$.fragment,s),$(yi.$$.fragment,s),$(zs.$$.fragment,s),$(js.$$.fragment,s),$(qs.$$.fragment,s),$(vi.$$.fragment,s),$(Ti.$$.fragment,s),$(Cs.$$.fragment,s),$(Fi.$$.fragment,s),$(Ls.$$.fragment,s),$(Os.$$.fragment,s),$(xi.$$.fragment,s),$(Ei.$$.fragment,s),$(Ns.$$.fragment,s),$(qi.$$.fragment,s),$(Ds.$$.fragment,s),$(Ss.$$.fragment,s),$(Ws.$$.fragment,s),$(Pi.$$.fragment,s),$(Ci.$$.fragment,s),$(Bs.$$.fragment,s),$(Ni.$$.fragment,s),$(Rs.$$.fragment,s),$(Hs.$$.fragment,s),$(Qs.$$.fragment,s),$(Di.$$.fragment,s),$(Si.$$.fragment,s),$(Vi.$$.fragment,s),$(Vs.$$.fragment,s),$(Js.$$.fragment,s),$(Ji.$$.fragment,s),$(Gi.$$.fragment,s),$(sl.$$.fragment,s),$(Xs.$$.fragment,s),$(Ys.$$.fragment,s),$(rl.$$.fragment,s),$(al.$$.fragment,s),$(fl.$$.fragment,s),$(er.$$.fragment,s),$(tr.$$.fragment,s),$(gl.$$.fragment,s),$(_l.$$.fragment,s),$(Al.$$.fragment,s),$(nr.$$.fragment,s),$(sr.$$.fragment,s),$(Fl.$$.fragment,s),$(xl.$$.fragment,s),$(Ll.$$.fragment,s),$(ar.$$.fragment,s),$(ir.$$.fragment,s),$(Ol.$$.fragment,s),$(Il.$$.fragment,s),$(Hl.$$.fragment,s),$(dr.$$.fragment,s),$(cr.$$.fragment,s),$(Ql.$$.fragment,s),$(Kl.$$.fragment,s),$(td.$$.fragment,s),$(hr.$$.fragment,s),$(mr.$$.fragment,s),of=!0)},o(s){A(l.$$.fragment,s),A(x.$$.fragment,s),A(De.$$.fragment,s),A(Se.$$.fragment,s),A(Dn.$$.fragment,s),A(Dr.$$.fragment,s),A(Sr.$$.fragment,s),A(Rr.$$.fragment,s),A(Qr.$$.fragment,s),A(Vr.$$.fragment,s),A(Un.$$.fragment,s),A(Jr.$$.fragment,s),A(Gr.$$.fragment,s),A(Xr.$$.fragment,s),A(Zr.$$.fragment,s),A(ta.$$.fragment,s),A(Rn.$$.fragment,s),A(oa.$$.fragment,s),A(na.$$.fragment,s),A(ra.$$.fragment,s),A(ia.$$.fragment,s),A(la.$$.fragment,s),A(ha.$$.fragment,s),A(Kn.$$.fragment,s),A(Vn.$$.fragment,s),A(ma.$$.fragment,s),A(ua.$$.fragment,s),A(ba.$$.fragment,s),A(Gn.$$.fragment,s),A(Xn.$$.fragment,s),A(ka.$$.fragment,s),A(ya.$$.fragment,s),A(Aa.$$.fragment,s),A(Zn.$$.fragment,s),A(es.$$.fragment,s),A(ts.$$.fragment,s),A(Fa.$$.fragment,s),A(xa.$$.fragment,s),A(ja.$$.fragment,s),A(ns.$$.fragment,s),A(ss.$$.fragment,s),A(rs.$$.fragment,s),A(qa.$$.fragment,s),A(Pa.$$.fragment,s),A(Ia.$$.fragment,s),A(is.$$.fragment,s),A(ls.$$.fragment,s),A(Na.$$.fragment,s),A(Da.$$.fragment,s),A(Ba.$$.fragment,s),A(cs.$$.fragment,s),A(ps.$$.fragment,s),A(Ra.$$.fragment,s),A(Ha.$$.fragment,s),A(Ja.$$.fragment,s),A(ms.$$.fragment,s),A(us.$$.fragment,s),A(Ga.$$.fragment,s),A(Xa.$$.fragment,s),A(gs.$$.fragment,s),A(ti.$$.fragment,s),A(_s.$$.fragment,s),A(bs.$$.fragment,s),A(oi.$$.fragment,s),A(ni.$$.fragment,s),A(ys.$$.fragment,s),A(ii.$$.fragment,s),A(vs.$$.fragment,s),A(Ts.$$.fragment,s),A(li.$$.fragment,s),A(di.$$.fragment,s),A($s.$$.fragment,s),A(ui.$$.fragment,s),A(As.$$.fragment,s),A(Fs.$$.fragment,s),A(xs.$$.fragment,s),A(fi.$$.fragment,s),A(gi.$$.fragment,s),A(Ms.$$.fragment,s),A(yi.$$.fragment,s),A(zs.$$.fragment,s),A(js.$$.fragment,s),A(qs.$$.fragment,s),A(vi.$$.fragment,s),A(Ti.$$.fragment,s),A(Cs.$$.fragment,s),A(Fi.$$.fragment,s),A(Ls.$$.fragment,s),A(Os.$$.fragment,s),A(xi.$$.fragment,s),A(Ei.$$.fragment,s),A(Ns.$$.fragment,s),A(qi.$$.fragment,s),A(Ds.$$.fragment,s),A(Ss.$$.fragment,s),A(Ws.$$.fragment,s),A(Pi.$$.fragment,s),A(Ci.$$.fragment,s),A(Bs.$$.fragment,s),A(Ni.$$.fragment,s),A(Rs.$$.fragment,s),A(Hs.$$.fragment,s),A(Qs.$$.fragment,s),A(Di.$$.fragment,s),A(Si.$$.fragment,s),A(Vi.$$.fragment,s),A(Vs.$$.fragment,s),A(Js.$$.fragment,s),A(Ji.$$.fragment,s),A(Gi.$$.fragment,s),A(sl.$$.fragment,s),A(Xs.$$.fragment,s),A(Ys.$$.fragment,s),A(rl.$$.fragment,s),A(al.$$.fragment,s),A(fl.$$.fragment,s),A(er.$$.fragment,s),A(tr.$$.fragment,s),A(gl.$$.fragment,s),A(_l.$$.fragment,s),A(Al.$$.fragment,s),A(nr.$$.fragment,s),A(sr.$$.fragment,s),A(Fl.$$.fragment,s),A(xl.$$.fragment,s),A(Ll.$$.fragment,s),A(ar.$$.fragment,s),A(ir.$$.fragment,s),A(Ol.$$.fragment,s),A(Il.$$.fragment,s),A(Hl.$$.fragment,s),A(dr.$$.fragment,s),A(cr.$$.fragment,s),A(Ql.$$.fragment,s),A(Kl.$$.fragment,s),A(td.$$.fragment,s),A(hr.$$.fragment,s),A(mr.$$.fragment,s),of=!1},d(s){t(d),s&&t(b),s&&t(m),F(l),s&&t(me),s&&t(W),F(x),s&&t(ue),s&&t(U),s&&t(fe),s&&t(B),s&&t(oe),s&&t(q),s&&t(ge),s&&t(H),s&&t(J),s&&t(le),s&&t(C),s&&t(re),s&&t(_e),s&&t(O),s&&t(z),s&&t(Le),F(De),s&&t(Ke),s&&t(de),F(Se),F(Dn),s&&t(iu),s&&t(Lo),F(Dr),s&&t(lu),s&&t(Ze),F(Sr),F(Rr),F(Qr),F(Vr),F(Un),F(Jr),s&&t(du),s&&t(Io),F(Gr),s&&t(cu),s&&t(Lt),F(Xr),F(Zr),F(ta),F(Rn),s&&t(pu),s&&t(No),F(oa),s&&t(hu),s&&t(Do),F(na),s&&t(mu),s&&t(So),F(ra),s&&t(uu),s&&t(Wo),F(ia),s&&t(fu),s&&t(ft),F(la),F(ha),F(Kn),F(Vn),s&&t(gu),s&&t(Bo),F(ma),s&&t(_u),s&&t(gt),F(ua),F(ba),F(Gn),F(Xn),s&&t(bu),s&&t(Qo),F(ka),s&&t(ku),s&&t(_t),F(ya),F(Aa),F(Zn),F(es),F(ts),s&&t(yu),s&&t(Vo),F(Fa),s&&t(vu),s&&t(bt),F(xa),F(ja),F(ns),F(ss),F(rs),s&&t(Tu),s&&t(Go),F(qa),s&&t(wu),s&&t(kt),F(Pa),F(Ia),F(is),F(ls),s&&t($u),s&&t(Yo),F(Na),s&&t(Au),s&&t(yt),F(Da),F(Ba),F(cs),F(ps),s&&t(Fu),s&&t(en),F(Ra),s&&t(xu),s&&t(vt),F(Ha),F(Ja),F(ms),F(us),s&&t(Eu),s&&t(nn),F(Ga),s&&t(Mu),s&&t(it),F(Xa),F(gs),F(ti),F(_s),F(bs),s&&t(zu),s&&t(rn),F(oi),s&&t(ju),s&&t(lt),F(ni),F(ys),F(ii),F(vs),F(Ts),s&&t(qu),s&&t(dn),F(li),s&&t(Pu),s&&t(dt),F(di),F($s),F(ui),F(As),F(Fs),F(xs),s&&t(Cu),s&&t(pn),F(fi),s&&t(Lu),s&&t(ct),F(gi),F(Ms),F(yi),F(zs),F(js),F(qs),s&&t(Ou),s&&t(mn),F(vi),s&&t(Iu),s&&t(pt),F(Ti),F(Cs),F(Fi),F(Ls),F(Os),s&&t(Nu),s&&t(fn),F(xi),s&&t(Du),s&&t(ht),F(Ei),F(Ns),F(qi),F(Ds),F(Ss),F(Ws),s&&t(Su),s&&t(_n),F(Pi),s&&t(Wu),s&&t(mt),F(Ci),F(Bs),F(Ni),F(Rs),F(Hs),F(Qs),s&&t(Uu),s&&t(yn),F(Di),s&&t(Bu),s&&t(et),F(Si),F(Vi),F(Vs),F(Js),s&&t(Ru),s&&t(Tn),F(Ji),s&&t(Hu),s&&t(tt),F(Gi),F(sl),F(Xs),F(Ys),s&&t(Qu),s&&t(An),F(rl),s&&t(Ku),s&&t(ot),F(al),F(fl),F(er),F(tr),s&&t(Vu),s&&t(xn),F(gl),s&&t(Ju),s&&t(nt),F(_l),F(Al),F(nr),F(sr),s&&t(Gu),s&&t(Mn),F(Fl),s&&t(Xu),s&&t(st),F(xl),F(Ll),F(ar),F(ir),s&&t(Yu),s&&t(jn),F(Ol),s&&t(Zu),s&&t(rt),F(Il),F(Hl),F(dr),F(cr),s&&t(ef),s&&t(Pn),F(Ql),s&&t(tf),s&&t(at),F(Kl),F(td),F(hr),F(mr)}}}const r4={local:"albert",sections:[{local:"overview",title:"Overview"},{local:"transformers.AlbertConfig",title:"AlbertConfig"},{local:"transformers.AlbertTokenizer",title:"AlbertTokenizer"},{local:"transformers.AlbertTokenizerFast",title:"AlbertTokenizerFast"},{local:"transformers.models.albert.modeling_albert.AlbertForPreTrainingOutput",title:"Albert specific outputs"},{local:"transformers.AlbertModel",title:"AlbertModel"},{local:"transformers.AlbertForPreTraining",title:"AlbertForPreTraining"},{local:"transformers.AlbertForMaskedLM",title:"AlbertForMaskedLM"},{local:"transformers.AlbertForSequenceClassification",title:"AlbertForSequenceClassification"},{local:"transformers.AlbertForMultipleChoice",title:"AlbertForMultipleChoice"},{local:"transformers.AlbertForTokenClassification",title:"AlbertForTokenClassification"},{local:"transformers.AlbertForQuestionAnswering",title:"AlbertForQuestionAnswering"},{local:"transformers.TFAlbertModel",title:"TFAlbertModel"},{local:"transformers.TFAlbertForPreTraining",title:"TFAlbertForPreTraining"},{local:"transformers.TFAlbertForMaskedLM",title:"TFAlbertForMaskedLM"},{local:"transformers.TFAlbertForSequenceClassification",title:"TFAlbertForSequenceClassification"},{local:"transformers.TFAlbertForMultipleChoice",title:"TFAlbertForMultipleChoice"},{local:"transformers.TFAlbertForTokenClassification",title:"TFAlbertForTokenClassification"},{local:"transformers.TFAlbertForQuestionAnswering",title:"TFAlbertForQuestionAnswering"},{local:"transformers.FlaxAlbertModel",title:"FlaxAlbertModel"},{local:"transformers.FlaxAlbertForPreTraining",title:"FlaxAlbertForPreTraining"},{local:"transformers.FlaxAlbertForMaskedLM",title:"FlaxAlbertForMaskedLM"},{local:"transformers.FlaxAlbertForSequenceClassification",title:"FlaxAlbertForSequenceClassification"},{local:"transformers.FlaxAlbertForMultipleChoice",title:"FlaxAlbertForMultipleChoice"},{local:"transformers.FlaxAlbertForTokenClassification",title:"FlaxAlbertForTokenClassification"},{local:"transformers.FlaxAlbertForQuestionAnswering",title:"FlaxAlbertForQuestionAnswering"}],title:"ALBERT"};function a4(E){return ZM(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class m4 extends JM{constructor(d){super();GM(this,d,a4,s4,XM,{})}}export{m4 as default,r4 as metadata};
