|
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[132],{5242:function(e,t,n){n.d(t,{$Bv:function(){return AutoModelForSemanticSegmentation},$Sz:function(){return AutoModel},DcG:function(){return AutoModelForDocumentQuestionAnswering},ENH:function(){return AutoModelForCTC},En$:function(){return AutoModelForImageClassification},Hqk:function(){return AutoModelForCausalLM},K2m:function(){return AutoModelForAudioClassification},Kf0:function(){return AutoModelForSeq2SeqLM},LdW:function(){return AutoModelForZeroShotObjectDetection},OjJ:function(){return AutoModelForTokenClassification},S2d:function(){return AutoModelForImageToImage},U$$:function(){return AutoModelForImageSegmentation},Zn:function(){return AutoModelForObjectDetection},hY6:function(){return AutoModelForDepthEstimation},hZO:function(){return AutoModelForSpeechSeq2Seq},lbf:function(){return AutoModelForTextToSpectrogram},o$X:function(){return AutoModelForSequenceClassification},t78:function(){return AutoModelForMaskedLM},tLj:function(){return AutoModelForVision2Seq},v3$:function(){return CLIPTextModelWithProjection},wiU:function(){return AutoModelForQuestionAnswering},z6E:function(){return AutoModelForTextToWaveform}});var s=n(9252),r=n(1802),a=n(4320),i=n(2013),o=n(6001),d=n(6577),l=n(7582);let{InferenceSession:c,Tensor:u,env:_}=d.ONNX,M={EncoderOnly:0,EncoderDecoder:1,Seq2Seq:2,Vision2Seq:3,DecoderOnly:4,MaskGeneration:5},h=new Map,m=new Map,p=new Map;async function constructSession(e,t,n){let s=`onnx/${t}${n.quantized?"_quantized":""}.onnx`,r=await (0,a.st)(e,s,!0,n);try{return await c.create(r,{executionProviders:d.p})}catch(e){if(1===d.p.length&&"wasm"===d.p[0])throw e;return console.warn(e),console.warn("Something went wrong during model construction (most likely a missing operation). Using `wasm` as a fallback. "),await c.create(r,{executionProviders:["wasm"]})}}async function sessionRun(e,t){let n=function(e,t){let n=Object.create(null),s=[];for(let r of e.inputNames){let e=t[r];if(!(e instanceof o.es)){s.push(r);continue}n[r]=_.wasm.proxy?e.clone():e}if(s.length>0)throw Error(`An error occurred during model execution: "Missing the following inputs: ${s.join(", ")}.`);let r=Object.keys(t).length,a=e.inputNames.length;if(r>a){let n=Object.keys(t).filter(t=>!e.inputNames.includes(t));console.warn(`WARNING: Too many inputs were provided (${r} > ${a}). The following inputs will be ignored: "${n.join(", ")}".`)}return n}(e,t);try{let t=await e.run(n);return t=function replaceTensors(e){for(let t in e)e[t]instanceof u?e[t]=new o.es(e[t]):"object"==typeof e[t]&&replaceTensors(e[t]);return e}(t)}catch(e){throw console.error(`An error occurred during model execution: "${e}".`),console.error("Inputs given to model:",n),e}}function prepareAttentionMask(e,t){let n=e.config.pad_token_id??null,s=e.config.eos_token_id??null;(0,r.Wy)(s)&&(s=[s]);let a=-1!==t.indexOf(n),i=null===s||!s.includes(n);if(!a||!i)return(0,o.r6)(t);{let e=BigInt64Array.from(t.data.map(e=>e!=n));return new o.es("int64",e,t.dims)}}function preparePositionIds(e,t,n){if(!e.inputNames.includes("position_ids"))return;let s=new BigInt64Array(t.attention_mask.data.length);for(let e=0;e<t.attention_mask.dims[0];++e){let n=e*t.attention_mask.dims[1],r=BigInt(0);for(let e=0;e<t.attention_mask.dims[1];++e){let a=n+e;0n===t.attention_mask.data[a]?s[a]=BigInt(1):(s[a]=r,r+=t.attention_mask.data[a])}}t.position_ids=new o.es("int64",s,t.attention_mask.dims),n&&(t.position_ids=t.position_ids.slice(null,-1).unsqueeze_(-1))}function boolTensor(e){return new o.es("bool",[e],[1])}async function seq2seqForward(e,t){let{encoder_outputs:n,past_key_values:s}=t;n||(n=(await encoderForward(e,t)).last_hidden_state);let r={input_ids:t.decoder_input_ids,encoder_hidden_states:n},a=!!s;e.decoder_merged_session.inputNames.includes("use_cache_branch")&&(r.use_cache_branch=boolTensor(a)),e.decoder_merged_session.inputNames.includes("encoder_attention_mask")&&(r.encoder_attention_mask=t.attention_mask),preparePositionIds(e.decoder_merged_session,r,a),e.addPastKeyValues(r,s);let i=await sessionRun(e.decoder_merged_session,r),o=i.logits;s=e.getPastKeyValues(i,s);let d=e.getAttentions(i);return new Seq2SeqLMOutput({logits:o,past_key_values:s,encoder_outputs:n,...d})}function seq2seqStartBeams(e,t,n,s){let r=[],a=0,i=e.requires_attention_mask??!0,d=n.decoder_input_ids??n.decoder_start_token_id??n.bos_token_id??n.eos_token_id;for(let n of(d instanceof o.es?d=d.tolist().flat():Array.isArray(d)||(d=[d]),t)){n.dims=[1,...n.dims];let t={inputs:n,encoder_outputs:null,prev_model_outputs:null,output_token_ids:d,done:!1,score:0,id:a++};i&&(t.attention_mask=prepareAttentionMask(e,n)),r.push(t)}return r}async function seq2seqRunBeam(e,t){let n=e.main_input_name,s=t.output_token_ids;t.prev_model_outputs&&(s=s.slice(-1));let r={[n]:t.inputs,decoder_input_ids:function(e){if(e instanceof o.es)return e;if(0===e.length)throw Error("items must be non-empty");if(!Array.isArray(e[0]))return new o.es("int64",BigInt64Array.from(e.map(e=>BigInt(e))),[1,e.length]);if(e.some(t=>t.length!==e[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new o.es("int64",BigInt64Array.from(e.flat().map(e=>BigInt(e))),[e.length,e[0].length])}(s),encoder_outputs:t.encoder_outputs,past_key_values:t.prev_model_outputs?.past_key_values};t.attention_mask&&(r.attention_mask=t.attention_mask);let a=await e.forward(r);return t.prev_model_outputs=a,t.encoder_outputs=a.encoder_outputs,a}function seq2seqUpdatebeam(e,t){e.output_token_ids=[...e.output_token_ids,t]}async function encoderForward(e,t){let n=Object.create(null);for(let s of e.session.inputNames)n[s]=t[s];return e.session.inputNames.includes("token_type_ids")&&!n.token_type_ids&&(n.token_type_ids=new o.es("int64",new BigInt64Array(n.input_ids.data.length),n.input_ids.dims)),await sessionRun(e.session,n)}async function decoderForward(e,t){let{input_ids:n,past_key_values:s,attention_mask:r}=t,a={input_ids:n,attention_mask:r??prepareAttentionMask(e,n)},i=!!s;e.session.inputNames.includes("use_cache_branch")&&(a.use_cache_branch=boolTensor(i)),preparePositionIds(e.session,a,i),e.addPastKeyValues(a,s);let o=await sessionRun(e.session,a);return{logits:o.logits,past_key_values:s=e.getPastKeyValues(o,s)}}function decoderStartBeams(e,t,n,s,r){let a=[],i=0;for(let n of t){let t,o=n.tolist().map(Number);n.dims=[1,...n.dims],r?(t=r[i]).dims=[1,...t.dims]:t=prepareAttentionMask(e,n);let d={input:n,model_input_ids:n,attention_mask:t,prev_model_outputs:null,output_token_ids:o,num_output_tokens:s,done:!1,score:0,id:i++};a.push(d)}return a}async function decoderRunBeam(e,t){let n=new BigInt64Array(t.output_token_ids.length).fill(1n),s={input_ids:t.model_input_ids,attention_mask:new o.es("int64",n,[1,n.length]),past_key_values:t.prev_model_outputs?.past_key_values},r=await e.forward(s);return t.prev_model_outputs=r,r}function decoderUpdatebeam(e,t){e.output_token_ids=[...e.output_token_ids,t],e.model_input_ids=new o.es("int64",[BigInt(t)],[1,1])}let PreTrainedModel=class PreTrainedModel extends r.Ag{main_input_name="input_ids";constructor(e,t){super(),this.config=e,this.session=t;let n=p.get(this.constructor),s=h.get(n);this.can_generate=!1,this._runBeam=null,this._getStartBeams=null,this._updateBeam=null,this._forward=null,s===M.DecoderOnly?(this.can_generate=!0,this._runBeam=decoderRunBeam,this._getStartBeams=decoderStartBeams,this._updateBeam=decoderUpdatebeam,this._forward=decoderForward):s===M.Seq2Seq||s===M.Vision2Seq?(this.can_generate=!0,this._runBeam=seq2seqRunBeam,this._getStartBeams=seq2seqStartBeams,this._updateBeam=seq2seqUpdatebeam,this._forward=seq2seqForward):(M.EncoderDecoder,this._forward=encoderForward)}async dispose(){let e=[];for(let t of Object.keys(this)){let n=this[t];n instanceof c&&e.push(n.handler.dispose())}return await Promise.all(e)}static async from_pretrained(e,{quantized:t=!0,progress_callback:n=null,config:r=null,cache_dir:i=null,local_files_only:o=!1,revision:d="main",model_file_name:l=null}={}){let c,u={quantized:t,progress_callback:n,config:r,cache_dir:i,local_files_only:o,revision:d,model_file_name:l},_=p.get(this),m=h.get(_);return m===M.DecoderOnly?c=await Promise.all([s.z.from_pretrained(e,u),constructSession(e,u.model_file_name??"decoder_model_merged",u),(0,a.yM)(e,"generation_config.json",!1,u)]):m===M.Seq2Seq||m===M.Vision2Seq?c=await Promise.all([s.z.from_pretrained(e,u),constructSession(e,"encoder_model",u),constructSession(e,"decoder_model_merged",u),(0,a.yM)(e,"generation_config.json",!1,u)]):m===M.MaskGeneration?c=await Promise.all([s.z.from_pretrained(e,u),constructSession(e,"vision_encoder",u),constructSession(e,"prompt_encoder_mask_decoder",u)]):m===M.EncoderDecoder?c=await Promise.all([s.z.from_pretrained(e,u),constructSession(e,"encoder_model",u),constructSession(e,"decoder_model_merged",u)]):(m!==M.EncoderOnly&&console.warn(`Model type for '${_}' not found, assuming encoder-only architecture. Please report this at https://github.com/xenova/transformers.js/issues/new/choose.`),c=await Promise.all([s.z.from_pretrained(e,u),constructSession(e,u.model_file_name??"model",u)])),new this(...c)}async _call(e){return await this.forward(e)}async forward(e){return await this._forward(this,e)}_get_logits_processor(e,t,n=null){let s=new i.Jm;if(null!==e.repetition_penalty&&1!==e.repetition_penalty&&s.push(new i.Jj(e.repetition_penalty)),null!==e.no_repeat_ngram_size&&e.no_repeat_ngram_size>0&&s.push(new i.jF(e.no_repeat_ngram_size)),null!==e.bad_words_ids&&s.push(new i.AE(e.bad_words_ids,e.eos_token_id)),null!==e.min_length&&null!==e.eos_token_id&&e.min_length>0&&s.push(new i.ez(e.min_length,e.eos_token_id)),null!==e.min_new_tokens&&null!==e.eos_token_id&&e.min_new_tokens>0&&s.push(new i.CJ(t,e.min_new_tokens,e.eos_token_id)),null!==e.forced_bos_token_id&&s.push(new i.C9(e.forced_bos_token_id)),null!==e.forced_eos_token_id&&s.push(new i.dZ(e.max_length,e.forced_eos_token_id)),null!==e.begin_suppress_tokens){let n=t>1||null===e.forced_bos_token_id?t:t+1;null!==e.forced_decoder_ids&&(n+=e.forced_decoder_ids[e.forced_decoder_ids.length-1][0]),s.push(new i.GU(e.begin_suppress_tokens,n))}return null!==e.forced_decoder_ids&&s.push(new i.E(e.forced_decoder_ids)),null!==n&&s.extend(n),s}_get_generation_config(e){let t=new i.aP(this.config);return"generation_config"in this&&Object.assign(t,this.generation_config),null!==e&&Object.assign(t,e),t}async generate(e,t=null,n=null,{inputs_attention_mask:s=null}={}){let a;if(!this.can_generate){let e=p.get(this.constructor),t=`The current model class (${e}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`,n=this.config.model_type,s=S.get(n)??k.get(n)??T.get(n)??v.get(n);throw s&&(t+=` Please use the following class instead: '${s[0]}'`),Error(t)}if(!(e instanceof o.es)&&!(0,r.fU)(e)&&!Array.isArray(e))throw Error(`\`inputs\` must be a Tensor, TypedArray, or Array, but is "${e.constructor.name}".`);if(this.config.is_encoder_decoder)a=0;else if(0===(a=e instanceof o.es?e.dims.at(-1):e.length))throw Error("Must supply a non-empty array of input token ids.");t=this._get_generation_config(t),n=n??new i.Jm,n=this._get_logits_processor(t,a,n);let d=t.eos_token_id;null===d||Array.isArray(d)||(d=[d]);let l=1,c=l+(t.max_new_tokens??1/0),u=Number.isInteger(t.max_length)&&(t.max_new_tokens??null)===null,_=i.Z4.getSampler(t),M=this.getStartBeams(e,t,l,s);for(;M.some(e=>!e.done)&&l<c;){let e=[];for(let s of M){if(s.done){e.push(s);continue}if(u&&s.output_token_ids.length>=t.max_length){s.done=!0,e.push(s);continue}let r=await this.runBeam(s);t.output_attentions&&this.addAttentionsToBeam(s,r),t.output_scores;let a=r.logits.slice(null,-1,null);for(let[t,r]of(n(s.output_token_ids,a),_(a))){let n={...s};this.updateBeam(n,t),n.score+=r,d&&d.includes(t)&&(n.done=!0),e.push(n)}}++l,M=(e=this.groupBeams(e).map(e=>e.sort((e,t)=>t.score-e.score).slice(0,t.num_beams))).flat(),t.callback_function&&t.callback_function(M)}let h=this.groupBeams(M),getFlattened=e=>h.map(n=>t.num_return_sequences>1?n.slice(0,t.num_return_sequences).map(t=>t[e]):[n[0][e]]).flat(),m=getFlattened("output_token_ids");if(!t.return_dict_in_generate)return m;{let e=getFlattened("decoder_attentions"),t=getFlattened("cross_attentions");return{sequences:m,decoder_attentions:e,cross_attentions:t}}}addAttentionsToBeam(e,t){if(this.config.is_encoder_decoder){if(!t.cross_attentions||0===t.cross_attentions.length)throw Error("`output_attentions` is true, but the model did not produce cross-attentions. This is most likely because the model was not exported with `output_attentions=True`.");e.cross_attentions||(e.cross_attentions=[]),e.cross_attentions.push(t.cross_attentions)}if(!t.decoder_attentions||0===t.decoder_attentions.length)throw Error("`output_attentions` is true, but the model did not produce decoder-attentions. This is most likely because the model was not exported with `output_attentions=True`.");e.decoder_attentions||(e.decoder_attentions=[]),e.decoder_attentions.push(t.decoder_attentions)}groupBeams(e){let t=Object.create(null);for(let n of e)void 0===t[n.id]?t[n.id]=[n]:t[n.id].push(n);return Object.values(t)}getPastKeyValues(e,t){let n=Object.create(null);for(let s in e)if(s.startsWith("present")){let r=s.replace("present","past_key_values");t&&s.includes("encoder")?n[r]=t[r]:n[r]=e[s]}return n}getAttentions(e){let t=Object.create(null);for(let n of["cross_attentions","decoder_attentions"]){let s=[];for(let t in e)if(t.startsWith(n)){let n=t.split(".").pop();s[n]=e[t]}t[n]=s}return t}addPastKeyValues(e,t){if(t)Object.assign(e,t);else if(this.config.is_encoder_decoder&&(this.add_encoder_pkv??!0)){let t=[1,this.num_encoder_heads,0,this.encoder_dim_kv],n=[1,this.num_decoder_heads,0,this.decoder_dim_kv];for(let s=0;s<this.num_decoder_layers;++s)e[`past_key_values.${s}.encoder.key`]=new o.es("float32",[],t),e[`past_key_values.${s}.encoder.value`]=new o.es("float32",[],t),e[`past_key_values.${s}.decoder.key`]=new o.es("float32",[],n),e[`past_key_values.${s}.decoder.value`]=new o.es("float32",[],n)}else if("falcon"===this.config.model_type){let t=[1*this.num_heads,0,this.dim_kv];for(let n=0;n<this.num_layers;++n)e[`past_key_values.${n}.key`]=new o.es("float32",[],t),e[`past_key_values.${n}.value`]=new o.es("float32",[],t)}else if(this.config.multi_query){let t=[1*this.num_heads,0,2*this.dim_kv];for(let n=0;n<this.num_layers;++n)e[`past_key_values.${n}.key_value`]=new o.es("float32",[],t)}else if("bloom"===this.config.model_type){let t=[1*this.num_heads,this.dim_kv,0],n=[1*this.num_heads,0,this.dim_kv];for(let s=0;s<this.num_layers;++s)e[`past_key_values.${s}.key`]=new o.es("float32",[],t),e[`past_key_values.${s}.value`]=new o.es("float32",[],n)}else{let t=[1,this.num_heads,0,this.dim_kv];for(let n=0;n<this.num_layers;++n)e[`past_key_values.${n}.key`]=new o.es("float32",[],t),e[`past_key_values.${n}.value`]=new o.es("float32",[],t)}}getStartBeams(e,t,n,s){return this._getStartBeams(this,e,t,n,s)}async runBeam(e){return await this._runBeam(this,e)}updateBeam(e,t){return this._updateBeam(e,t)}};let ModelOutput=class ModelOutput{};let BertPreTrainedModel=class BertPreTrainedModel extends PreTrainedModel{};let RoFormerPreTrainedModel=class RoFormerPreTrainedModel extends PreTrainedModel{};let ConvBertPreTrainedModel=class ConvBertPreTrainedModel extends PreTrainedModel{};let ElectraPreTrainedModel=class ElectraPreTrainedModel extends PreTrainedModel{};let CamembertPreTrainedModel=class CamembertPreTrainedModel extends PreTrainedModel{};let DebertaPreTrainedModel=class DebertaPreTrainedModel extends PreTrainedModel{};let DebertaV2PreTrainedModel=class DebertaV2PreTrainedModel extends PreTrainedModel{};let DistilBertPreTrainedModel=class DistilBertPreTrainedModel extends PreTrainedModel{};let EsmPreTrainedModel=class EsmPreTrainedModel extends PreTrainedModel{};let MobileBertPreTrainedModel=class MobileBertPreTrainedModel extends PreTrainedModel{};let MPNetPreTrainedModel=class MPNetPreTrainedModel extends PreTrainedModel{};let SqueezeBertPreTrainedModel=class SqueezeBertPreTrainedModel extends PreTrainedModel{};let AlbertPreTrainedModel=class AlbertPreTrainedModel extends PreTrainedModel{};let T5PreTrainedModel=class T5PreTrainedModel extends PreTrainedModel{};let LongT5PreTrainedModel=class LongT5PreTrainedModel extends PreTrainedModel{};let MT5PreTrainedModel=class MT5PreTrainedModel extends PreTrainedModel{};let BartPretrainedModel=class BartPretrainedModel extends PreTrainedModel{};let MBartPreTrainedModel=class MBartPreTrainedModel extends PreTrainedModel{};let BlenderbotPreTrainedModel=class BlenderbotPreTrainedModel extends PreTrainedModel{};let BlenderbotSmallPreTrainedModel=class BlenderbotSmallPreTrainedModel extends PreTrainedModel{};let RobertaPreTrainedModel=class RobertaPreTrainedModel extends PreTrainedModel{};let XLMPreTrainedModel=class XLMPreTrainedModel extends PreTrainedModel{};let XLMRobertaPreTrainedModel=class XLMRobertaPreTrainedModel extends PreTrainedModel{};let ASTPreTrainedModel=class ASTPreTrainedModel extends PreTrainedModel{};let WhisperPreTrainedModel=class WhisperPreTrainedModel extends PreTrainedModel{};let VisionEncoderDecoderModel=class VisionEncoderDecoderModel extends PreTrainedModel{main_input_name="pixel_values";constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s;let r=this.config.encoder,a=this.config.decoder,i=r.model_type,o=f.get(i)??g.get(i);o||console.warn(`Model type for encoder '${i}' not found, assuming encoder-only architecture. Please report this at https://github.com/xenova/transformers.js/issues/new/choose.`);let d=S.get(a.model_type);if(!d)throw Error(`Unable to construct \`VisionEncoderDecoder\` due to unsupported decoder: "${this.config.decoder.model_type}"`);let l=d[1],c=new l(a,n,s);this.add_encoder_pkv="num_decoder_layers"in c,this.add_encoder_pkv?(this.num_decoder_layers=c.num_decoder_layers,this.num_decoder_heads=c.num_decoder_heads,this.decoder_dim_kv=c.decoder_dim_kv,this.num_encoder_layers=c.num_encoder_layers,this.num_encoder_heads=c.num_encoder_heads,this.encoder_dim_kv=c.encoder_dim_kv):(this.num_layers=c.num_layers,this.num_heads=c.num_heads,this.dim_kv=c.dim_kv)}};let CLIPPreTrainedModel=class CLIPPreTrainedModel extends PreTrainedModel{};let CLIPTextModelWithProjection=class CLIPTextModelWithProjection extends CLIPPreTrainedModel{static async from_pretrained(e,t={}){return t.model_file_name??="text_model",super.from_pretrained(e,t)}};let SiglipPreTrainedModel=class SiglipPreTrainedModel extends PreTrainedModel{};let ChineseCLIPPreTrainedModel=class ChineseCLIPPreTrainedModel extends PreTrainedModel{};let CLIPSegPreTrainedModel=class CLIPSegPreTrainedModel extends PreTrainedModel{};let GPT2PreTrainedModel=class GPT2PreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.n_head,this.num_layers=this.config.n_layer,this.dim_kv=this.config.n_embd/this.num_heads}};let GPTNeoPreTrainedModel=class GPTNeoPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_heads,this.num_layers=this.config.num_layers,this.dim_kv=this.config.hidden_size/this.num_heads}};let GPTNeoXPreTrainedModel=class GPTNeoXPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_attention_heads,this.num_layers=this.config.num_hidden_layers,this.dim_kv=this.config.hidden_size/this.num_heads}};let GPTJPreTrainedModel=class GPTJPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.n_head,this.num_layers=this.config.n_layer,this.dim_kv=this.config.n_embd/this.num_heads}};let GPTBigCodePreTrainedModel=class GPTBigCodePreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.n_head,this.num_layers=this.config.n_layer,this.dim_kv=this.config.n_embd/this.num_heads}};let CodeGenPreTrainedModel=class CodeGenPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.n_head,this.num_layers=this.config.n_layer,this.dim_kv=this.config.n_embd/this.num_heads}};let LlamaPreTrainedModel=class LlamaPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_key_value_heads??this.config.num_attention_heads,this.num_layers=this.config.num_hidden_layers,this.dim_kv=this.config.hidden_size/this.config.num_attention_heads}};let PhiPreTrainedModel=class PhiPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_attention_heads,this.num_layers=this.config.num_hidden_layers,this.dim_kv=this.config.hidden_size/this.num_heads}};let BloomPreTrainedModel=class BloomPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.n_head,this.num_layers=this.config.n_layer,this.dim_kv=this.config.hidden_size/this.num_heads}};let MptPreTrainedModel=class MptPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.n_heads,this.num_layers=this.config.n_layers,this.dim_kv=this.config.d_model/this.num_heads}};let OPTPreTrainedModel=class OPTPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_attention_heads,this.num_layers=this.config.num_hidden_layers,this.dim_kv=this.config.hidden_size/this.num_heads}};let ViTPreTrainedModel=class ViTPreTrainedModel extends PreTrainedModel{};let VitMattePreTrainedModel=class VitMattePreTrainedModel extends PreTrainedModel{};let MobileViTPreTrainedModel=class MobileViTPreTrainedModel extends PreTrainedModel{};let OwlViTPreTrainedModel=class OwlViTPreTrainedModel extends PreTrainedModel{};let BeitPreTrainedModel=class BeitPreTrainedModel extends PreTrainedModel{};let DetrPreTrainedModel=class DetrPreTrainedModel extends PreTrainedModel{};let DetrObjectDetectionOutput=class DetrObjectDetectionOutput extends ModelOutput{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}};let DetrSegmentationOutput=class DetrSegmentationOutput extends ModelOutput{constructor({logits:e,pred_boxes:t,pred_masks:n}){super(),this.logits=e,this.pred_boxes=t,this.pred_masks=n}};let TableTransformerPreTrainedModel=class TableTransformerPreTrainedModel extends PreTrainedModel{};let TableTransformerObjectDetectionOutput=class TableTransformerObjectDetectionOutput extends DetrObjectDetectionOutput{};let DeiTPreTrainedModel=class DeiTPreTrainedModel extends PreTrainedModel{};let ResNetPreTrainedModel=class ResNetPreTrainedModel extends PreTrainedModel{};let SwinPreTrainedModel=class SwinPreTrainedModel extends PreTrainedModel{};let Swin2SRPreTrainedModel=class Swin2SRPreTrainedModel extends PreTrainedModel{};let DPTPreTrainedModel=class DPTPreTrainedModel extends PreTrainedModel{};let GLPNPreTrainedModel=class GLPNPreTrainedModel extends PreTrainedModel{};let DonutSwinPreTrainedModel=class DonutSwinPreTrainedModel extends PreTrainedModel{};let ConvNextPreTrainedModel=class ConvNextPreTrainedModel extends PreTrainedModel{};let ConvNextV2PreTrainedModel=class ConvNextV2PreTrainedModel extends PreTrainedModel{};let Dinov2PreTrainedModel=class Dinov2PreTrainedModel extends PreTrainedModel{};let YolosPreTrainedModel=class YolosPreTrainedModel extends PreTrainedModel{};let YolosObjectDetectionOutput=class YolosObjectDetectionOutput extends ModelOutput{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}};let SamPreTrainedModel=class SamPreTrainedModel extends PreTrainedModel{};let SamImageSegmentationOutput=class SamImageSegmentationOutput extends ModelOutput{constructor({iou_scores:e,pred_masks:t}){super(),this.iou_scores=e,this.pred_masks=t}};let MarianPreTrainedModel=class MarianPreTrainedModel extends PreTrainedModel{};let M2M100PreTrainedModel=class M2M100PreTrainedModel extends PreTrainedModel{};let Wav2Vec2PreTrainedModel=class Wav2Vec2PreTrainedModel extends PreTrainedModel{};let WavLMPreTrainedModel=class WavLMPreTrainedModel extends PreTrainedModel{};let SpeechT5PreTrainedModel=class SpeechT5PreTrainedModel extends PreTrainedModel{};let TrOCRPreTrainedModel=class TrOCRPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_encoder_layers=this.num_decoder_layers=this.config.decoder_layers,this.num_encoder_heads=this.num_decoder_heads=this.config.decoder_attention_heads,this.encoder_dim_kv=this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads}};let MistralPreTrainedModel=class MistralPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_key_value_heads,this.num_layers=this.config.num_hidden_layers,this.dim_kv=this.config.hidden_size/this.config.num_attention_heads}};let FalconPreTrainedModel=class FalconPreTrainedModel extends PreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.config.pad_token_id=this.config.eos_token_id,this.num_heads=this.config.num_attention_heads,this.num_layers=this.config.num_hidden_layers,this.dim_kv=this.config.hidden_size/this.config.num_attention_heads}};let ClapPreTrainedModel=class ClapPreTrainedModel extends PreTrainedModel{};let VitsPreTrainedModel=class VitsPreTrainedModel extends PreTrainedModel{};let VitsModel=class VitsModel extends VitsPreTrainedModel{async _call(e){return new VitsModelOutput(await super._call(e))}};let SegformerPreTrainedModel=class SegformerPreTrainedModel extends PreTrainedModel{};let PretrainedMixin=class PretrainedMixin{static MODEL_CLASS_MAPPINGS=null;static BASE_IF_FAIL=!1;static async from_pretrained(e,{quantized:t=!0,progress_callback:n=null,config:r=null,cache_dir:a=null,local_files_only:i=!1,revision:o="main",model_file_name:d=null}={}){let l={quantized:t,progress_callback:n,config:r,cache_dir:a,local_files_only:i,revision:o,model_file_name:d};if(r=await s.z.from_pretrained(e,l),l.config||(l.config=r),!this.MODEL_CLASS_MAPPINGS)throw Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);for(let t of this.MODEL_CLASS_MAPPINGS){let n=t.get(r.model_type);if(n)return await n[1].from_pretrained(e,l)}if(this.BASE_IF_FAIL)return console.warn(`Unknown model class "${r.model_type}", attempting to construct from base class.`),await PreTrainedModel.from_pretrained(e,l);throw Error(`Unsupported model type: ${r.model_type}`)}};let f=new Map([["bert",["BertModel",class extends BertPreTrainedModel{}]],["roformer",["RoFormerModel",class extends RoFormerPreTrainedModel{}]],["electra",["ElectraModel",class extends ElectraPreTrainedModel{}]],["esm",["EsmModel",class extends EsmPreTrainedModel{}]],["convbert",["ConvBertModel",class extends ConvBertPreTrainedModel{}]],["camembert",["CamembertModel",class extends CamembertPreTrainedModel{}]],["deberta",["DebertaModel",class extends DebertaPreTrainedModel{}]],["deberta-v2",["DebertaV2Model",class extends DebertaV2PreTrainedModel{}]],["mpnet",["MPNetModel",class extends MPNetPreTrainedModel{}]],["albert",["AlbertModel",class extends AlbertPreTrainedModel{}]],["distilbert",["DistilBertModel",class extends DistilBertPreTrainedModel{}]],["roberta",["RobertaModel",class extends RobertaPreTrainedModel{}]],["xlm",["XLMModel",class extends XLMPreTrainedModel{}]],["xlm-roberta",["XLMRobertaModel",class extends XLMRobertaPreTrainedModel{}]],["clap",["ClapModel",class extends ClapPreTrainedModel{}]],["clip",["CLIPModel",class extends CLIPPreTrainedModel{}]],["clipseg",["CLIPSegModel",class extends CLIPSegPreTrainedModel{}]],["chinese_clip",["ChineseCLIPModel",class extends ChineseCLIPPreTrainedModel{}]],["siglip",["SiglipModel",class extends SiglipPreTrainedModel{}]],["mobilebert",["MobileBertModel",class extends MobileBertPreTrainedModel{}]],["squeezebert",["SqueezeBertModel",class extends SqueezeBertPreTrainedModel{}]],["wav2vec2",["Wav2Vec2Model",class extends Wav2Vec2PreTrainedModel{}]],["hubert",["HubertModel",class extends Wav2Vec2PreTrainedModel{}]],["wavlm",["WavLMModel",class extends WavLMPreTrainedModel{}]],["audio-spectrogram-transformer",["ASTModel",class extends ASTPreTrainedModel{}]],["vits",["VitsModel",VitsModel]],["detr",["DetrModel",class extends DetrPreTrainedModel{}]],["table-transformer",["TableTransformerModel",class extends TableTransformerPreTrainedModel{}]],["vit",["ViTModel",class extends ViTPreTrainedModel{}]],["mobilevit",["MobileViTModel",class extends MobileViTPreTrainedModel{}]],["owlvit",["OwlViTModel",class extends OwlViTPreTrainedModel{}]],["beit",["BeitModel",class extends BeitPreTrainedModel{}]],["deit",["DeiTModel",class extends DeiTPreTrainedModel{}]],["convnext",["ConvNextModel",class extends ConvNextPreTrainedModel{}]],["convnextv2",["ConvNextV2Model",class extends ConvNextV2PreTrainedModel{}]],["dinov2",["Dinov2Model",class extends Dinov2PreTrainedModel{}]],["resnet",["ResNetModel",class extends ResNetPreTrainedModel{}]],["swin",["SwinModel",class extends SwinPreTrainedModel{}]],["swin2sr",["Swin2SRModel",class extends Swin2SRPreTrainedModel{}]],["donut-swin",["DonutSwinModel",class extends DonutSwinPreTrainedModel{}]],["yolos",["YolosModel",class extends YolosPreTrainedModel{}]],["dpt",["DPTModel",class extends DPTPreTrainedModel{}]],["glpn",["GLPNModel",class extends GLPNPreTrainedModel{}]],["hifigan",["SpeechT5HifiGan",class extends PreTrainedModel{main_input_name="spectrogram"}]]]),g=new Map([["t5",["T5Model",class extends T5PreTrainedModel{}]],["longt5",["LongT5Model",class extends LongT5PreTrainedModel{}]],["mt5",["MT5Model",class extends MT5PreTrainedModel{}]],["bart",["BartModel",class extends BartPretrainedModel{}]],["mbart",["MBartModel",class extends MBartPreTrainedModel{}]],["marian",["MarianModel",class extends MarianPreTrainedModel{}]],["whisper",["WhisperModel",class extends WhisperPreTrainedModel{}]],["m2m_100",["M2M100Model",class extends M2M100PreTrainedModel{}]],["blenderbot",["BlenderbotModel",class extends BlenderbotPreTrainedModel{}]],["blenderbot-small",["BlenderbotSmallModel",class extends BlenderbotSmallPreTrainedModel{}]]]),P=new Map([["bloom",["BloomModel",class extends BloomPreTrainedModel{}]],["gpt2",["GPT2Model",class extends GPT2PreTrainedModel{}]],["gptj",["GPTJModel",class extends GPTJPreTrainedModel{}]],["gpt_bigcode",["GPTBigCodeModel",class extends GPTBigCodePreTrainedModel{}]],["gpt_neo",["GPTNeoModel",class extends GPTNeoPreTrainedModel{}]],["gpt_neox",["GPTNeoXModel",class extends GPTNeoXPreTrainedModel{}]],["codegen",["CodeGenModel",class extends CodeGenPreTrainedModel{}]],["llama",["LlamaModel",class extends LlamaPreTrainedModel{}]],["phi",["PhiModel",class extends PhiPreTrainedModel{}]],["mpt",["MptModel",class extends MptPreTrainedModel{}]],["opt",["OPTModel",class extends OPTPreTrainedModel{}]],["mistral",["MistralModel",class extends MistralPreTrainedModel{}]],["falcon",["FalconModel",class extends FalconPreTrainedModel{}]]]),T=new Map([["speecht5",["SpeechT5ForSpeechToText",class extends SpeechT5PreTrainedModel{}]],["whisper",["WhisperForConditionalGeneration",class extends WhisperPreTrainedModel{requires_attention_mask=!1;main_input_name="input_features";constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}async generate(e,t=null,n=null){if(t=this._get_generation_config(t),t.return_timestamps??=!1,t.return_timestamps&&(n=[new i.Pg(t)]),t.return_token_timestamps&&(t.output_attentions=!0,t.return_dict_in_generate=!0,"translate"===t.task&&console.warn("Token-level timestamps may not be reliable for task 'translate'."),!t.alignment_heads))throw Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");let s=await super.generate(e,t,n);return t.return_token_timestamps&&t.alignment_heads&&(s.token_timestamps=this._extract_token_timestamps(s,t.alignment_heads,t.num_frames)),s}_extract_token_timestamps(e,t,n=null,s=.02){if(!e.cross_attentions)throw Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");let a=this.config.median_filter_width;void 0===a&&(console.warn("Model config has no `median_filter_width`, using default value of 7."),a=7);let i=e.cross_attentions.map(e=>{let s=Array.from({length:this.config.decoder_layers},(t,n)=>(0,o.d3)(e.map(e=>e[n]),2)),r=(0,o.kn)(t.map(([e,t])=>n?s[e].slice(null,t,null,[0,n]):s[e].slice(null,t)));r=r.transpose(1,0,2,3);let[i,d]=(0,o.f3)(r,-2,0,!0),c=r.clone();for(let e=0;e<c.dims[0];++e){let t=c[e];for(let n=0;n<t.dims[0];++n){let s=t[n],r=i[e][n][0],o=d[e][n][0];for(let e=0;e<s.dims[0];++e){let t=s[e];for(let e=0;e<t.data.length;++e)t.data[e]=(t.data[e]-o.data[e])/r.data[e];t.data.set((0,l.qCb)(t.data,a))}}}let u=(0,o.J6)(c,1);return u}),d=[e.sequences.length,e.sequences[0].length],c=new o.es("float32",new Float32Array(d[0]*d[1]),d);for(let e=0;e<d[0];++e){let t=i[e].neg().squeeze_(0),[n,a]=(0,o.Ks)(t),d=Array.from({length:n.length-1},(e,t)=>n[t+1]-n[t]),l=(0,r.eG)([1],d).map(e=>!!e),u=[];for(let e=0;e<l.length;++e)l[e]&&u.push(a[e]*s);c[e].data.set(u,1)}return c}}]]]),w=new Map([["speecht5",["SpeechT5ForTextToSpeech",class extends SpeechT5PreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.hidden_size/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.hidden_size/this.num_encoder_heads}async generate_speech(e,t,{threshold:n=.5,minlenratio:s=0,maxlenratio:r=20,vocoder:a=null}={}){let{encoder_outputs:i,encoder_attention_mask:d}=await encoderForward(this,{input_ids:e}),l=i.dims[1]/this.config.reduction_factor,c=Math.floor(l*r),u=Math.floor(l*s),_=this.config.num_mel_bins,M=[],h=null,m=null,p=0;for(;;){++p;let e=boolTensor(!!m),s={use_cache_branch:e,output_sequence:m?m.output_sequence_out:new o.es("float32",new Float32Array(_),[1,1,_]),encoder_attention_mask:d,speaker_embeddings:t,encoder_hidden_states:i};this.addPastKeyValues(s,h),m=await sessionRun(this.decoder_merged_session,s),h=this.getPastKeyValues(m,h);let{prob:r,spectrum:a}=m;if(M.push(a),p>=u&&(Array.from(r.data).filter(e=>e>=n).length>0||p>=c))break}let f=(0,o.d3)(M),{waveform:g}=await sessionRun(a.session,{spectrogram:f});return{spectrogram:f,waveform:g}}}]]]),x=new Map([["vits",["VitsModel",VitsModel]]]),y=new Map([["bert",["BertForSequenceClassification",class extends BertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["roformer",["RoFormerForSequenceClassification",class extends RoFormerPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["electra",["ElectraForSequenceClassification",class extends ElectraPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["esm",["EsmForSequenceClassification",class extends EsmPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["convbert",["ConvBertForSequenceClassification",class extends ConvBertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["camembert",["CamembertForSequenceClassification",class extends CamembertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["deberta",["DebertaForSequenceClassification",class extends DebertaPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["deberta-v2",["DebertaV2ForSequenceClassification",class extends DebertaV2PreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["mpnet",["MPNetForSequenceClassification",class extends MPNetPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["albert",["AlbertForSequenceClassification",class extends AlbertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["distilbert",["DistilBertForSequenceClassification",class extends DistilBertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["roberta",["RobertaForSequenceClassification",class extends RobertaPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["xlm",["XLMForSequenceClassification",class extends XLMPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["xlm-roberta",["XLMRobertaForSequenceClassification",class extends XLMRobertaPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["bart",["BartForSequenceClassification",class extends BartPretrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["mbart",["MBartForSequenceClassification",class extends MBartPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["mobilebert",["MobileBertForSequenceClassification",class extends MobileBertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["squeezebert",["SqueezeBertForSequenceClassification",class extends SqueezeBertPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]]]),b=new Map([["bert",["BertForTokenClassification",class extends BertPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["roformer",["RoFormerForTokenClassification",class extends RoFormerPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["electra",["ElectraForTokenClassification",class extends ElectraPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["esm",["EsmForTokenClassification",class extends EsmPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["convbert",["ConvBertForTokenClassification",class extends ConvBertPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["camembert",["CamembertForTokenClassification",class extends CamembertPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["deberta",["DebertaForTokenClassification",class extends DebertaPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["deberta-v2",["DebertaV2ForTokenClassification",class extends DebertaV2PreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["mpnet",["MPNetForTokenClassification",class extends MPNetPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["distilbert",["DistilBertForTokenClassification",class extends DistilBertPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["roberta",["RobertaForTokenClassification",class extends RobertaPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["xlm",["XLMForTokenClassification",class extends XLMPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]],["xlm-roberta",["XLMRobertaForTokenClassification",class extends XLMRobertaPreTrainedModel{async _call(e){return new TokenClassifierOutput(await super._call(e))}}]]]),k=new Map([["t5",["T5ForConditionalGeneration",class extends T5PreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.num_decoder_layers,this.num_decoder_heads=this.config.num_heads,this.decoder_dim_kv=this.config.d_kv,this.num_encoder_layers=this.config.num_layers,this.num_encoder_heads=this.config.num_heads,this.encoder_dim_kv=this.config.d_kv}}]],["longt5",["LongT5ForConditionalGeneration",class extends LongT5PreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.num_decoder_layers,this.num_decoder_heads=this.config.num_heads,this.decoder_dim_kv=this.config.d_kv,this.num_encoder_layers=this.config.num_layers,this.num_encoder_heads=this.config.num_heads,this.encoder_dim_kv=this.config.d_kv}}]],["mt5",["MT5ForConditionalGeneration",class extends MT5PreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.num_decoder_layers,this.num_decoder_heads=this.config.num_heads,this.decoder_dim_kv=this.config.d_kv,this.num_encoder_layers=this.config.num_layers,this.num_encoder_heads=this.config.num_heads,this.encoder_dim_kv=this.config.d_kv}}]],["bart",["BartForConditionalGeneration",class extends BartPretrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]],["mbart",["MBartForConditionalGeneration",class extends MBartPreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]],["marian",["MarianMTModel",class extends MarianPreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]],["m2m_100",["M2M100ForConditionalGeneration",class extends M2M100PreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]],["blenderbot",["BlenderbotForConditionalGeneration",class extends BlenderbotPreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]],["blenderbot-small",["BlenderbotSmallForConditionalGeneration",class extends BlenderbotSmallPreTrainedModel{constructor(e,t,n,s){super(e,t),this.decoder_merged_session=n,this.generation_config=s,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]]]),S=new Map([["bloom",["BloomForCausalLM",class extends BloomPreTrainedModel{}]],["gpt2",["GPT2LMHeadModel",class extends GPT2PreTrainedModel{}]],["gptj",["GPTJForCausalLM",class extends GPTJPreTrainedModel{}]],["gpt_bigcode",["GPTBigCodeForCausalLM",class extends GPTBigCodePreTrainedModel{}]],["gpt_neo",["GPTNeoForCausalLM",class extends GPTNeoPreTrainedModel{}]],["gpt_neox",["GPTNeoXForCausalLM",class extends GPTNeoXPreTrainedModel{}]],["codegen",["CodeGenForCausalLM",class extends CodeGenPreTrainedModel{}]],["llama",["LlamaForCausalLM",class extends LlamaPreTrainedModel{}]],["phi",["PhiForCausalLM",class extends PhiPreTrainedModel{}]],["mpt",["MptForCausalLM",class extends MptPreTrainedModel{}]],["opt",["OPTForCausalLM",class extends OPTPreTrainedModel{}]],["mbart",["MBartForCausalLM",class extends MBartPreTrainedModel{constructor(e,t,n){super(e,t),this.generation_config=n,this.num_decoder_layers=this.config.decoder_layers,this.num_decoder_heads=this.config.decoder_attention_heads,this.decoder_dim_kv=this.config.d_model/this.num_decoder_heads,this.num_encoder_layers=this.config.encoder_layers,this.num_encoder_heads=this.config.encoder_attention_heads,this.encoder_dim_kv=this.config.d_model/this.num_encoder_heads}}]],["mistral",["MistralForCausalLM",class extends MistralPreTrainedModel{}]],["falcon",["FalconForCausalLM",class extends FalconPreTrainedModel{}]],["trocr",["TrOCRForCausalLM",class extends TrOCRPreTrainedModel{}]]]),C=new Map([["bert",["BertForMaskedLM",class extends BertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["roformer",["RoFormerForMaskedLM",class extends RoFormerPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["electra",["ElectraForMaskedLM",class extends ElectraPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["esm",["EsmForMaskedLM",class extends EsmPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["convbert",["ConvBertForMaskedLM",class extends ConvBertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["camembert",["CamembertForMaskedLM",class extends CamembertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["deberta",["DebertaForMaskedLM",class extends DebertaPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["deberta-v2",["DebertaV2ForMaskedLM",class extends DebertaV2PreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["mpnet",["MPNetForMaskedLM",class extends MPNetPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["albert",["AlbertForMaskedLM",class extends AlbertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["distilbert",["DistilBertForMaskedLM",class extends DistilBertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["roberta",["RobertaForMaskedLM",class extends RobertaPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["xlm",["XLMWithLMHeadModel",class extends XLMPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["xlm-roberta",["XLMRobertaForMaskedLM",class extends XLMRobertaPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["mobilebert",["MobileBertForMaskedLM",class extends MobileBertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]],["squeezebert",["SqueezeBertForMaskedLM",class extends SqueezeBertPreTrainedModel{async _call(e){return new MaskedLMOutput(await super._call(e))}}]]]),O=new Map([["bert",["BertForQuestionAnswering",class extends BertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["roformer",["RoFormerForQuestionAnswering",class extends RoFormerPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["electra",["ElectraForQuestionAnswering",class extends ElectraPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["convbert",["ConvBertForQuestionAnswering",class extends ConvBertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["camembert",["CamembertForQuestionAnswering",class extends CamembertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["deberta",["DebertaForQuestionAnswering",class extends DebertaPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["deberta-v2",["DebertaV2ForQuestionAnswering",class extends DebertaV2PreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["mpnet",["MPNetForQuestionAnswering",class extends MPNetPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["albert",["AlbertForQuestionAnswering",class extends AlbertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["distilbert",["DistilBertForQuestionAnswering",class extends DistilBertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["roberta",["RobertaForQuestionAnswering",class extends RobertaPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["xlm",["XLMForQuestionAnswering",class extends XLMPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["xlm-roberta",["XLMRobertaForQuestionAnswering",class extends XLMRobertaPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["mobilebert",["MobileBertForQuestionAnswering",class extends MobileBertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]],["squeezebert",["SqueezeBertForQuestionAnswering",class extends SqueezeBertPreTrainedModel{async _call(e){return new QuestionAnsweringModelOutput(await super._call(e))}}]]]),v=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",VisionEncoderDecoderModel]]]),F=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",VisionEncoderDecoderModel]]]),A=new Map([["vit",["ViTForImageClassification",class extends ViTPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["mobilevit",["MobileViTForImageClassification",class extends MobileViTPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["beit",["BeitForImageClassification",class extends BeitPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["deit",["DeiTForImageClassification",class extends DeiTPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["convnext",["ConvNextForImageClassification",class extends ConvNextPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["convnextv2",["ConvNextV2ForImageClassification",class extends ConvNextV2PreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["dinov2",["Dinov2ForImageClassification",class extends Dinov2PreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["resnet",["ResNetForImageClassification",class extends ResNetPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["swin",["SwinForImageClassification",class extends SwinPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["segformer",["SegformerForImageClassification",class extends SegformerPreTrainedModel{}]]]),L=new Map([["detr",["DetrForObjectDetection",class extends DetrPreTrainedModel{async _call(e){return new DetrObjectDetectionOutput(await super._call(e))}}]],["table-transformer",["TableTransformerForObjectDetection",class extends TableTransformerPreTrainedModel{async _call(e){return new TableTransformerObjectDetectionOutput(await super._call(e))}}]],["yolos",["YolosForObjectDetection",class extends YolosPreTrainedModel{async _call(e){return new YolosObjectDetectionOutput(await super._call(e))}}]]]),B=new Map([["owlvit",["OwlViTForObjectDetection",class extends OwlViTPreTrainedModel{}]]]),q=new Map([["detr",["DetrForSegmentation",class extends DetrPreTrainedModel{async _call(e){return new DetrSegmentationOutput(await super._call(e))}}]],["clipseg",["CLIPSegForImageSegmentation",class extends CLIPSegPreTrainedModel{}]]]),D=new Map([["segformer",["SegformerForSemanticSegmentation",class extends SegformerPreTrainedModel{}]]]),E=new Map([["sam",["SamModel",class extends SamPreTrainedModel{constructor(e,t,n){super(e,t),this.prompt_encoder_mask_decoder=n}async get_image_embeddings({pixel_values:e}){return await encoderForward(this,{pixel_values:e})}async forward(e){if(e.image_embeddings&&e.image_positional_embeddings||(e={...e,...await this.get_image_embeddings(e)}),!e.input_labels){let t=e.input_points.dims.slice(0,-1),n=t.reduce((e,t)=>e*t,1);e.input_labels=new o.es("int64",new BigInt64Array(n).fill(1n),t)}return await sessionRun(this.prompt_encoder_mask_decoder,{input_points:e.input_points,input_labels:e.input_labels,image_embeddings:e.image_embeddings,image_positional_embeddings:e.image_positional_embeddings})}async _call(e){return new SamImageSegmentationOutput(await super._call(e))}}]]]),I=new Map([["wav2vec2",["Wav2Vec2ForCTC",class extends Wav2Vec2PreTrainedModel{async _call(e){return new CausalLMOutput(await super._call(e))}}]],["wavlm",["WavLMForCTC",class extends WavLMPreTrainedModel{async _call(e){return new CausalLMOutput(await super._call(e))}}]],["hubert",["HubertForCTC",class extends Wav2Vec2PreTrainedModel{async _call(e){return new CausalLMOutput(await super._call(e))}}]]]),N=new Map([["wav2vec2",["Wav2Vec2ForSequenceClassification",class extends Wav2Vec2PreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["wavlm",["WavLMForSequenceClassification",class extends WavLMPreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["hubert",["HubertForSequenceClassification",class extends Wav2Vec2PreTrainedModel{async _call(e){return new SequenceClassifierOutput(await super._call(e))}}]],["audio-spectrogram-transformer",["ASTForAudioClassification",class extends ASTPreTrainedModel{}]]]),G=new Map([["vitmatte",["VitMatteForImageMatting",class extends VitMattePreTrainedModel{async _call(e){return new ImageMattingOutput(await super._call(e))}}]]]),V=new Map([["swin2sr",["Swin2SRForImageSuperResolution",class extends Swin2SRPreTrainedModel{}]]]),R=new Map([["dpt",["DPTForDepthEstimation",class extends DPTPreTrainedModel{}]],["glpn",["GLPNForDepthEstimation",class extends GLPNPreTrainedModel{}]]]),j=[[f,M.EncoderOnly],[g,M.EncoderDecoder],[P,M.DecoderOnly],[y,M.EncoderOnly],[b,M.EncoderOnly],[k,M.Seq2Seq],[T,M.Seq2Seq],[S,M.DecoderOnly],[C,M.EncoderOnly],[O,M.EncoderOnly],[v,M.Vision2Seq],[A,M.EncoderOnly],[q,M.EncoderOnly],[D,M.EncoderOnly],[G,M.EncoderOnly],[V,M.EncoderOnly],[R,M.EncoderOnly],[L,M.EncoderOnly],[B,M.EncoderOnly],[E,M.MaskGeneration],[I,M.EncoderOnly],[N,M.EncoderOnly],[w,M.Seq2Seq],[x,M.EncoderOnly]];for(let[e,t]of j)for(let[n,s]of e.values())h.set(n,t),p.set(s,n),m.set(n,s);let z=[["CLIPTextModelWithProjection",CLIPTextModelWithProjection,M.EncoderOnly],["CLIPVisionModelWithProjection",class extends CLIPPreTrainedModel{static async from_pretrained(e,t={}){return t.model_file_name??="vision_model",super.from_pretrained(e,t)}},M.EncoderOnly],["SiglipTextModel",class extends SiglipPreTrainedModel{static async from_pretrained(e,t={}){return t.model_file_name??="text_model",super.from_pretrained(e,t)}},M.EncoderOnly],["SiglipVisionModel",class extends CLIPPreTrainedModel{static async from_pretrained(e,t={}){return t.model_file_name??="vision_model",super.from_pretrained(e,t)}},M.EncoderOnly],["ClapTextModelWithProjection",class extends ClapPreTrainedModel{static async from_pretrained(e,t={}){return t.model_file_name??="text_model",super.from_pretrained(e,t)}},M.EncoderOnly],["ClapAudioModelWithProjection",class extends ClapPreTrainedModel{static async from_pretrained(e,t={}){return t.model_file_name??="audio_model",super.from_pretrained(e,t)}},M.EncoderOnly]];for(let[e,t,n]of z)h.set(e,n),p.set(t,e),m.set(e,t);let AutoModel=class AutoModel extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=j.map(e=>e[0]);static BASE_IF_FAIL=!0};let AutoModelForSequenceClassification=class AutoModelForSequenceClassification extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[y]};let AutoModelForTokenClassification=class AutoModelForTokenClassification extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[b]};let AutoModelForSeq2SeqLM=class AutoModelForSeq2SeqLM extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[k]};let AutoModelForSpeechSeq2Seq=class AutoModelForSpeechSeq2Seq extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[T]};let AutoModelForTextToSpectrogram=class AutoModelForTextToSpectrogram extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[w]};let AutoModelForTextToWaveform=class AutoModelForTextToWaveform extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[x]};let AutoModelForCausalLM=class AutoModelForCausalLM extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[S]};let AutoModelForMaskedLM=class AutoModelForMaskedLM extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[C]};let AutoModelForQuestionAnswering=class AutoModelForQuestionAnswering extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[O]};let AutoModelForVision2Seq=class AutoModelForVision2Seq extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[v]};let AutoModelForImageClassification=class AutoModelForImageClassification extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[A]};let AutoModelForImageSegmentation=class AutoModelForImageSegmentation extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[q]};let AutoModelForSemanticSegmentation=class AutoModelForSemanticSegmentation extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[D]};let AutoModelForObjectDetection=class AutoModelForObjectDetection extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[L]};let AutoModelForZeroShotObjectDetection=class AutoModelForZeroShotObjectDetection extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[B]};let AutoModelForCTC=class AutoModelForCTC extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[I]};let AutoModelForAudioClassification=class AutoModelForAudioClassification extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[N]};let AutoModelForDocumentQuestionAnswering=class AutoModelForDocumentQuestionAnswering extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[F]};let AutoModelForImageToImage=class AutoModelForImageToImage extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[V]};let AutoModelForDepthEstimation=class AutoModelForDepthEstimation extends PretrainedMixin{static MODEL_CLASS_MAPPINGS=[R]};let Seq2SeqLMOutput=class Seq2SeqLMOutput extends ModelOutput{constructor({logits:e,past_key_values:t,encoder_outputs:n,decoder_attentions:s=null,cross_attentions:r=null}){super(),this.logits=e,this.past_key_values=t,this.encoder_outputs=n,this.decoder_attentions=s,this.cross_attentions=r}};let SequenceClassifierOutput=class SequenceClassifierOutput extends ModelOutput{constructor({logits:e}){super(),this.logits=e}};let TokenClassifierOutput=class TokenClassifierOutput extends ModelOutput{constructor({logits:e}){super(),this.logits=e}};let MaskedLMOutput=class MaskedLMOutput extends ModelOutput{constructor({logits:e}){super(),this.logits=e}};let QuestionAnsweringModelOutput=class QuestionAnsweringModelOutput extends ModelOutput{constructor({start_logits:e,end_logits:t}){super(),this.start_logits=e,this.end_logits=t}};let CausalLMOutput=class CausalLMOutput extends ModelOutput{constructor({logits:e}){super(),this.logits=e}};let ImageMattingOutput=class ImageMattingOutput extends ModelOutput{constructor({alphas:e}){super(),this.alphas=e}};let VitsModelOutput=class VitsModelOutput extends ModelOutput{constructor({waveform:e,spectrogram:t}){super(),this.waveform=e,this.spectrogram=t}}}}]); |