import{s as Bo,o as xo,n as Io}from"../chunks/scheduler.37c15a92.js";import{S as Ho,i as No,g as a,s as o,r as g,A as Vo,h as m,f as l,c as p,j as Co,u as d,x as f,k as B,y as Lo,a as n,v as _,t as c,b as tt,d as b,w as h,m as Xo,n as Ro,p as et}from"../chunks/index.2bf4358c.js";import{T as Go}from"../chunks/Tip.363c041f.js";import{Y as Ri}from"../chunks/Youtube.1e50a667.js";import{C as U}from"../chunks/CodeBlock.4f5fc1ad.js";import{C as Wo}from"../chunks/CourseFloatingBanner.06521e8b.js";import{F as zo}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as rt}from"../chunks/Heading.8ada512a.js";function Yo(w){let i,r;return i=new Wo({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/zh-CN/chapter4/section3_tf.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/zh-CN/chapter4/section3_tf.ipynb"}]}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function Ao(w){let i,r;return i=new Wo({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/zh-CN/chapter4/section3_pt.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/zh-CN/chapter4/section3_pt.ipynb"}]}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function Qo(w){let i,r;return i=new Ri({props:{id:"pUh5cGmNV8Y"}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function So(w){let i,r;return i=new Ri({props:{id:"Zh0FfmVrKX0"}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function Fo(w){let i,r="如果您使用Keras来训练您的模型，则将其上传到Hub的最简单方法是在调用 <strong>model.fit()</strong>  时传递<strong>PushToHubCallback</strong>：",s,M,T,u,$="然后，您应该在对<strong>model.fit()</strong>的调用中添加<strong>callbacks=[callback]</strong>。然后，每次将模型保存在命名空间的存储库中（此处为每个 epoch）时，回调都会将模型上传到 Hub。该存储库的名称将类似于您选择的输出目录（此处为<strong>bert-finetuned-mrpc</strong>），但您可以选择另一个名称，名称为<strong>hub_model_id = a_different_name</strong>。",C,j,v="要将您的模型上传到您所属的组织，只需将其传递给 <strong>hub_model_id = my_organization/my_repo_name</strong> 。",Z;return M=new U({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFB1c2hUb0h1YkNhbGxiYWNrJTBBJTBBY2FsbGJhY2slMjAlM0QlMjBQdXNoVG9IdWJDYWxsYmFjayglMEElMjAlMjAlMjAlMjAlMjJiZXJ0LWZpbmV0dW5lZC1tcnBjJTIyJTJDJTIwc2F2ZV9zdHJhdGVneSUzRCUyMmVwb2NoJTIyJTJDJTIwdG9rZW5pemVyJTNEdG9rZW5pemVyJTBBKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> PushToHubCallback

callback = PushToHubCallback(
    <span class="hljs-string">&quot;bert-finetuned-mrpc&quot;</span>, save_strategy=<span class="hljs-string">&quot;epoch&quot;</span>, tokenizer=tokenizer
)`,wrap:!1}}),{c(){i=a("p"),i.innerHTML=r,s=o(),g(M.$$.fragment),T=o(),u=a("p"),u.innerHTML=$,C=o(),j=a("p"),j.innerHTML=v},l(y){i=m(y,"P",{"data-svelte-h":!0}),f(i)!=="svelte-1oxo2fd"&&(i.innerHTML=r),s=p(y),d(M.$$.fragment,y),T=p(y),u=m(y,"P",{"data-svelte-h":!0}),f(u)!=="svelte-7u1s2s"&&(u.innerHTML=$),C=p(y),j=m(y,"P",{"data-svelte-h":!0}),f(j)!=="svelte-145ikta"&&(j.innerHTML=v)},m(y,k){n(y,i,k),n(y,s,k),_(M,y,k),n(y,T,k),n(y,u,k),n(y,C,k),n(y,j,k),Z=!0},i(y){Z||(b(M.$$.fragment,y),Z=!0)},o(y){c(M.$$.fragment,y),Z=!1},d(y){y&&(l(i),l(s),l(T),l(u),l(C),l(j)),h(M,y)}}}function Eo(w){let i,r="如果你玩过 <strong>Trainer</strong> 用于训练模型的 API，将其上传到 Hub 的最简单方法是设置 <strong>push_to_hub=True</strong> 当你定义你的 <strong>TrainingArguments</strong> ：",s,M,T,u,$="你声明 <strong>trainer.train()</strong> 的时候， 这 <strong>Trainer</strong> 然后每次将您的模型保存到您的命名空间中的存储库中时（这里是每个时代），它将上传到集线器。该存储库将命名为您选择的输出目录（此处 <strong>bert-finetuned-mrpc</strong> ) 但您可以选择不同的名称 <strong>hub_model_id = a_different_name</strong> 。",C,j,v="要将您的模型上传到您所属的组织，只需将其传递给 <strong>hub_model_id = my_organization/my_repo_name</strong> 。",Z,y,k="训练结束后，你应该做最后的 <strong>trainer.push_to_hub()</strong> 上传模型的最新版本。它还将生成包含所有相关元数据的模型卡，报告使用的超参数和评估结果！以下是您可能会在此类模型卡中找到的内容示例：",D,G,at='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/model_card.png" alt="An example of an auto-generated model card." width="100%"/>',x;return M=new U({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRyYWluaW5nQXJndW1lbnRzJTBBJTBBdHJhaW5pbmdfYXJncyUyMCUzRCUyMFRyYWluaW5nQXJndW1lbnRzKCUwQSUyMCUyMCUyMCUyMCUyMmJlcnQtZmluZXR1bmVkLW1ycGMlMjIlMkMlMjBzYXZlX3N0cmF0ZWd5JTNEJTIyZXBvY2glMjIlMkMlMjBwdXNoX3RvX2h1YiUzRFRydWUlMEEp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TrainingArguments

training_args = TrainingArguments(
    <span class="hljs-string">&quot;bert-finetuned-mrpc&quot;</span>, save_strategy=<span class="hljs-string">&quot;epoch&quot;</span>, push_to_hub=<span class="hljs-literal">True</span>
)`,wrap:!1}}),{c(){i=a("p"),i.innerHTML=r,s=o(),g(M.$$.fragment),T=o(),u=a("p"),u.innerHTML=$,C=o(),j=a("p"),j.innerHTML=v,Z=o(),y=a("p"),y.innerHTML=k,D=o(),G=a("div"),G.innerHTML=at,this.h()},l(J){i=m(J,"P",{"data-svelte-h":!0}),f(i)!=="svelte-ilqm9i"&&(i.innerHTML=r),s=p(J),d(M.$$.fragment,J),T=p(J),u=m(J,"P",{"data-svelte-h":!0}),f(u)!=="svelte-f93yrb"&&(u.innerHTML=$),C=p(J),j=m(J,"P",{"data-svelte-h":!0}),f(j)!=="svelte-145ikta"&&(j.innerHTML=v),Z=p(J),y=m(J,"P",{"data-svelte-h":!0}),f(y)!=="svelte-1nn6kpy"&&(y.innerHTML=k),D=p(J),G=m(J,"DIV",{class:!0,"data-svelte-h":!0}),f(G)!=="svelte-1lhrimn"&&(G.innerHTML=at),this.h()},h(){B(G,"class","flex justify-center")},m(J,W){n(J,i,W),n(J,s,W),_(M,J,W),n(J,T,W),n(J,u,W),n(J,C,W),n(J,j,W),n(J,Z,W),n(J,y,W),n(J,D,W),n(J,G,W),x=!0},i(J){x||(b(M.$$.fragment,J),x=!0)},o(J){c(M.$$.fragment,J),x=!1},d(J){J&&(l(i),l(s),l(T),l(u),l(C),l(j),l(Z),l(y),l(D),l(G)),h(M,J)}}}function Po(w){let i,r;return i=new U({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yTWFza2VkTE0lMkMlMjBBdXRvVG9rZW5pemVyJTBBJTBBY2hlY2twb2ludCUyMCUzRCUyMCUyMmNhbWVtYmVydC1iYXNlJTIyJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = TFAutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function qo(w){let i,r;return i=new U({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvck1hc2tlZExNJTJDJTIwQXV0b1Rva2VuaXplciUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJjYW1lbWJlcnQtYmFzZSUyMiUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = AutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function Do(w){let i,r='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/push_to_hub_dummy_model_tf.png" alt="Dummy model containing both the tokenizer and model files." width="80%"/>';return{c(){i=a("div"),i.innerHTML=r,this.h()},l(s){i=m(s,"DIV",{class:!0,"data-svelte-h":!0}),f(i)!=="svelte-5a3kk0"&&(i.innerHTML=r),this.h()},h(){B(i,"class","flex justify-center")},m(s,M){n(s,i,M)},d(s){s&&l(i)}}}function Ko(w){let i,r='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/push_to_hub_dummy_model.png" alt="Dummy model containing both the tokenizer and model files." width="80%"/>';return{c(){i=a("div"),i.innerHTML=r,this.h()},l(s){i=m(s,"DIV",{class:!0,"data-svelte-h":!0}),f(i)!=="svelte-19u1vyv"&&(i.innerHTML=r),this.h()},h(){B(i,"class","flex justify-center")},m(s,M){n(s,i,M)},d(s){s&&l(i)}}}function Oo(w){let i,r="✏️ <strong>试试看</strong>！获取与检查点关联的模型和标记器，并使用该方法将它们上传到您的命名空间中的存储库。在删除之前，请仔细检查该存储库是否正确显示在您的页面上。";return{c(){i=a("p"),i.innerHTML=r},l(s){i=m(s,"P",{"data-svelte-h":!0}),f(i)!=="svelte-uzsoeq"&&(i.innerHTML=r)},m(s,M){n(s,i,M)},p:Io,d(s){s&&l(i)}}}function tp(w){let i,r;return i=new U({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yTWFza2VkTE0lMkMlMjBBdXRvVG9rZW5pemVyJTBBJTBBY2hlY2twb2ludCUyMCUzRCUyMCUyMmNhbWVtYmVydC1iYXNlJTIyJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBJTBBJTIzJTIwRG8lMjB3aGF0ZXZlciUyMHdpdGglMjB0aGUlMjBtb2RlbCUyQyUyMHRyYWluJTIwaXQlMkMlMjBmaW5lLXR1bmUlMjBpdC4uLiUwQSUwQW1vZGVsLnNhdmVfcHJldHJhaW5lZCglMjIlM0NwYXRoX3RvX2R1bW15X2ZvbGRlciUzRSUyMiklMEF0b2tlbml6ZXIuc2F2ZV9wcmV0cmFpbmVkKCUyMiUzQ3BhdGhfdG9fZHVtbXlfZm9sZGVyJTNFJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = TFAutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

<span class="hljs-comment"># Do whatever with the model, train it, fine-tune it...</span>

model.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function ep(w){let i,r;return i=new U({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvck1hc2tlZExNJTJDJTIwQXV0b1Rva2VuaXplciUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJjYW1lbWJlcnQtYmFzZSUyMiUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCklMEElMEElMjMlMjBEbyUyMHdoYXRldmVyJTIwd2l0aCUyMHRoZSUyMG1vZGVsJTJDJTIwdHJhaW4lMjBpdCUyQyUyMGZpbmUtdHVuZSUyMGl0Li4uJTBBJTBBbW9kZWwuc2F2ZV9wcmV0cmFpbmVkKCUyMiUzQ3BhdGhfdG9fZHVtbXlfZm9sZGVyJTNFJTIyKSUwQXRva2VuaXplci5zYXZlX3ByZXRyYWluZWQoJTIyJTNDcGF0aF90b19kdW1teV9mb2xkZXIlM0UlMjIp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = AutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

<span class="hljs-comment"># Do whatever with the model, train it, fine-tune it...</span>

model.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function lp(w){let i,r,s,M="如果您查看文件大小（例如， <strong>ls -lh</strong> )，您应该会看到模型状态 dict 文件 (pytorch_model.bin) 是唯一的异常值，超过 400 MB。",T;return i=new U({props:{code:"Y29uZmlnLmpzb24lMjAlMjBSRUFETUUubWQlMjAlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUyMCUyMHNwZWNpYWxfdG9rZW5zX21hcC5qc29uJTIwJTIwdGZfbW9kZWwuaDUlMjAlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAlMjB0b2tlbml6ZXIuanNvbg==",highlighted:"config.json  README.md  sentencepiece.bpe.model  special_tokens_map.json  tf_model.h5  tokenizer_config.json  tokenizer.json",wrap:!1}}),{c(){g(i.$$.fragment),r=o(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),r=p(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-wz421a"&&(s.innerHTML=M)},m(u,$){_(i,u,$),n(u,r,$),n(u,s,$),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(r),l(s)),h(i,u)}}}function np(w){let i,r,s,M="If you look at the file sizes (for example, with <code>ls -lh</code>), you should see that the model state dict file (<em>pytorch_model.bin</em>) is the only outlier, at more than 400 MB.",T;return i=new U({props:{code:"Y29uZmlnLmpzb24lMjAlMjBweXRvcmNoX21vZGVsLmJpbiUyMCUyMFJFQURNRS5tZCUyMCUyMHNlbnRlbmNlcGllY2UuYnBlLm1vZGVsJTIwJTIwc3BlY2lhbF90b2tlbnNfbWFwLmpzb24lMjB0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAlMjB0b2tlbml6ZXIuanNvbg==",highlighted:"config.json  pytorch_model.bin  README.md  sentencepiece.bpe.model  special_tokens_map.json tokenizer_config.json  tokenizer.json",wrap:!1}}),{c(){g(i.$$.fragment),r=o(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),r=p(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-174jxm4"&&(s.innerHTML=M)},m(u,$){_(i,u,$),n(u,r,$),n(u,s,$),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(r),l(s)),h(i,u)}}}function ip(w){let i;return{c(){i=Xo("✏️ 从 web 界面创建存储库时，*.gitattributes* 文件会自动设置为将具有某些扩展名的文件，例如 *.bin* 和 *.h5* 视为大文件，git-lfs 会对其进行跟踪您无需进行必要的设置。")},l(r){i=Ro(r,"✏️ 从 web 界面创建存储库时，*.gitattributes* 文件会自动设置为将具有某些扩展名的文件，例如 *.bin* 和 *.h5* 视为大文件，git-lfs 会对其进行跟踪您无需进行必要的设置。")},m(r,s){n(r,i,s)},d(r){r&&l(i)}}}function sp(w){let i,r;return i=new U({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBWW91ciUyMGJyYW5jaCUyMGlzJTIwdXAlMjB0byUyMGRhdGUlMjB3aXRoJTIwJ29yaWdpbiUyRm1haW4nLiUwQSUwQUNoYW5nZXMlMjB0byUyMGJlJTIwY29tbWl0dGVkJTNBJTBBJTIwJTIwKHVzZSUyMCUyMmdpdCUyMHJlc3RvcmUlMjAtLXN0YWdlZCUyMCUzQ2ZpbGUlM0UuLi4lMjIlMjB0byUyMHVuc3RhZ2UpJTBBJTIwJTIwbW9kaWZpZWQlM0ElMjAlMjAlMjAuZ2l0YXR0cmlidXRlcyUwQSUyMCUyMCUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBjb25maWcuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0Zl9tb2RlbC5oNSUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXIuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`On branch main
Your branch is up to <span class="hljs-built_in">date</span> with <span class="hljs-string">&#x27;origin/main&#x27;</span>.

Changes to be committed:
  (use <span class="hljs-string">&quot;git restore --staged &lt;file&gt;...&quot;</span> to unstage)
  modified:   .gitattributes
  	new file:   config.json
	new file:   sentencepiece.bpe.model
	new file:   special_tokens_map.json
	new file:   tf_model.h5
	new file:   tokenizer.json
	new file:   tokenizer_config.json`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function op(w){let i,r;return i=new U({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBWW91ciUyMGJyYW5jaCUyMGlzJTIwdXAlMjB0byUyMGRhdGUlMjB3aXRoJTIwJ29yaWdpbiUyRm1haW4nLiUwQSUwQUNoYW5nZXMlMjB0byUyMGJlJTIwY29tbWl0dGVkJTNBJTBBJTIwJTIwKHVzZSUyMCUyMmdpdCUyMHJlc3RvcmUlMjAtLXN0YWdlZCUyMCUzQ2ZpbGUlM0UuLi4lMjIlMjB0byUyMHVuc3RhZ2UpJTBBJTIwJTIwbW9kaWZpZWQlM0ElMjAlMjAlMjAuZ2l0YXR0cmlidXRlcyUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBjb25maWcuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBweXRvcmNoX21vZGVsLmJpbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXIuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`On branch main
Your branch is up to <span class="hljs-built_in">date</span> with <span class="hljs-string">&#x27;origin/main&#x27;</span>.

Changes to be committed:
  (use <span class="hljs-string">&quot;git restore --staged &lt;file&gt;...&quot;</span> to unstage)
  modified:   .gitattributes
	new file:   config.json
	new file:   pytorch_model.bin
	new file:   sentencepiece.bpe.model
	new file:   special_tokens_map.json
	new file:   tokenizer.json
	new file:   tokenizer_config.json`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function pp(w){let i,r,s,M="我们可以看到所有文件都有 <strong>Git</strong> 作为处理程序，除了其中有 <strong>LFS</strong>的<em>t5_model.h5</em>。",T;return i=new U({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBT2JqZWN0cyUyMHRvJTIwYmUlMjBwdXNoZWQlMjB0byUyMG9yaWdpbiUyRm1haW4lM0ElMEElMEElMEFPYmplY3RzJTIwdG8lMjBiZSUyMGNvbW1pdHRlZCUzQSUwQSUwQSUwOWNvbmZpZy5qc29uJTIwKEdpdCUzQSUyMGJjMjBmZjIpJTBBJTA5c2VudGVuY2VwaWVjZS5icGUubW9kZWwlMjAoTEZTJTNBJTIwOTg4YmM1YSklMEElMDlzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUyMChHaXQlM0ElMjBjYjIzOTMxKSUwQSUwOXRmX21vZGVsLmg1JTIwKExGUyUzQSUyMDg2ZmNlMjkpJTBBJTA5dG9rZW5pemVyLmpzb24lMjAoR2l0JTNBJTIwODUxZmYzZSklMEElMDl0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAoR2l0JTNBJTIwZjBmNzc4MyklMEElMEFPYmplY3RzJTIwbm90JTIwc3RhZ2VkJTIwZm9yJTIwY29tbWl0JTNBJTBBJTBB",highlighted:`On branch main
Objects to be pushed to origin/main:


Objects to be committed:

	config.json (Git: bc20ff2)
	sentencepiece.bpe.model (LFS: 988bc5a)
	special_tokens_map.json (Git: cb23931)
	tf_model.h5 (LFS: 86fce29)
	tokenizer.json (Git: 851ff3e)
	tokenizer_config.json (Git: f0f7783)

Objects not staged <span class="hljs-keyword">for</span> commit:

`,wrap:!1}}),{c(){g(i.$$.fragment),r=o(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),r=p(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-11gvplq"&&(s.innerHTML=M)},m(u,$){_(i,u,$),n(u,r,$),n(u,s,$),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(r),l(s)),h(i,u)}}}function rp(w){let i,r,s,M="我们可以看到所有文件都有 <strong>Git</strong> 作为处理程序，除了其中有 <strong>LFS</strong>的<em>pytorch_model.bin</em> 和 <em>sentencepiece.bpe.model</em>。",T;return i=new U({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBT2JqZWN0cyUyMHRvJTIwYmUlMjBwdXNoZWQlMjB0byUyMG9yaWdpbiUyRm1haW4lM0ElMEElMEElMEFPYmplY3RzJTIwdG8lMjBiZSUyMGNvbW1pdHRlZCUzQSUwQSUwQSUwOWNvbmZpZy5qc29uJTIwKEdpdCUzQSUyMGJjMjBmZjIpJTBBJTA5cHl0b3JjaF9tb2RlbC5iaW4lMjAoTEZTJTNBJTIwMzU2ODZjMiklMEElMDlzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUyMChMRlMlM0ElMjA5ODhiYzVhKSUwQSUwOXNwZWNpYWxfdG9rZW5zX21hcC5qc29uJTIwKEdpdCUzQSUyMGNiMjM5MzEpJTBBJTA5dG9rZW5pemVyLmpzb24lMjAoR2l0JTNBJTIwODUxZmYzZSklMEElMDl0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAoR2l0JTNBJTIwZjBmNzc4MyklMEElMEFPYmplY3RzJTIwbm90JTIwc3RhZ2VkJTIwZm9yJTIwY29tbWl0JTNBJTBBJTBB",highlighted:`On branch main
Objects to be pushed to origin/main:


Objects to be committed:

	config.json (Git: bc20ff2)
	pytorch_model.bin (LFS: 35686c2)
	sentencepiece.bpe.model (LFS: 988bc5a)
	special_tokens_map.json (Git: cb23931)
	tokenizer.json (Git: 851ff3e)
	tokenizer_config.json (Git: f0f7783)

Objects not staged <span class="hljs-keyword">for</span> commit:

`,wrap:!1}}),{c(){g(i.$$.fragment),r=o(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),r=p(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-mqb0nq"&&(s.innerHTML=M)},m(u,$){_(i,u,$),n(u,r,$),n(u,s,$),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(r),l(s)),h(i,u)}}}function ap(w){let i,r;return i=new U({props:{code:"JTVCbWFpbiUyMGIwOGFhYjElNUQlMjBGaXJzdCUyMG1vZGVsJTIwdmVyc2lvbiUwQSUyMDYlMjBmaWxlcyUyMGNoYW5nZWQlMkMlMjAzNiUyMGluc2VydGlvbnMoJTJCKSUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBjb25maWcuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0Zl9tb2RlbC5oNSUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXIuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`[main b08aab1] First model version
 6 files changed, 36 insertions(+)
 create mode 100644 config.json
 create mode 100644 sentencepiece.bpe.model
 create mode 100644 special_tokens_map.json
 create mode 100644 tf_model.h5
 create mode 100644 tokenizer.json
 create mode 100644 tokenizer_config.json`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function mp(w){let i,r;return i=new U({props:{code:"JTVCbWFpbiUyMGIwOGFhYjElNUQlMjBGaXJzdCUyMG1vZGVsJTIwdmVyc2lvbiUwQSUyMDclMjBmaWxlcyUyMGNoYW5nZWQlMkMlMjAyOTAyNyUyMGluc2VydGlvbnMoJTJCKSUwQSUyMCUyMDYlMjBmaWxlcyUyMGNoYW5nZWQlMkMlMjAzNiUyMGluc2VydGlvbnMoJTJCKSUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBjb25maWcuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBweXRvcmNoX21vZGVsLmJpbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXIuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`[main b08aab1] First model version
 7 files changed, 29027 insertions(+)
  6 files changed, 36 insertions(+)
 create mode 100644 config.json
 create mode 100644 pytorch_model.bin
 create mode 100644 sentencepiece.bpe.model
 create mode 100644 special_tokens_map.json
 create mode 100644 tokenizer.json
 create mode 100644 tokenizer_config.json`,wrap:!1}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),r=!0},i(s){r||(b(i.$$.fragment,s),r=!0)},o(s){c(i.$$.fragment,s),r=!1},d(s){h(i,s)}}}function fp(w){let i,r="如果我们在完成后查看模型存储库，我们可以看到所有最近添加的文件：",s,M,T='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/full_model_tf.png" alt="The &#39;Files and versions&#39; tab now contains all the recently uploaded files." width="80%"/>',u,$,C="UI 允许您浏览模型文件和提交，并查看每个提交引入的差异：",j,v,Z='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/diffstf.gif" alt="The diff introduced by the recent commit." width="80%"/>';return{c(){i=a("p"),i.textContent=r,s=o(),M=a("div"),M.innerHTML=T,u=o(),$=a("p"),$.textContent=C,j=o(),v=a("div"),v.innerHTML=Z,this.h()},l(y){i=m(y,"P",{"data-svelte-h":!0}),f(i)!=="svelte-gqw9my"&&(i.textContent=r),s=p(y),M=m(y,"DIV",{class:!0,"data-svelte-h":!0}),f(M)!=="svelte-tz4fi2"&&(M.innerHTML=T),u=p(y),$=m(y,"P",{"data-svelte-h":!0}),f($)!=="svelte-10s6gj6"&&($.textContent=C),j=p(y),v=m(y,"DIV",{class:!0,"data-svelte-h":!0}),f(v)!=="svelte-2jd8bj"&&(v.innerHTML=Z),this.h()},h(){B(M,"class","flex justify-center"),B(v,"class","flex justify-center")},m(y,k){n(y,i,k),n(y,s,k),n(y,M,k),n(y,u,k),n(y,$,k),n(y,j,k),n(y,v,k)},d(y){y&&(l(i),l(s),l(M),l(u),l($),l(j),l(v))}}}function up(w){let i,r="If we take a look at the model repository when this is finished, we can see all the recently added files:",s,M,T='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/full_model.png" alt="The &#39;Files and versions&#39; tab now contains all the recently uploaded files." width="80%"/>',u,$,C="UI 允许您浏览模型文件和提交，并查看每个提交引入的差异：",j,v,Z='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/diffs.gif" alt="The diff introduced by the recent commit." width="80%"/>';return{c(){i=a("p"),i.textContent=r,s=o(),M=a("div"),M.innerHTML=T,u=o(),$=a("p"),$.textContent=C,j=o(),v=a("div"),v.innerHTML=Z,this.h()},l(y){i=m(y,"P",{"data-svelte-h":!0}),f(i)!=="svelte-dr5wot"&&(i.textContent=r),s=p(y),M=m(y,"DIV",{class:!0,"data-svelte-h":!0}),f(M)!=="svelte-1v39mjb"&&(M.innerHTML=T),u=p(y),$=m(y,"P",{"data-svelte-h":!0}),f($)!=="svelte-10s6gj6"&&($.textContent=C),j=p(y),v=m(y,"DIV",{class:!0,"data-svelte-h":!0}),f(v)!=="svelte-1g561m5"&&(v.innerHTML=Z),this.h()},h(){B(M,"class","flex justify-center"),B(v,"class","flex justify-center")},m(y,k){n(y,i,k),n(y,s,k),n(y,M,k),n(y,u,k),n(y,$,k),n(y,j,k),n(y,v,k)},d(y){y&&(l(i),l(s),l(M),l(u),l($),l(j),l(v))}}}function Mp(w){let i,r,s,M,T,u,$,C,j,v,Z,y,k="在下面的步骤中，我们将看看将预训练模型分享到 🤗 Hub 的最简单方法。有可用的工具和实用程序可以让直接在 Hub 上共享和更新模型变得简单，我们将在下面进行探讨。",D,G,at,x,J="我们鼓励所有训练模型的用户通过与社区共享来做出贡献——共享模型，即使是在非常特定的数据集上进行训练，也将帮助他人，节省他们的时间和计算资源，并提供对有用的训练工件的访问。反过来，您可以从其他人所做的工作中受益！",W,mt,zi="创建新模型存储库的方法有以下三种：",vl,ft,Yi="<li>使用 push_to_hub API 接口</li> <li>使用 huggingface_hub Python 库</li> <li>使用 web 界面</li>",Jl,ut,Ai="创建存储库后，您可以通过 git 和 git-lfs 将文件上传到其中。我们将在以下部分引导您创建模型存储库并将文件上传到它们",kl,Mt,Zl,I,H,bl,ct,Qi="将文件上传到集线器的最简单方法是利用 <strong>push_to_hub</strong> API 接口。",Cl,bt,Si='在继续之前，您需要生成一个身份验证令牌，以便 <strong>huggingface_hub</strong> API 知道您是谁以及您对哪些名称空间具有写入权限。确保你在一个环境中 <strong>transformers</strong> 已安装（见<a href="/course/chapter0">Setup</a>）。如果您在笔记本中，可以使用以下功能登录：',Gl,yt,Wl,gt,Fi="在终端中，您可以运行：",Bl,dt,xl,_t,Ei='在这两种情况下，系统都会提示您输入用户名和密码，这与您用于登录 Hub 的用户名和密码相同。如果您还没有 Hub 配置文件，则应该创建一个<a href="https://huggingface.co/join" rel="nofollow">here</a>。',Il,ht,Pi="好的！您现在已将身份验证令牌存储在缓存文件夹中。让我们创建一些存储库！",Hl,N,V,yl,wt,qi="在较低级别，可以通过模型、标记器和配置对象直接访问模型中心 <strong>push_to_hub()</strong> 方法。此方法负责创建存储库并将模型和标记器文件直接推送到存储库。与我们将在下面看到的 API 不同，不需要手动处理。",Nl,$t,Di="为了了解它是如何工作的，让我们首先初始化一个模型和一个标记器：",Vl,L,X,gl,Tt,Ki="你可以自由地用这些做任何你想做的事情——向标记器添加标记，训练模型，微调它。一旦您对生成的模型、权重和标记器感到满意，您就可以利用 <strong>push_to_hub()</strong> 方法直接在 <strong>model</strong> 中：",Ll,Ut,Xl,jt,Oi=`这将创建新的存储库 <strong>dummy-model</strong> 在您的个人资料中，并用您的模型文件填充它。
对标记器执行相同的操作，以便所有文件现在都可以在此存储库中使用：`,Rl,vt,zl,Jt,ts="如果您属于一个组织，只需指定 <strong>organization</strong> 上传到该组织的命名空间的参数：",Yl,kt,Al,Zt,es="如果您希望使用特定的 Hugging Face 令牌，您可以自由地将其指定给 <strong>push_to_hub()</strong> 方法也是：",Ql,Ct,Sl,Gt,ls='现在前往模型中心找到您新上传的模型：<em><a href="https://huggingface.co/user-or-organization/dummy-model" rel="nofollow">https://huggingface.co/user-or-organization/dummy-model</a></em>。',Fl,Wt,ns="单击“文件和版本”选项卡，您应该会在以下屏幕截图中看到可见的文件：",El,dl,lt,Pl,Bt,is='如您所见， <strong>push_to_hub()</strong> 方法接受多个参数，从而可以上传到特定的存储库或组织命名空间，或使用不同的 API 令牌。我们建议您查看直接在<a href="https://huggingface.co/transformers/model_sharing.html" rel="nofollow">🤗 Transformers documentation</a>了解什么是可能的',ql,xt,ss='这 <strong>push_to_hub()</strong> 方法由<a href="https://github.com/huggingface/huggingface_hub" rel="nofollow">huggingface_hub</a>Python 包，为 Hugging Face Hub 提供直接 API。它集成在 🤗 Transformers 和其他几个机器学习库中，例如<a href="https://github.com/allenai/allennlp" rel="nofollow">allenlp</a>.虽然我们在本章中专注于 🤗 Transformers 集成，但将其集成到您自己的代码或库中很简单。',Dl,It,os="跳到最后一部分，了解如何将文件上传到新创建的存储库！",Kl,Ht,Ol,Nt,ps=`这 <strong>huggingface_hub</strong> Python 库是一个包，它为模型和数据集中心提供了一组工具。它为常见任务提供了简单的方法和类，例如
获取有关集线器上存储库的信息并对其进行管理。它提供了在 git 之上工作的简单 API 来管理这些存储库的内容并集成 Hub
在您的项目和库中。`,tn,Vt,rs="类似于使用 <strong>push_to_hub</strong> API，这将要求您将 API 令牌保存在缓存中。为此，您需要使用 <strong>login</strong> 来自 CLI 的命令，如上一节所述（同样，确保在这些命令前面加上 <strong>!</strong> 字符（如果在 Google Colab 中运行）：",en,Lt,ln,Xt,as="这 <strong>huggingface_hub</strong> 包提供了几种对我们有用的方法和类。首先，有几种方法可以管理存储库的创建、删除等：",nn,Rt,sn,zt,ms="此外，它还提供了非常强大的 <strong>Repository</strong> 用于管理本地存储库的类。我们将在接下来的几节中探讨这些方法和该类，以了解如何利用它们。",on,Yt,fs="这 <strong>create_repo</strong> 方法可用于在集线器上创建新存储库：",pn,At,rn,Qt,us="这将创建存储库 <strong>dummy-model</strong> 在您的命名空间中。如果愿意，您可以使用 <strong>organization</strong> 争论：",an,St,mn,Ft,Ms=`这将创建 <strong>dummy-model</strong> 存储库中的 <strong>huggingface</strong> 命名空间，假设您属于该组织。
其他可能有用的参数是：`,fn,Et,cs="<li>private 以指定存储库是否应对其他人可见。</li> <li>token 如果您想用给定的令牌覆盖存储在缓存中的令牌。</li> <li>repo_type 如果你想创建一个或一个替代一个的而不是模型。接受的值和 datasetspace “dataset&quot;&quot;space”。</li>",un,Pt,bs="创建存储库后，我们应该向其中添加文件！跳到下一部分以查看可以处理此问题的三种方法。",Mn,qt,cn,Dt,ys="Web 界面提供了直接在 Hub 中管理存储库的工具。使用该界面，您可以轻松创建存储库、添加文件（甚至是大文件！）、探索模型、可视化差异等等。",bn,Kt,gs='要创建新的存储库，请访问<a href="https://huggingface.co/new" rel="nofollow">huggingface.co/new</a>：',yn,nt,ds='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/new_model.png" alt="Page showcasing the model used for the creation of a new model repository." width="80%"/>',gn,Ot,_s="首先，指定存储库的所有者：这可以是您或您所属的任何组织。如果您选择一个组织，该模型将出现在该组织的页面上，并且该组织的每个成员都可以为存储库做出贡献。",dn,te,hs="接下来，输入您的模型名称。这也将是存储库的名称。最后，您可以指定您的模型是公开的还是私有的。私人模特要求您拥有付费 Hugging Face 帐户，并允许您将模特隐藏在公众视野之外。",_n,ee,ws="创建模型存储库后，您应该看到如下页面：",hn,it,$s='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/empty_model.png" alt="An empty model page after creating a new repository." width="80%"/>',wn,le,Ts="这是您的模型将被托管的地方。要开始填充它，您可以直接从 Web 界面添加 README 文件。",$n,st,Us='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/dummy_model.png" alt="The README file showing the Markdown capabilities." width="80%"/>',Tn,ne,js="README 文件在 Markdown 中 - 随意使用它！本章的第三部分致力于构建模型卡。这些对于为您的模型带来价值至关重要，因为它们是您告诉其他人它可以做什么的地方。",Un,ie,vs="如果您查看“文件和版本”选项卡，您会发现那里还没有很多文件——只有自述文件你刚刚创建和.git 属性跟踪大文件的文件。",jn,ot,Js='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/files.png" alt="The &#39;Files and versions&#39; tab only shows the .gitattributes and README.md files." width="80%"/>',vn,se,ks="接下来我们将看看如何添加一些新文件。",Jn,oe,kn,pe,Zs='Hugging Face Hub 上的文件管理系统基于用于常规文件的 git 和 git-lfs（代表<a href="https://git-lfs.github.com/" rel="nofollow">Git Large File Storage</a>) 对于较大的文件。',Zn,re,Cs="在下一节中，我们将介绍将文件上传到 Hub 的三种不同方式：通过 <strong>huggingface_hub</strong> 并通过 git 命令。",Cn,ae,Gn,me,Gs=`使用 <strong>upload_file</strong> 不需要在您的系统上安装 git 和 git-lfs。它使用 HTTP POST 请求将文件直接推送到 🤗 Hub。这种方法的一个限制是它不能处理大于 5GB 的文件。
如果您的文件大于 5GB，请按照下面详述的另外两种方法进行操作。API 可以按如下方式使用：`,Wn,fe,Bn,ue,Ws=`这将上传文件 <strong>config.json</strong> 可在 <strong>path_to_file</strong> 到存储库的根目录 <strong>config.json</strong> , 到 <strong>dummy-model</strong> 存储库。
其他可能有用的参数是：`,xn,Me,Bs="<li>token，如果要通过给定的令牌覆盖缓存中存储的令牌。</li> <li>repo_type, 如果你想要上传一个 <code>dataset</code> 或一个 <code>space</code> 而不是模型。 接受的值为 <code>&quot;dataset&quot;</code> 和 <code>&quot;space&quot;</code>.</li>",In,ce,Hn,be,xs="以类似 git 的方式管理本地存储库。它抽象了 git 可能遇到的大部分痛点，以提供我们需要的所有功能。",Nn,ye,Is='使用这个类需要安装 git 和 git-lfs，所以确保你已经安装了 git-lfs（参见<a href="https://git-lfs.github.com/" rel="nofollow">here</a>安装说明）并在开始之前进行设置。',Vn,ge,Hs="为了开始使用我们刚刚创建的存储库，我们可以通过克隆远程存储库将其初始化到本地文件夹开始：",Ln,de,Xn,_e,Ns="这创建了文件夹 <strong>path_to_dummy_folder</strong> 在我们的工作目录中。该文件夹仅包含 <strong>.gitattributes</strong> 文件，因为这是通过实例化存储库时创建的唯一文件 <strong>create_repo</strong>。",Rn,he,Vs="从现在开始，我们可以利用几种传统的 git 方法：",zn,we,Yn,$e,Ls='另外！我们建议您查看 <strong>Repository</strong> 可用文件<a href="https://github.com/huggingface/huggingface_hub/tree/main/src/huggingface_hub#advanced-programmatic-repository-management" rel="nofollow">here</a>有关所有可用方法的概述。',An,Te,Xs="目前，我们有一个模型和一个标记器，我们希望将其推送到集线器。我们已经成功克隆了存储库，因此我们可以将文件保存在该存储库中。",Qn,Ue,Rs="我们首先通过拉取最新更改来确保我们的本地克隆是最新的：",Sn,je,Fn,ve,zs="完成后，我们保存模型和标记器文件：",En,Je,Pn,ke,Ys="这 <strong>path_to_dummy_folder</strong> 现在包含所有模型和标记器文件。我们遵循通常的 git 工作流程，将文件添加到暂存区，提交它们并将它们推送到集线器：",qn,Ze,Dn,Ce,As="恭喜！您刚刚将第一个文件推送到hub上。",Kn,Ge,On,We,Qs="这是上传文件的非常简单的方法：我们将直接使用 git 和 git-lfs 来完成。大多数困难都被以前的方法抽象掉了，但是下面的方法有一些警告，所以我们将遵循一个更复杂的用例。",ti,Be,Ss='使用这个类需要安装 git 和 git-lfs，所以请确保你有<a href="https://git-lfs.github.com/" rel="nofollow">git-lfs</a>安装（请参阅此处了解安装说明）并在开始之前进行设置。',ei,xe,Fs="首先从初始化 git-lfs 开始：",li,Ie,ni,He,ii,Ne,Es="完成后，第一步是克隆您的模型存储库：",si,Ve,oi,Le,Ps="我的用户名是 <strong>lysandre</strong> 我使用了模型名称 <strong>dummy</strong> ，所以对我来说，命令最终如下所示：",pi,Xe,ri,Re,qs="我现在有一个名为的文件夹假在我的工作目录中。我能 <strong>cd</strong> 进入文件夹并查看内容：",ai,ze,mi,Ye,fi,Ae,Ds="如果您刚刚使用 Hugging Face Hub 创建了您的存储库 <strong>create_repo</strong> 方法，这个文件夹应该只包含一个隐藏的 <strong>.gitattributes</strong> 文件。如果您按照上一节中的说明使用 Web 界面创建存储库，则该文件夹应包含一个自述文件文件旁边的隐藏 <strong>.gitattributes</strong> 文件，如图所示。",ui,Qe,Ks="添加一个常规大小的文件，例如配置文件、词汇文件，或者基本上任何几兆字节以下的文件，就像在任何基于 git 的系统中所做的一样。但是，更大的文件必须通过 git-lfs 注册才能将它们推送到拥抱脸。",Mi,Se,Os="让我们回到 Python 来生成我们想要提交到我们的虚拟存储库的模型和标记器：",ci,R,z,_l,Fe,to="现在我们已经保存了一些模型和标记器工件，让我们再看看假文件夹：",bi,Ee,yi,Y,A,hl,pt,gi,Pe,eo="我们现在可以继续进行，就像我们通常使用传统 Git 存储库一样。我们可以使用以下命令将所有文件添加到 Git 的暂存环境中 <strong>git add</strong> 命令：",di,qe,_i,De,lo="然后我们可以查看当前暂存的文件：",hi,Ke,wi,Q,S,wl,Oe,no="同样，我们可以确保 git-lfs 使用其跟踪正确的文件 <strong>status</strong> 命令：",$i,tl,Ti,F,E,$l,el,io="Let’s proceed to the final steps, committing and pushing to 让我们继续最后的步骤，提交并推动拥抱脸远程仓库：",Ui,ll,ji,P,q,Tl,nl,so="推送可能需要一些时间，具体取决于您的互联网连接速度和文件大小：",vi,il,Ji,sl,ki,Ul,jl,Zi;T=new zo({props:{fw:w[0]}}),$=new rt({props:{title:"共享预训练模型",local:"共享预训练模型",headingTag:"h1"}});const oo=[Ao,Yo],ol=[];function po(t,e){return t[0]==="pt"?0:1}j=po(w),v=ol[j]=oo[j](w),G=new Ri({props:{id:"9yY3RB_GSPM"}}),Mt=new rt({props:{title:"使用 push_to_hub API",local:"使用 push_to_hub API",headingTag:"h2"}});const ro=[So,Qo],pl=[];function ao(t,e){return t[0]==="pt"?0:1}I=ao(w),H=pl[I]=ro[I](w),yt=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login

notebook_login()`,wrap:!1}}),dt=new U({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}});const mo=[Eo,Fo],rl=[];function fo(t,e){return t[0]==="pt"?0:1}N=fo(w),V=rl[N]=mo[N](w);const uo=[qo,Po],al=[];function Mo(t,e){return t[0]==="pt"?0:1}L=Mo(w),X=al[L]=uo[L](w),Ut=new U({props:{code:"bW9kZWwucHVzaF90b19odWIoJTIyZHVtbXktbW9kZWwlMjIp",highlighted:'model.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>)',wrap:!1}}),vt=new U({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyKQ==",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>)',wrap:!1}}),kt=new U({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyJTJDJTIwb3JnYW5pemF0aW9uJTNEJTIyaHVnZ2luZ2ZhY2UlMjIp",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>, organization=<span class="hljs-string">&quot;huggingface&quot;</span>)',wrap:!1}}),Ct=new U({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyJTJDJTIwb3JnYW5pemF0aW9uJTNEJTIyaHVnZ2luZ2ZhY2UlMjIlMkMlMjB1c2VfYXV0aF90b2tlbiUzRCUyMiUzQ1RPS0VOJTNFJTIyKQ==",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>, organization=<span class="hljs-string">&quot;huggingface&quot;</span>, use_auth_token=<span class="hljs-string">&quot;&lt;TOKEN&gt;&quot;</span>)',wrap:!1}});function co(t,e){return t[0]==="pt"?Ko:Do}let Ci=co(w),K=Ci(w);lt=new Go({props:{$$slots:{default:[Oo]},$$scope:{ctx:w}}}),Ht=new rt({props:{title:"使用 huggingface_hub python库",local:"使用 huggingface_hub python库",headingTag:"h2"}}),Lt=new U({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),Rt=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMCglMEElMjAlMjAlMjAlMjAlMjMlMjBVc2VyJTIwbWFuYWdlbWVudCUwQSUyMCUyMCUyMCUyMGxvZ2luJTJDJTBBJTIwJTIwJTIwJTIwbG9nb3V0JTJDJTBBJTIwJTIwJTIwJTIwd2hvYW1pJTJDJTBBJTBBJTIwJTIwJTIwJTIwJTIzJTIwUmVwb3NpdG9yeSUyMGNyZWF0aW9uJTIwYW5kJTIwbWFuYWdlbWVudCUwQSUyMCUyMCUyMCUyMGNyZWF0ZV9yZXBvJTJDJTBBJTIwJTIwJTIwJTIwZGVsZXRlX3JlcG8lMkMlMEElMjAlMjAlMjAlMjB1cGRhdGVfcmVwb192aXNpYmlsaXR5JTJDJTBBJTBBJTIwJTIwJTIwJTIwJTIzJTIwQW5kJTIwc29tZSUyMG1ldGhvZHMlMjB0byUyMHJldHJpZXZlJTJGY2hhbmdlJTIwaW5mb3JtYXRpb24lMjBhYm91dCUyMHRoZSUyMGNvbnRlbnQlMEElMjAlMjAlMjAlMjBsaXN0X21vZGVscyUyQyUwQSUyMCUyMCUyMCUyMGxpc3RfZGF0YXNldHMlMkMlMEElMjAlMjAlMjAlMjBsaXN0X21ldHJpY3MlMkMlMEElMjAlMjAlMjAlMjBsaXN0X3JlcG9fZmlsZXMlMkMlMEElMjAlMjAlMjAlMjB1cGxvYWRfZmlsZSUyQyUwQSUyMCUyMCUyMCUyMGRlbGV0ZV9maWxlJTJDJTBBKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> (
    <span class="hljs-comment"># User management</span>
    login,
    logout,
    whoami,

    <span class="hljs-comment"># Repository creation and management</span>
    create_repo,
    delete_repo,
    update_repo_visibility,

    <span class="hljs-comment"># And some methods to retrieve/change information about the content</span>
    list_models,
    list_datasets,
    list_metrics,
    list_repo_files,
    upload_file,
    delete_file,
)`,wrap:!1}}),At=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGNyZWF0ZV9yZXBvJTBBJTBBY3JlYXRlX3JlcG8oJTIyZHVtbXktbW9kZWwlMjIp",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_repo

create_repo(<span class="hljs-string">&quot;dummy-model&quot;</span>)`,wrap:!1}}),St=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGNyZWF0ZV9yZXBvJTBBJTBBY3JlYXRlX3JlcG8oJTIyZHVtbXktbW9kZWwlMjIlMkMlMjBvcmdhbml6YXRpb24lM0QlMjJodWdnaW5nZmFjZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_repo

create_repo(<span class="hljs-string">&quot;dummy-model&quot;</span>, organization=<span class="hljs-string">&quot;huggingface&quot;</span>)`,wrap:!1}}),qt=new rt({props:{title:"使用网络界面",local:"使用网络界面",headingTag:"h2"}}),oe=new rt({props:{title:"上传模型文件",local:"上传模型文件",headingTag:"h2"}}),ae=new rt({props:{title:"The upload_file approach",local:"The upload_file approach",headingTag:"h3"}}),fe=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMHVwbG9hZF9maWxlJTBBJTBBdXBsb2FkX2ZpbGUoJTBBJTIwJTIwJTIwJTIwJTIyJTNDcGF0aF90b19maWxlJTNFJTJGY29uZmlnLmpzb24lMjIlMkMlMEElMjAlMjAlMjAlMjBwYXRoX2luX3JlcG8lM0QlMjJjb25maWcuanNvbiUyMiUyQyUwQSUyMCUyMCUyMCUyMHJlcG9faWQlM0QlMjIlM0NuYW1lc3BhY2UlM0UlMkZkdW1teS1tb2RlbCUyMiUyQyUwQSk=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> upload_file

upload_file(
    <span class="hljs-string">&quot;&lt;path_to_file&gt;/config.json&quot;</span>,
    path_in_repo=<span class="hljs-string">&quot;config.json&quot;</span>,
    repo_id=<span class="hljs-string">&quot;&lt;namespace&gt;/dummy-model&quot;</span>,
)`,wrap:!1}}),ce=new rt({props:{title:"The Repository class",local:"The Repository class",headingTag:"h3"}}),de=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMFJlcG9zaXRvcnklMEElMEFyZXBvJTIwJTNEJTIwUmVwb3NpdG9yeSglMjIlM0NwYXRoX3RvX2R1bW15X2ZvbGRlciUzRSUyMiUyQyUyMGNsb25lX2Zyb20lM0QlMjIlM0NuYW1lc3BhY2UlM0UlMkZkdW1teS1tb2RlbCUyMik=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> Repository

repo = Repository(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>, clone_from=<span class="hljs-string">&quot;&lt;namespace&gt;/dummy-model&quot;</span>)`,wrap:!1}}),we=new U({props:{code:"cmVwby5naXRfcHVsbCgpJTBBcmVwby5naXRfYWRkKCklMEFyZXBvLmdpdF9jb21taXQoKSUwQXJlcG8uZ2l0X3B1c2goKSUwQXJlcG8uZ2l0X3RhZygp",highlighted:`repo.git_pull()
repo.git_add()
repo.git_commit()
repo.git_push()
repo.git_tag()`,wrap:!1}}),je=new U({props:{code:"cmVwby5naXRfcHVsbCgp",highlighted:"repo.git_pull()",wrap:!1}}),Je=new U({props:{code:"bW9kZWwuc2F2ZV9wcmV0cmFpbmVkKCUyMiUzQ3BhdGhfdG9fZHVtbXlfZm9sZGVyJTNFJTIyKSUwQXRva2VuaXplci5zYXZlX3ByZXRyYWluZWQoJTIyJTNDcGF0aF90b19kdW1teV9mb2xkZXIlM0UlMjIp",highlighted:`model.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)`,wrap:!1}}),Ze=new U({props:{code:"cmVwby5naXRfYWRkKCklMEFyZXBvLmdpdF9jb21taXQoJTIyQWRkJTIwbW9kZWwlMjBhbmQlMjB0b2tlbml6ZXIlMjBmaWxlcyUyMiklMEFyZXBvLmdpdF9wdXNoKCk=",highlighted:`repo.git_add()
repo.git_commit(<span class="hljs-string">&quot;Add model and tokenizer files&quot;</span>)
repo.git_push()`,wrap:!1}}),Ge=new rt({props:{title:"The git-based approach",local:"The git-based approach",headingTag:"h3"}}),Ie=new U({props:{code:"Z2l0JTIwbGZzJTIwaW5zdGFsbA==",highlighted:"git lfs install",wrap:!1}}),He=new U({props:{code:"VXBkYXRlZCUyMGdpdCUyMGhvb2tzLiUwQUdpdCUyMExGUyUyMGluaXRpYWxpemVkLg==",highlighted:`Updated git hooks.
Git LFS initialized.`,wrap:!1}}),Ve=new U({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGJTNDbmFtZXNwYWNlJTNFJTJGJTNDeW91ci1tb2RlbC1pZCUzRQ==",highlighted:'git <span class="hljs-built_in">clone</span> https://huggingface.co/&lt;namespace&gt;/&lt;your-model-id&gt;',wrap:!1}}),Xe=new U({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbHlzYW5kcmUlMkZkdW1teQ==",highlighted:'git clone https:<span class="hljs-regexp">//</span>huggingface.co<span class="hljs-regexp">/lysandre/</span>dummy',wrap:!1}}),ze=new U({props:{code:"Y2QlMjBkdW1teSUyMCUyNiUyNiUyMGxz",highlighted:'<span class="hljs-built_in">cd</span> dummy &amp;&amp; <span class="hljs-built_in">ls</span>',wrap:!1}}),Ye=new U({props:{code:"UkVBRE1FLm1k",highlighted:"README.md",wrap:!1}});const bo=[ep,tp],ml=[];function yo(t,e){return t[0]==="pt"?0:1}R=yo(w),z=ml[R]=bo[R](w),Ee=new U({props:{code:"bHM=",highlighted:'<span class="hljs-built_in">ls</span>',wrap:!1}});const go=[np,lp],fl=[];function _o(t,e){return t[0]==="pt"?0:1}Y=_o(w),A=fl[Y]=go[Y](w),pt=new Go({props:{$$slots:{default:[ip]},$$scope:{ctx:w}}}),qe=new U({props:{code:"Z2l0JTIwYWRkJTIwLg==",highlighted:"git add .",wrap:!1}}),Ke=new U({props:{code:"Z2l0JTIwc3RhdHVz",highlighted:"git status",wrap:!1}});const ho=[op,sp],ul=[];function wo(t,e){return t[0]==="pt"?0:1}Q=wo(w),S=ul[Q]=ho[Q](w),tl=new U({props:{code:"Z2l0JTIwbGZzJTIwc3RhdHVz",highlighted:"git lfs status",wrap:!1}});const $o=[rp,pp],Ml=[];function To(t,e){return t[0]==="pt"?0:1}F=To(w),E=Ml[F]=$o[F](w),ll=new U({props:{code:"Z2l0JTIwY29tbWl0JTIwLW0lMjAlMjJGaXJzdCUyMG1vZGVsJTIwdmVyc2lvbiUyMg==",highlighted:'git commit -m <span class="hljs-string">&quot;First model version&quot;</span>',wrap:!1}});const Uo=[mp,ap],cl=[];function jo(t,e){return t[0]==="pt"?0:1}P=jo(w),q=cl[P]=Uo[P](w),il=new U({props:{code:"Z2l0JTIwcHVzaA==",highlighted:"git push",wrap:!1}}),sl=new U({props:{code:"VXBsb2FkaW5nJTIwTEZTJTIwb2JqZWN0cyUzQSUyMDEwMCUyNSUyMCgxJTJGMSklMkMlMjA0MzMlMjBNQiUyMCU3QyUyMDEuMyUyME1CJTJGcyUyQyUyMGRvbmUuJTBBRW51bWVyYXRpbmclMjBvYmplY3RzJTNBJTIwMTElMkMlMjBkb25lLiUwQUNvdW50aW5nJTIwb2JqZWN0cyUzQSUyMDEwMCUyNSUyMCgxMSUyRjExKSUyQyUyMGRvbmUuJTBBRGVsdGElMjBjb21wcmVzc2lvbiUyMHVzaW5nJTIwdXAlMjB0byUyMDEyJTIwdGhyZWFkcyUwQUNvbXByZXNzaW5nJTIwb2JqZWN0cyUzQSUyMDEwMCUyNSUyMCg5JTJGOSklMkMlMjBkb25lLiUwQVdyaXRpbmclMjBvYmplY3RzJTNBJTIwMTAwJTI1JTIwKDklMkY5KSUyQyUyMDI4OC4yNyUyMEtpQiUyMCU3QyUyMDYuMjclMjBNaUIlMkZzJTJDJTIwZG9uZS4lMEFUb3RhbCUyMDklMjAoZGVsdGElMjAxKSUyQyUyMHJldXNlZCUyMDAlMjAoZGVsdGElMjAwKSUyQyUyMHBhY2stcmV1c2VkJTIwMCUwQVRvJTIwaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmx5c2FuZHJlJTJGZHVtbXklMEElMjAlMjAlMjA4OTFiNDFkLi5iMDhhYWIxJTIwJTIwbWFpbiUyMC0lM0UlMjBtYWlu",highlighted:`Uploading LFS objects: 100% (1/1), 433 MB | 1.3 MB/s, <span class="hljs-keyword">done</span>.
Enumerating objects: 11, <span class="hljs-keyword">done</span>.
Counting objects: 100% (11/11), <span class="hljs-keyword">done</span>.
Delta compression using up to 12 threads
Compressing objects: 100% (9/9), <span class="hljs-keyword">done</span>.
Writing objects: 100% (9/9), 288.27 KiB | 6.27 MiB/s, <span class="hljs-keyword">done</span>.
Total 9 (delta 1), reused 0 (delta 0), pack-reused 0
To https://huggingface.co/lysandre/dummy
   891b41d..b08aab1  main -&gt; main`,wrap:!1}});function vo(t,e){return t[0]==="pt"?up:fp}let Gi=vo(w),O=Gi(w);return{c(){i=a("meta"),r=o(),s=a("p"),M=o(),g(T.$$.fragment),u=o(),g($.$$.fragment),C=o(),v.c(),Z=o(),y=a("p"),y.textContent=k,D=o(),g(G.$$.fragment),at=o(),x=a("p"),x.textContent=J,W=o(),mt=a("p"),mt.textContent=zi,vl=o(),ft=a("ul"),ft.innerHTML=Yi,Jl=o(),ut=a("p"),ut.textContent=Ai,kl=o(),g(Mt.$$.fragment),Zl=o(),H.c(),bl=o(),ct=a("p"),ct.innerHTML=Qi,Cl=o(),bt=a("p"),bt.innerHTML=Si,Gl=o(),g(yt.$$.fragment),Wl=o(),gt=a("p"),gt.textContent=Fi,Bl=o(),g(dt.$$.fragment),xl=o(),_t=a("p"),_t.innerHTML=Ei,Il=o(),ht=a("p"),ht.textContent=Pi,Hl=o(),V.c(),yl=o(),wt=a("p"),wt.innerHTML=qi,Nl=o(),$t=a("p"),$t.textContent=Di,Vl=o(),X.c(),gl=o(),Tt=a("p"),Tt.innerHTML=Ki,Ll=o(),g(Ut.$$.fragment),Xl=o(),jt=a("p"),jt.innerHTML=Oi,Rl=o(),g(vt.$$.fragment),zl=o(),Jt=a("p"),Jt.innerHTML=ts,Yl=o(),g(kt.$$.fragment),Al=o(),Zt=a("p"),Zt.innerHTML=es,Ql=o(),g(Ct.$$.fragment),Sl=o(),Gt=a("p"),Gt.innerHTML=ls,Fl=o(),Wt=a("p"),Wt.textContent=ns,El=o(),K.c(),dl=o(),g(lt.$$.fragment),Pl=o(),Bt=a("p"),Bt.innerHTML=is,ql=o(),xt=a("p"),xt.innerHTML=ss,Dl=o(),It=a("p"),It.textContent=os,Kl=o(),g(Ht.$$.fragment),Ol=o(),Nt=a("p"),Nt.innerHTML=ps,tn=o(),Vt=a("p"),Vt.innerHTML=rs,en=o(),g(Lt.$$.fragment),ln=o(),Xt=a("p"),Xt.innerHTML=as,nn=o(),g(Rt.$$.fragment),sn=o(),zt=a("p"),zt.innerHTML=ms,on=o(),Yt=a("p"),Yt.innerHTML=fs,pn=o(),g(At.$$.fragment),rn=o(),Qt=a("p"),Qt.innerHTML=us,an=o(),g(St.$$.fragment),mn=o(),Ft=a("p"),Ft.innerHTML=Ms,fn=o(),Et=a("ul"),Et.innerHTML=cs,un=o(),Pt=a("p"),Pt.textContent=bs,Mn=o(),g(qt.$$.fragment),cn=o(),Dt=a("p"),Dt.textContent=ys,bn=o(),Kt=a("p"),Kt.innerHTML=gs,yn=o(),nt=a("div"),nt.innerHTML=ds,gn=o(),Ot=a("p"),Ot.textContent=_s,dn=o(),te=a("p"),te.textContent=hs,_n=o(),ee=a("p"),ee.textContent=ws,hn=o(),it=a("div"),it.innerHTML=$s,wn=o(),le=a("p"),le.textContent=Ts,$n=o(),st=a("div"),st.innerHTML=Us,Tn=o(),ne=a("p"),ne.textContent=js,Un=o(),ie=a("p"),ie.textContent=vs,jn=o(),ot=a("div"),ot.innerHTML=Js,vn=o(),se=a("p"),se.textContent=ks,Jn=o(),g(oe.$$.fragment),kn=o(),pe=a("p"),pe.innerHTML=Zs,Zn=o(),re=a("p"),re.innerHTML=Cs,Cn=o(),g(ae.$$.fragment),Gn=o(),me=a("p"),me.innerHTML=Gs,Wn=o(),g(fe.$$.fragment),Bn=o(),ue=a("p"),ue.innerHTML=Ws,xn=o(),Me=a("ul"),Me.innerHTML=Bs,In=o(),g(ce.$$.fragment),Hn=o(),be=a("p"),be.textContent=xs,Nn=o(),ye=a("p"),ye.innerHTML=Is,Vn=o(),ge=a("p"),ge.textContent=Hs,Ln=o(),g(de.$$.fragment),Xn=o(),_e=a("p"),_e.innerHTML=Ns,Rn=o(),he=a("p"),he.textContent=Vs,zn=o(),g(we.$$.fragment),Yn=o(),$e=a("p"),$e.innerHTML=Ls,An=o(),Te=a("p"),Te.textContent=Xs,Qn=o(),Ue=a("p"),Ue.textContent=Rs,Sn=o(),g(je.$$.fragment),Fn=o(),ve=a("p"),ve.textContent=zs,En=o(),g(Je.$$.fragment),Pn=o(),ke=a("p"),ke.innerHTML=Ys,qn=o(),g(Ze.$$.fragment),Dn=o(),Ce=a("p"),Ce.textContent=As,Kn=o(),g(Ge.$$.fragment),On=o(),We=a("p"),We.textContent=Qs,ti=o(),Be=a("p"),Be.innerHTML=Ss,ei=o(),xe=a("p"),xe.textContent=Fs,li=o(),g(Ie.$$.fragment),ni=o(),g(He.$$.fragment),ii=o(),Ne=a("p"),Ne.textContent=Es,si=o(),g(Ve.$$.fragment),oi=o(),Le=a("p"),Le.innerHTML=Ps,pi=o(),g(Xe.$$.fragment),ri=o(),Re=a("p"),Re.innerHTML=qs,ai=o(),g(ze.$$.fragment),mi=o(),g(Ye.$$.fragment),fi=o(),Ae=a("p"),Ae.innerHTML=Ds,ui=o(),Qe=a("p"),Qe.textContent=Ks,Mi=o(),Se=a("p"),Se.textContent=Os,ci=o(),z.c(),_l=o(),Fe=a("p"),Fe.textContent=to,bi=o(),g(Ee.$$.fragment),yi=o(),A.c(),hl=o(),g(pt.$$.fragment),gi=o(),Pe=a("p"),Pe.innerHTML=eo,di=o(),g(qe.$$.fragment),_i=o(),De=a("p"),De.textContent=lo,hi=o(),g(Ke.$$.fragment),wi=o(),S.c(),wl=o(),Oe=a("p"),Oe.innerHTML=no,$i=o(),g(tl.$$.fragment),Ti=o(),E.c(),$l=o(),el=a("p"),el.textContent=io,Ui=o(),g(ll.$$.fragment),ji=o(),q.c(),Tl=o(),nl=a("p"),nl.textContent=so,vi=o(),g(il.$$.fragment),Ji=o(),g(sl.$$.fragment),ki=o(),O.c(),Ul=o(),jl=a("p"),this.h()},l(t){const e=Vo("svelte-u9bgzb",document.head);i=m(e,"META",{name:!0,content:!0}),e.forEach(l),r=p(t),s=m(t,"P",{}),Co(s).forEach(l),M=p(t),d(T.$$.fragment,t),u=p(t),d($.$$.fragment,t),C=p(t),v.l(t),Z=p(t),y=m(t,"P",{"data-svelte-h":!0}),f(y)!=="svelte-uedn6s"&&(y.textContent=k),D=p(t),d(G.$$.fragment,t),at=p(t),x=m(t,"P",{"data-svelte-h":!0}),f(x)!=="svelte-1i1mz3e"&&(x.textContent=J),W=p(t),mt=m(t,"P",{"data-svelte-h":!0}),f(mt)!=="svelte-11xgg4v"&&(mt.textContent=zi),vl=p(t),ft=m(t,"UL",{"data-svelte-h":!0}),f(ft)!=="svelte-15hgveb"&&(ft.innerHTML=Yi),Jl=p(t),ut=m(t,"P",{"data-svelte-h":!0}),f(ut)!=="svelte-16qbywn"&&(ut.textContent=Ai),kl=p(t),d(Mt.$$.fragment,t),Zl=p(t),H.l(t),bl=p(t),ct=m(t,"P",{"data-svelte-h":!0}),f(ct)!=="svelte-1jm1jlk"&&(ct.innerHTML=Qi),Cl=p(t),bt=m(t,"P",{"data-svelte-h":!0}),f(bt)!=="svelte-65eb94"&&(bt.innerHTML=Si),Gl=p(t),d(yt.$$.fragment,t),Wl=p(t),gt=m(t,"P",{"data-svelte-h":!0}),f(gt)!=="svelte-ap6nny"&&(gt.textContent=Fi),Bl=p(t),d(dt.$$.fragment,t),xl=p(t),_t=m(t,"P",{"data-svelte-h":!0}),f(_t)!=="svelte-l34r9z"&&(_t.innerHTML=Ei),Il=p(t),ht=m(t,"P",{"data-svelte-h":!0}),f(ht)!=="svelte-8o13vx"&&(ht.textContent=Pi),Hl=p(t),V.l(t),yl=p(t),wt=m(t,"P",{"data-svelte-h":!0}),f(wt)!=="svelte-1brlv9f"&&(wt.innerHTML=qi),Nl=p(t),$t=m(t,"P",{"data-svelte-h":!0}),f($t)!=="svelte-oca0go"&&($t.textContent=Di),Vl=p(t),X.l(t),gl=p(t),Tt=m(t,"P",{"data-svelte-h":!0}),f(Tt)!=="svelte-12unbhp"&&(Tt.innerHTML=Ki),Ll=p(t),d(Ut.$$.fragment,t),Xl=p(t),jt=m(t,"P",{"data-svelte-h":!0}),f(jt)!=="svelte-1usb0r8"&&(jt.innerHTML=Oi),Rl=p(t),d(vt.$$.fragment,t),zl=p(t),Jt=m(t,"P",{"data-svelte-h":!0}),f(Jt)!=="svelte-1rtd6n4"&&(Jt.innerHTML=ts),Yl=p(t),d(kt.$$.fragment,t),Al=p(t),Zt=m(t,"P",{"data-svelte-h":!0}),f(Zt)!=="svelte-16e6xc4"&&(Zt.innerHTML=es),Ql=p(t),d(Ct.$$.fragment,t),Sl=p(t),Gt=m(t,"P",{"data-svelte-h":!0}),f(Gt)!=="svelte-10cs0wt"&&(Gt.innerHTML=ls),Fl=p(t),Wt=m(t,"P",{"data-svelte-h":!0}),f(Wt)!=="svelte-lgm7vb"&&(Wt.textContent=ns),El=p(t),K.l(t),dl=p(t),d(lt.$$.fragment,t),Pl=p(t),Bt=m(t,"P",{"data-svelte-h":!0}),f(Bt)!=="svelte-af0s5c"&&(Bt.innerHTML=is),ql=p(t),xt=m(t,"P",{"data-svelte-h":!0}),f(xt)!=="svelte-x9vxlm"&&(xt.innerHTML=ss),Dl=p(t),It=m(t,"P",{"data-svelte-h":!0}),f(It)!=="svelte-12dsrr"&&(It.textContent=os),Kl=p(t),d(Ht.$$.fragment,t),Ol=p(t),Nt=m(t,"P",{"data-svelte-h":!0}),f(Nt)!=="svelte-1v5tq5p"&&(Nt.innerHTML=ps),tn=p(t),Vt=m(t,"P",{"data-svelte-h":!0}),f(Vt)!=="svelte-1qlljsp"&&(Vt.innerHTML=rs),en=p(t),d(Lt.$$.fragment,t),ln=p(t),Xt=m(t,"P",{"data-svelte-h":!0}),f(Xt)!=="svelte-1bu2050"&&(Xt.innerHTML=as),nn=p(t),d(Rt.$$.fragment,t),sn=p(t),zt=m(t,"P",{"data-svelte-h":!0}),f(zt)!=="svelte-pbh5th"&&(zt.innerHTML=ms),on=p(t),Yt=m(t,"P",{"data-svelte-h":!0}),f(Yt)!=="svelte-wyo4jn"&&(Yt.innerHTML=fs),pn=p(t),d(At.$$.fragment,t),rn=p(t),Qt=m(t,"P",{"data-svelte-h":!0}),f(Qt)!=="svelte-n9ni8f"&&(Qt.innerHTML=us),an=p(t),d(St.$$.fragment,t),mn=p(t),Ft=m(t,"P",{"data-svelte-h":!0}),f(Ft)!=="svelte-1or3v7z"&&(Ft.innerHTML=Ms),fn=p(t),Et=m(t,"UL",{"data-svelte-h":!0}),f(Et)!=="svelte-18dcf9u"&&(Et.innerHTML=cs),un=p(t),Pt=m(t,"P",{"data-svelte-h":!0}),f(Pt)!=="svelte-5xbs8o"&&(Pt.textContent=bs),Mn=p(t),d(qt.$$.fragment,t),cn=p(t),Dt=m(t,"P",{"data-svelte-h":!0}),f(Dt)!=="svelte-1nl9ki9"&&(Dt.textContent=ys),bn=p(t),Kt=m(t,"P",{"data-svelte-h":!0}),f(Kt)!=="svelte-8zk8gj"&&(Kt.innerHTML=gs),yn=p(t),nt=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(nt)!=="svelte-4qsgxt"&&(nt.innerHTML=ds),gn=p(t),Ot=m(t,"P",{"data-svelte-h":!0}),f(Ot)!=="svelte-1sxrh5u"&&(Ot.textContent=_s),dn=p(t),te=m(t,"P",{"data-svelte-h":!0}),f(te)!=="svelte-1exxzig"&&(te.textContent=hs),_n=p(t),ee=m(t,"P",{"data-svelte-h":!0}),f(ee)!=="svelte-aiobqq"&&(ee.textContent=ws),hn=p(t),it=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(it)!=="svelte-1xh6nig"&&(it.innerHTML=$s),wn=p(t),le=m(t,"P",{"data-svelte-h":!0}),f(le)!=="svelte-7xwdy9"&&(le.textContent=Ts),$n=p(t),st=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(st)!=="svelte-1jm8l0p"&&(st.innerHTML=Us),Tn=p(t),ne=m(t,"P",{"data-svelte-h":!0}),f(ne)!=="svelte-nf455w"&&(ne.textContent=js),Un=p(t),ie=m(t,"P",{"data-svelte-h":!0}),f(ie)!=="svelte-ic0b2s"&&(ie.textContent=vs),jn=p(t),ot=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(ot)!=="svelte-1kuf5jc"&&(ot.innerHTML=Js),vn=p(t),se=m(t,"P",{"data-svelte-h":!0}),f(se)!=="svelte-9eohe8"&&(se.textContent=ks),Jn=p(t),d(oe.$$.fragment,t),kn=p(t),pe=m(t,"P",{"data-svelte-h":!0}),f(pe)!=="svelte-1xq3px7"&&(pe.innerHTML=Zs),Zn=p(t),re=m(t,"P",{"data-svelte-h":!0}),f(re)!=="svelte-lo0r6"&&(re.innerHTML=Cs),Cn=p(t),d(ae.$$.fragment,t),Gn=p(t),me=m(t,"P",{"data-svelte-h":!0}),f(me)!=="svelte-arf1e0"&&(me.innerHTML=Gs),Wn=p(t),d(fe.$$.fragment,t),Bn=p(t),ue=m(t,"P",{"data-svelte-h":!0}),f(ue)!=="svelte-vhzls9"&&(ue.innerHTML=Ws),xn=p(t),Me=m(t,"UL",{"data-svelte-h":!0}),f(Me)!=="svelte-1j6kxx7"&&(Me.innerHTML=Bs),In=p(t),d(ce.$$.fragment,t),Hn=p(t),be=m(t,"P",{"data-svelte-h":!0}),f(be)!=="svelte-1th33ic"&&(be.textContent=xs),Nn=p(t),ye=m(t,"P",{"data-svelte-h":!0}),f(ye)!=="svelte-i0io8w"&&(ye.innerHTML=Is),Vn=p(t),ge=m(t,"P",{"data-svelte-h":!0}),f(ge)!=="svelte-14olayt"&&(ge.textContent=Hs),Ln=p(t),d(de.$$.fragment,t),Xn=p(t),_e=m(t,"P",{"data-svelte-h":!0}),f(_e)!=="svelte-1qawur7"&&(_e.innerHTML=Ns),Rn=p(t),he=m(t,"P",{"data-svelte-h":!0}),f(he)!=="svelte-18k4sjh"&&(he.textContent=Vs),zn=p(t),d(we.$$.fragment,t),Yn=p(t),$e=m(t,"P",{"data-svelte-h":!0}),f($e)!=="svelte-108rz71"&&($e.innerHTML=Ls),An=p(t),Te=m(t,"P",{"data-svelte-h":!0}),f(Te)!=="svelte-hctecf"&&(Te.textContent=Xs),Qn=p(t),Ue=m(t,"P",{"data-svelte-h":!0}),f(Ue)!=="svelte-4lm8kn"&&(Ue.textContent=Rs),Sn=p(t),d(je.$$.fragment,t),Fn=p(t),ve=m(t,"P",{"data-svelte-h":!0}),f(ve)!=="svelte-18mc4u0"&&(ve.textContent=zs),En=p(t),d(Je.$$.fragment,t),Pn=p(t),ke=m(t,"P",{"data-svelte-h":!0}),f(ke)!=="svelte-wfanct"&&(ke.innerHTML=Ys),qn=p(t),d(Ze.$$.fragment,t),Dn=p(t),Ce=m(t,"P",{"data-svelte-h":!0}),f(Ce)!=="svelte-3ejtkv"&&(Ce.textContent=As),Kn=p(t),d(Ge.$$.fragment,t),On=p(t),We=m(t,"P",{"data-svelte-h":!0}),f(We)!=="svelte-rtuksj"&&(We.textContent=Qs),ti=p(t),Be=m(t,"P",{"data-svelte-h":!0}),f(Be)!=="svelte-138m7al"&&(Be.innerHTML=Ss),ei=p(t),xe=m(t,"P",{"data-svelte-h":!0}),f(xe)!=="svelte-1bmvw3z"&&(xe.textContent=Fs),li=p(t),d(Ie.$$.fragment,t),ni=p(t),d(He.$$.fragment,t),ii=p(t),Ne=m(t,"P",{"data-svelte-h":!0}),f(Ne)!=="svelte-ym7npa"&&(Ne.textContent=Es),si=p(t),d(Ve.$$.fragment,t),oi=p(t),Le=m(t,"P",{"data-svelte-h":!0}),f(Le)!=="svelte-1oogny7"&&(Le.innerHTML=Ps),pi=p(t),d(Xe.$$.fragment,t),ri=p(t),Re=m(t,"P",{"data-svelte-h":!0}),f(Re)!=="svelte-2gl6gi"&&(Re.innerHTML=qs),ai=p(t),d(ze.$$.fragment,t),mi=p(t),d(Ye.$$.fragment,t),fi=p(t),Ae=m(t,"P",{"data-svelte-h":!0}),f(Ae)!=="svelte-cb4egu"&&(Ae.innerHTML=Ds),ui=p(t),Qe=m(t,"P",{"data-svelte-h":!0}),f(Qe)!=="svelte-1l9ho9a"&&(Qe.textContent=Ks),Mi=p(t),Se=m(t,"P",{"data-svelte-h":!0}),f(Se)!=="svelte-tqn9fh"&&(Se.textContent=Os),ci=p(t),z.l(t),_l=p(t),Fe=m(t,"P",{"data-svelte-h":!0}),f(Fe)!=="svelte-1pwann2"&&(Fe.textContent=to),bi=p(t),d(Ee.$$.fragment,t),yi=p(t),A.l(t),hl=p(t),d(pt.$$.fragment,t),gi=p(t),Pe=m(t,"P",{"data-svelte-h":!0}),f(Pe)!=="svelte-1hopjfl"&&(Pe.innerHTML=eo),di=p(t),d(qe.$$.fragment,t),_i=p(t),De=m(t,"P",{"data-svelte-h":!0}),f(De)!=="svelte-iuy89q"&&(De.textContent=lo),hi=p(t),d(Ke.$$.fragment,t),wi=p(t),S.l(t),wl=p(t),Oe=m(t,"P",{"data-svelte-h":!0}),f(Oe)!=="svelte-1y47rwb"&&(Oe.innerHTML=no),$i=p(t),d(tl.$$.fragment,t),Ti=p(t),E.l(t),$l=p(t),el=m(t,"P",{"data-svelte-h":!0}),f(el)!=="svelte-1ysw7in"&&(el.textContent=io),Ui=p(t),d(ll.$$.fragment,t),ji=p(t),q.l(t),Tl=p(t),nl=m(t,"P",{"data-svelte-h":!0}),f(nl)!=="svelte-rvkfkw"&&(nl.textContent=so),vi=p(t),d(il.$$.fragment,t),Ji=p(t),d(sl.$$.fragment,t),ki=p(t),O.l(t),Ul=p(t),jl=m(t,"P",{}),Co(jl).forEach(l),this.h()},h(){B(i,"name","hf:doc:metadata"),B(i,"content",cp),B(nt,"class","flex justify-center"),B(it,"class","flex justify-center"),B(st,"class","flex justify-center"),B(ot,"class","flex justify-center")},m(t,e){Lo(document.head,i),n(t,r,e),n(t,s,e),n(t,M,e),_(T,t,e),n(t,u,e),_($,t,e),n(t,C,e),ol[j].m(t,e),n(t,Z,e),n(t,y,e),n(t,D,e),_(G,t,e),n(t,at,e),n(t,x,e),n(t,W,e),n(t,mt,e),n(t,vl,e),n(t,ft,e),n(t,Jl,e),n(t,ut,e),n(t,kl,e),_(Mt,t,e),n(t,Zl,e),pl[I].m(t,e),n(t,bl,e),n(t,ct,e),n(t,Cl,e),n(t,bt,e),n(t,Gl,e),_(yt,t,e),n(t,Wl,e),n(t,gt,e),n(t,Bl,e),_(dt,t,e),n(t,xl,e),n(t,_t,e),n(t,Il,e),n(t,ht,e),n(t,Hl,e),rl[N].m(t,e),n(t,yl,e),n(t,wt,e),n(t,Nl,e),n(t,$t,e),n(t,Vl,e),al[L].m(t,e),n(t,gl,e),n(t,Tt,e),n(t,Ll,e),_(Ut,t,e),n(t,Xl,e),n(t,jt,e),n(t,Rl,e),_(vt,t,e),n(t,zl,e),n(t,Jt,e),n(t,Yl,e),_(kt,t,e),n(t,Al,e),n(t,Zt,e),n(t,Ql,e),_(Ct,t,e),n(t,Sl,e),n(t,Gt,e),n(t,Fl,e),n(t,Wt,e),n(t,El,e),K.m(t,e),n(t,dl,e),_(lt,t,e),n(t,Pl,e),n(t,Bt,e),n(t,ql,e),n(t,xt,e),n(t,Dl,e),n(t,It,e),n(t,Kl,e),_(Ht,t,e),n(t,Ol,e),n(t,Nt,e),n(t,tn,e),n(t,Vt,e),n(t,en,e),_(Lt,t,e),n(t,ln,e),n(t,Xt,e),n(t,nn,e),_(Rt,t,e),n(t,sn,e),n(t,zt,e),n(t,on,e),n(t,Yt,e),n(t,pn,e),_(At,t,e),n(t,rn,e),n(t,Qt,e),n(t,an,e),_(St,t,e),n(t,mn,e),n(t,Ft,e),n(t,fn,e),n(t,Et,e),n(t,un,e),n(t,Pt,e),n(t,Mn,e),_(qt,t,e),n(t,cn,e),n(t,Dt,e),n(t,bn,e),n(t,Kt,e),n(t,yn,e),n(t,nt,e),n(t,gn,e),n(t,Ot,e),n(t,dn,e),n(t,te,e),n(t,_n,e),n(t,ee,e),n(t,hn,e),n(t,it,e),n(t,wn,e),n(t,le,e),n(t,$n,e),n(t,st,e),n(t,Tn,e),n(t,ne,e),n(t,Un,e),n(t,ie,e),n(t,jn,e),n(t,ot,e),n(t,vn,e),n(t,se,e),n(t,Jn,e),_(oe,t,e),n(t,kn,e),n(t,pe,e),n(t,Zn,e),n(t,re,e),n(t,Cn,e),_(ae,t,e),n(t,Gn,e),n(t,me,e),n(t,Wn,e),_(fe,t,e),n(t,Bn,e),n(t,ue,e),n(t,xn,e),n(t,Me,e),n(t,In,e),_(ce,t,e),n(t,Hn,e),n(t,be,e),n(t,Nn,e),n(t,ye,e),n(t,Vn,e),n(t,ge,e),n(t,Ln,e),_(de,t,e),n(t,Xn,e),n(t,_e,e),n(t,Rn,e),n(t,he,e),n(t,zn,e),_(we,t,e),n(t,Yn,e),n(t,$e,e),n(t,An,e),n(t,Te,e),n(t,Qn,e),n(t,Ue,e),n(t,Sn,e),_(je,t,e),n(t,Fn,e),n(t,ve,e),n(t,En,e),_(Je,t,e),n(t,Pn,e),n(t,ke,e),n(t,qn,e),_(Ze,t,e),n(t,Dn,e),n(t,Ce,e),n(t,Kn,e),_(Ge,t,e),n(t,On,e),n(t,We,e),n(t,ti,e),n(t,Be,e),n(t,ei,e),n(t,xe,e),n(t,li,e),_(Ie,t,e),n(t,ni,e),_(He,t,e),n(t,ii,e),n(t,Ne,e),n(t,si,e),_(Ve,t,e),n(t,oi,e),n(t,Le,e),n(t,pi,e),_(Xe,t,e),n(t,ri,e),n(t,Re,e),n(t,ai,e),_(ze,t,e),n(t,mi,e),_(Ye,t,e),n(t,fi,e),n(t,Ae,e),n(t,ui,e),n(t,Qe,e),n(t,Mi,e),n(t,Se,e),n(t,ci,e),ml[R].m(t,e),n(t,_l,e),n(t,Fe,e),n(t,bi,e),_(Ee,t,e),n(t,yi,e),fl[Y].m(t,e),n(t,hl,e),_(pt,t,e),n(t,gi,e),n(t,Pe,e),n(t,di,e),_(qe,t,e),n(t,_i,e),n(t,De,e),n(t,hi,e),_(Ke,t,e),n(t,wi,e),ul[Q].m(t,e),n(t,wl,e),n(t,Oe,e),n(t,$i,e),_(tl,t,e),n(t,Ti,e),Ml[F].m(t,e),n(t,$l,e),n(t,el,e),n(t,Ui,e),_(ll,t,e),n(t,ji,e),cl[P].m(t,e),n(t,Tl,e),n(t,nl,e),n(t,vi,e),_(il,t,e),n(t,Ji,e),_(sl,t,e),n(t,ki,e),O.m(t,e),n(t,Ul,e),n(t,jl,e),Zi=!0},p(t,[e]){const Jo={};e&1&&(Jo.fw=t[0]),T.$set(Jo);let Wi=j;j=po(t),j!==Wi&&(et(),c(ol[Wi],1,1,()=>{ol[Wi]=null}),tt(),v=ol[j],v||(v=ol[j]=oo[j](t),v.c()),b(v,1),v.m(Z.parentNode,Z));let Bi=I;I=ao(t),I!==Bi&&(et(),c(pl[Bi],1,1,()=>{pl[Bi]=null}),tt(),H=pl[I],H||(H=pl[I]=ro[I](t),H.c()),b(H,1),H.m(bl.parentNode,bl));let xi=N;N=fo(t),N!==xi&&(et(),c(rl[xi],1,1,()=>{rl[xi]=null}),tt(),V=rl[N],V||(V=rl[N]=mo[N](t),V.c()),b(V,1),V.m(yl.parentNode,yl));let Ii=L;L=Mo(t),L!==Ii&&(et(),c(al[Ii],1,1,()=>{al[Ii]=null}),tt(),X=al[L],X||(X=al[L]=uo[L](t),X.c()),b(X,1),X.m(gl.parentNode,gl)),Ci!==(Ci=co(t))&&(K.d(1),K=Ci(t),K&&(K.c(),K.m(dl.parentNode,dl)));const ko={};e&2&&(ko.$$scope={dirty:e,ctx:t}),lt.$set(ko);let Hi=R;R=yo(t),R!==Hi&&(et(),c(ml[Hi],1,1,()=>{ml[Hi]=null}),tt(),z=ml[R],z||(z=ml[R]=bo[R](t),z.c()),b(z,1),z.m(_l.parentNode,_l));let Ni=Y;Y=_o(t),Y!==Ni&&(et(),c(fl[Ni],1,1,()=>{fl[Ni]=null}),tt(),A=fl[Y],A||(A=fl[Y]=go[Y](t),A.c()),b(A,1),A.m(hl.parentNode,hl));const Zo={};e&2&&(Zo.$$scope={dirty:e,ctx:t}),pt.$set(Zo);let Vi=Q;Q=wo(t),Q!==Vi&&(et(),c(ul[Vi],1,1,()=>{ul[Vi]=null}),tt(),S=ul[Q],S||(S=ul[Q]=ho[Q](t),S.c()),b(S,1),S.m(wl.parentNode,wl));let Li=F;F=To(t),F!==Li&&(et(),c(Ml[Li],1,1,()=>{Ml[Li]=null}),tt(),E=Ml[F],E||(E=Ml[F]=$o[F](t),E.c()),b(E,1),E.m($l.parentNode,$l));let Xi=P;P=jo(t),P!==Xi&&(et(),c(cl[Xi],1,1,()=>{cl[Xi]=null}),tt(),q=cl[P],q||(q=cl[P]=Uo[P](t),q.c()),b(q,1),q.m(Tl.parentNode,Tl)),Gi!==(Gi=vo(t))&&(O.d(1),O=Gi(t),O&&(O.c(),O.m(Ul.parentNode,Ul)))},i(t){Zi||(b(T.$$.fragment,t),b($.$$.fragment,t),b(v),b(G.$$.fragment,t),b(Mt.$$.fragment,t),b(H),b(yt.$$.fragment,t),b(dt.$$.fragment,t),b(V),b(X),b(Ut.$$.fragment,t),b(vt.$$.fragment,t),b(kt.$$.fragment,t),b(Ct.$$.fragment,t),b(lt.$$.fragment,t),b(Ht.$$.fragment,t),b(Lt.$$.fragment,t),b(Rt.$$.fragment,t),b(At.$$.fragment,t),b(St.$$.fragment,t),b(qt.$$.fragment,t),b(oe.$$.fragment,t),b(ae.$$.fragment,t),b(fe.$$.fragment,t),b(ce.$$.fragment,t),b(de.$$.fragment,t),b(we.$$.fragment,t),b(je.$$.fragment,t),b(Je.$$.fragment,t),b(Ze.$$.fragment,t),b(Ge.$$.fragment,t),b(Ie.$$.fragment,t),b(He.$$.fragment,t),b(Ve.$$.fragment,t),b(Xe.$$.fragment,t),b(ze.$$.fragment,t),b(Ye.$$.fragment,t),b(z),b(Ee.$$.fragment,t),b(A),b(pt.$$.fragment,t),b(qe.$$.fragment,t),b(Ke.$$.fragment,t),b(S),b(tl.$$.fragment,t),b(E),b(ll.$$.fragment,t),b(q),b(il.$$.fragment,t),b(sl.$$.fragment,t),Zi=!0)},o(t){c(T.$$.fragment,t),c($.$$.fragment,t),c(v),c(G.$$.fragment,t),c(Mt.$$.fragment,t),c(H),c(yt.$$.fragment,t),c(dt.$$.fragment,t),c(V),c(X),c(Ut.$$.fragment,t),c(vt.$$.fragment,t),c(kt.$$.fragment,t),c(Ct.$$.fragment,t),c(lt.$$.fragment,t),c(Ht.$$.fragment,t),c(Lt.$$.fragment,t),c(Rt.$$.fragment,t),c(At.$$.fragment,t),c(St.$$.fragment,t),c(qt.$$.fragment,t),c(oe.$$.fragment,t),c(ae.$$.fragment,t),c(fe.$$.fragment,t),c(ce.$$.fragment,t),c(de.$$.fragment,t),c(we.$$.fragment,t),c(je.$$.fragment,t),c(Je.$$.fragment,t),c(Ze.$$.fragment,t),c(Ge.$$.fragment,t),c(Ie.$$.fragment,t),c(He.$$.fragment,t),c(Ve.$$.fragment,t),c(Xe.$$.fragment,t),c(ze.$$.fragment,t),c(Ye.$$.fragment,t),c(z),c(Ee.$$.fragment,t),c(A),c(pt.$$.fragment,t),c(qe.$$.fragment,t),c(Ke.$$.fragment,t),c(S),c(tl.$$.fragment,t),c(E),c(ll.$$.fragment,t),c(q),c(il.$$.fragment,t),c(sl.$$.fragment,t),Zi=!1},d(t){t&&(l(r),l(s),l(M),l(u),l(C),l(Z),l(y),l(D),l(at),l(x),l(W),l(mt),l(vl),l(ft),l(Jl),l(ut),l(kl),l(Zl),l(bl),l(ct),l(Cl),l(bt),l(Gl),l(Wl),l(gt),l(Bl),l(xl),l(_t),l(Il),l(ht),l(Hl),l(yl),l(wt),l(Nl),l($t),l(Vl),l(gl),l(Tt),l(Ll),l(Xl),l(jt),l(Rl),l(zl),l(Jt),l(Yl),l(Al),l(Zt),l(Ql),l(Sl),l(Gt),l(Fl),l(Wt),l(El),l(dl),l(Pl),l(Bt),l(ql),l(xt),l(Dl),l(It),l(Kl),l(Ol),l(Nt),l(tn),l(Vt),l(en),l(ln),l(Xt),l(nn),l(sn),l(zt),l(on),l(Yt),l(pn),l(rn),l(Qt),l(an),l(mn),l(Ft),l(fn),l(Et),l(un),l(Pt),l(Mn),l(cn),l(Dt),l(bn),l(Kt),l(yn),l(nt),l(gn),l(Ot),l(dn),l(te),l(_n),l(ee),l(hn),l(it),l(wn),l(le),l($n),l(st),l(Tn),l(ne),l(Un),l(ie),l(jn),l(ot),l(vn),l(se),l(Jn),l(kn),l(pe),l(Zn),l(re),l(Cn),l(Gn),l(me),l(Wn),l(Bn),l(ue),l(xn),l(Me),l(In),l(Hn),l(be),l(Nn),l(ye),l(Vn),l(ge),l(Ln),l(Xn),l(_e),l(Rn),l(he),l(zn),l(Yn),l($e),l(An),l(Te),l(Qn),l(Ue),l(Sn),l(Fn),l(ve),l(En),l(Pn),l(ke),l(qn),l(Dn),l(Ce),l(Kn),l(On),l(We),l(ti),l(Be),l(ei),l(xe),l(li),l(ni),l(ii),l(Ne),l(si),l(oi),l(Le),l(pi),l(ri),l(Re),l(ai),l(mi),l(fi),l(Ae),l(ui),l(Qe),l(Mi),l(Se),l(ci),l(_l),l(Fe),l(bi),l(yi),l(hl),l(gi),l(Pe),l(di),l(_i),l(De),l(hi),l(wi),l(wl),l(Oe),l($i),l(Ti),l($l),l(el),l(Ui),l(ji),l(Tl),l(nl),l(vi),l(Ji),l(ki),l(Ul),l(jl)),l(i),h(T,t),h($,t),ol[j].d(t),h(G,t),h(Mt,t),pl[I].d(t),h(yt,t),h(dt,t),rl[N].d(t),al[L].d(t),h(Ut,t),h(vt,t),h(kt,t),h(Ct,t),K.d(t),h(lt,t),h(Ht,t),h(Lt,t),h(Rt,t),h(At,t),h(St,t),h(qt,t),h(oe,t),h(ae,t),h(fe,t),h(ce,t),h(de,t),h(we,t),h(je,t),h(Je,t),h(Ze,t),h(Ge,t),h(Ie,t),h(He,t),h(Ve,t),h(Xe,t),h(ze,t),h(Ye,t),ml[R].d(t),h(Ee,t),fl[Y].d(t),h(pt,t),h(qe,t),h(Ke,t),ul[Q].d(t),h(tl,t),Ml[F].d(t),h(ll,t),cl[P].d(t),h(il,t),h(sl,t),O.d(t)}}}const cp='{"title":"共享预训练模型","local":"共享预训练模型","sections":[{"title":"使用 push_to_hub API","local":"使用 push_to_hub API","sections":[],"depth":2},{"title":"使用 huggingface_hub python库","local":"使用 huggingface_hub python库","sections":[],"depth":2},{"title":"使用网络界面","local":"使用网络界面","sections":[],"depth":2},{"title":"上传模型文件","local":"上传模型文件","sections":[{"title":"The upload_file approach","local":"The upload_file approach","sections":[],"depth":3},{"title":"The Repository class","local":"The Repository class","sections":[],"depth":3},{"title":"The git-based approach","local":"The git-based approach","sections":[],"depth":3}],"depth":2}],"depth":1}';function bp(w,i,r){let s="pt";return xo(()=>{const M=new URLSearchParams(window.location.search);r(0,s=M.get("fw")||"pt")}),[s]}class Up extends Ho{constructor(i){super(),No(this,i,bp,Mp,Bo,{})}}export{Up as component};
