import{s as Wp,o as Bp,n as xp}from"../chunks/scheduler.37c15a92.js";import{S as Hp,i as Ip,g as a,s as p,r as g,A as Np,h as m,f as l,c as r,j as Zp,u as d,x as f,k as B,y as Vp,a as n,v as _,t as c,b as tt,d as b,w as h,m as Lp,n as Xp,p as et}from"../chunks/index.2bf4358c.js";import{T as Cp}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 Gp}from"../chunks/CourseFloatingBanner.06521e8b.js";import{F as Rp}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as ot}from"../chunks/Heading.8ada512a.js";function Yp($){let i,o;return i=new Gp({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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function zp($){let i,o;return i=new Gp({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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function Ap($){let i,o;return i=new Ri({props:{id:"pUh5cGmNV8Y"}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function Qp($){let i,o;return i=new Ri({props:{id:"Zh0FfmVrKX0"}}),{c(){g(i.$$.fragment)},l(s){d(i.$$.fragment,s)},m(s,M){_(i,s,M),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function Sp($){let i,o="如果您使用Keras來訓練您的模型，則將其上傳到Hub的最簡單方法是在調用 <strong>model.fit()</strong>  時傳遞<strong>PushToHubCallback</strong>：",s,M,T,u,w="然後，您應該在對<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=o,s=p(),g(M.$$.fragment),T=p(),u=a("p"),u.innerHTML=w,C=p(),j=a("p"),j.innerHTML=v},l(y){i=m(y,"P",{"data-svelte-h":!0}),f(i)!=="svelte-1kddlaa"&&(i.innerHTML=o),s=r(y),d(M.$$.fragment,y),T=r(y),u=m(y,"P",{"data-svelte-h":!0}),f(u)!=="svelte-bkkgh9"&&(u.innerHTML=w),C=r(y),j=m(y,"P",{"data-svelte-h":!0}),f(j)!=="svelte-4arcmo"&&(j.innerHTML=v)},m(y,J){n(y,i,J),n(y,s,J),_(M,y,J),n(y,T,J),n(y,u,J),n(y,C,J),n(y,j,J),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 Fp($){let i,o="如果你玩過 <strong>Trainer</strong> 用於訓練模型的 API，將其上傳到 Hub 的最簡單方法是設置 <strong>push_to_hub=True</strong> 當你定義你的 <strong>TrainingArguments</strong> ：",s,M,T,u,w="你聲明 <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,J="訓練結束後，你應該做最後的 <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=o,s=p(),g(M.$$.fragment),T=p(),u=a("p"),u.innerHTML=w,C=p(),j=a("p"),j.innerHTML=v,Z=p(),y=a("p"),y.innerHTML=J,D=p(),G=a("div"),G.innerHTML=at,this.h()},l(k){i=m(k,"P",{"data-svelte-h":!0}),f(i)!=="svelte-1d8nzk8"&&(i.innerHTML=o),s=r(k),d(M.$$.fragment,k),T=r(k),u=m(k,"P",{"data-svelte-h":!0}),f(u)!=="svelte-fejv3w"&&(u.innerHTML=w),C=r(k),j=m(k,"P",{"data-svelte-h":!0}),f(j)!=="svelte-4arcmo"&&(j.innerHTML=v),Z=r(k),y=m(k,"P",{"data-svelte-h":!0}),f(y)!=="svelte-1ci5fik"&&(y.innerHTML=J),D=r(k),G=m(k,"DIV",{class:!0,"data-svelte-h":!0}),f(G)!=="svelte-1lhrimn"&&(G.innerHTML=at),this.h()},h(){B(G,"class","flex justify-center")},m(k,W){n(k,i,W),n(k,s,W),_(M,k,W),n(k,T,W),n(k,u,W),n(k,C,W),n(k,j,W),n(k,Z,W),n(k,y,W),n(k,D,W),n(k,G,W),x=!0},i(k){x||(b(M.$$.fragment,k),x=!0)},o(k){c(M.$$.fragment,k),x=!1},d(k){k&&(l(i),l(s),l(T),l(u),l(C),l(j),l(Z),l(y),l(D),l(G)),h(M,k)}}}function Ep($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function Pp($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function qp($){let i,o='<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=o,this.h()},l(s){i=m(s,"DIV",{class:!0,"data-svelte-h":!0}),f(i)!=="svelte-5a3kk0"&&(i.innerHTML=o),this.h()},h(){B(i,"class","flex justify-center")},m(s,M){n(s,i,M)},d(s){s&&l(i)}}}function Dp($){let i,o='<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=o,this.h()},l(s){i=m(s,"DIV",{class:!0,"data-svelte-h":!0}),f(i)!=="svelte-19u1vyv"&&(i.innerHTML=o),this.h()},h(){B(i,"class","flex justify-center")},m(s,M){n(s,i,M)},d(s){s&&l(i)}}}function Kp($){let i,o="✏️ <strong>試試看</strong>！獲取與檢查點關聯的模型和標記器，並使用該方法將它們上傳到您的命名空間中的存儲庫。在刪除之前，請仔細檢查該存儲庫是否正確顯示在您的頁面上。";return{c(){i=a("p"),i.innerHTML=o},l(s){i=m(s,"P",{"data-svelte-h":!0}),f(i)!=="svelte-173pvtw"&&(i.innerHTML=o)},m(s,M){n(s,i,M)},p:xp,d(s){s&&l(i)}}}function Op($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function tr($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function er($){let i,o,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),o=p(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),o=r(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-1csho22"&&(s.innerHTML=M)},m(u,w){_(i,u,w),n(u,o,w),n(u,s,w),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(o),l(s)),h(i,u)}}}function lr($){let i,o,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),o=p(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),o=r(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-174jxm4"&&(s.innerHTML=M)},m(u,w){_(i,u,w),n(u,o,w),n(u,s,w),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(o),l(s)),h(i,u)}}}function nr($){let i;return{c(){i=Lp("✏️ 從 web 界面創建存儲庫時，*.gitattributes* 文件會自動設置為將具有某些擴展名的文件，例如 *.bin* 和 *.h5* 視為大文件，git-lfs 會對其進行跟蹤您無需進行必要的設置。")},l(o){i=Xp(o,"✏️ 從 web 界面創建存儲庫時，*.gitattributes* 文件會自動設置為將具有某些擴展名的文件，例如 *.bin* 和 *.h5* 視為大文件，git-lfs 會對其進行跟蹤您無需進行必要的設置。")},m(o,s){n(o,i,s)},d(o){o&&l(i)}}}function ir($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function sr($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function pr($){let i,o,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),o=p(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),o=r(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-cg1to"&&(s.innerHTML=M)},m(u,w){_(i,u,w),n(u,o,w),n(u,s,w),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(o),l(s)),h(i,u)}}}function rr($){let i,o,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),o=p(),s=a("p"),s.innerHTML=M},l(u){d(i.$$.fragment,u),o=r(u),s=m(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-1tchun8"&&(s.innerHTML=M)},m(u,w){_(i,u,w),n(u,o,w),n(u,s,w),T=!0},i(u){T||(b(i.$$.fragment,u),T=!0)},o(u){c(i.$$.fragment,u),T=!1},d(u){u&&(l(o),l(s)),h(i,u)}}}function or($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function ar($){let i,o;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),o=!0},i(s){o||(b(i.$$.fragment,s),o=!0)},o(s){c(i.$$.fragment,s),o=!1},d(s){h(i,s)}}}function mr($){let i,o="如果我們在完成後查看模型存儲庫，我們可以看到所有最近添加的文件：",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,w,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=o,s=p(),M=a("div"),M.innerHTML=T,u=p(),w=a("p"),w.textContent=C,j=p(),v=a("div"),v.innerHTML=Z,this.h()},l(y){i=m(y,"P",{"data-svelte-h":!0}),f(i)!=="svelte-xel6h2"&&(i.textContent=o),s=r(y),M=m(y,"DIV",{class:!0,"data-svelte-h":!0}),f(M)!=="svelte-tz4fi2"&&(M.innerHTML=T),u=r(y),w=m(y,"P",{"data-svelte-h":!0}),f(w)!=="svelte-4kssbx"&&(w.textContent=C),j=r(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,J){n(y,i,J),n(y,s,J),n(y,M,J),n(y,u,J),n(y,w,J),n(y,j,J),n(y,v,J)},d(y){y&&(l(i),l(s),l(M),l(u),l(w),l(j),l(v))}}}function fr($){let i,o="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,w,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=o,s=p(),M=a("div"),M.innerHTML=T,u=p(),w=a("p"),w.textContent=C,j=p(),v=a("div"),v.innerHTML=Z,this.h()},l(y){i=m(y,"P",{"data-svelte-h":!0}),f(i)!=="svelte-dr5wot"&&(i.textContent=o),s=r(y),M=m(y,"DIV",{class:!0,"data-svelte-h":!0}),f(M)!=="svelte-1v39mjb"&&(M.innerHTML=T),u=r(y),w=m(y,"P",{"data-svelte-h":!0}),f(w)!=="svelte-4kssbx"&&(w.textContent=C),j=r(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,J){n(y,i,J),n(y,s,J),n(y,M,J),n(y,u,J),n(y,w,J),n(y,j,J),n(y,v,J)},d(y){y&&(l(i),l(s),l(M),l(u),l(w),l(j),l(v))}}}function ur($){let i,o,s,M,T,u,w,C,j,v,Z,y,J="在下面的步驟中，我們將看看將預訓練模型分享到 🤗 Hub 的最簡單方法。有可用的工具和實用程序可以讓直接在 Hub 上共享和更新模型變得簡單，我們將在下面進行探討。",D,G,at,x,k="我們鼓勵所有訓練模型的用戶通過與社區共享來做出貢獻——共享模型，即使是在非常特定的數據集上進行訓練，也將幫助他人，節省他們的時間和計算資源，並提供對有用的訓練工件的訪問。反過來，您可以從其他人所做的工作中受益！",W,mt,Yi="創建新模型存儲庫的方法有以下三種：",vl,ft,zi="<li>使用 push_to_hub API 接口</li> <li>使用 huggingface_hub Python 庫</li> <li>使用 web 界面</li>",kl,ut,Ai="創建存儲庫後，您可以通過 git 和 git-lfs 將文件上傳到其中。我們將在以下部分引導您創建模型存儲庫並將文件上傳到它們",Jl,Mt,Zl,H,I,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>。',Hl,ht,Pi="好的！您現在已將身份驗證令牌存儲在緩存文件夾中。讓我們創建一些存儲庫！",Il,N,V,yl,$t,qi="在較低級別，可以通過模型、標記器和配置對象直接訪問模型中心 <strong>push_to_hub()</strong> 方法。此方法負責創建存儲庫並將模型和標記器文件直接推送到存儲庫。與我們將在下面看到的 API 不同，不需要手動處理。",Nl,wt,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,Yl,kt,ts="如果您屬於一個組織，只需指定 <strong>organization</strong> 上傳到該組織的命名空間的參數：",zl,Jt,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,Ht,ps="跳到最後一部分，瞭解如何將文件上傳到新創建的存儲庫！",Kl,It,Ol,Nt,rs=`這 <strong>huggingface_hub</strong> Python 庫是一個包，它為模型和數據集中心提供了一組工具。它為常見任務提供了簡單的方法和類，例如
獲取有關集線器上存儲庫的信息並對其進行管理。它提供了在 git 之上工作的簡單 API 來管理這些存儲庫的內容並集成 Hub
在您的項目和庫中。`,tn,Vt,os="類似於使用 <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,Yt,ms="此外，它還提供了非常強大的 <strong>Repository</strong> 用於管理本地存儲庫的類。我們將在接下來的幾節中探討這些方法和該類，以瞭解如何利用它們。",pn,zt,fs="這 <strong>create_repo</strong> 方法可用於在集線器上創建新存儲庫：",rn,At,on,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,$s="創建模型存儲庫後，您應該看到如下頁面：",hn,it,ws='<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%"/>',$n,le,Ts="這是您的模型將被託管的地方。要開始填充它，您可以直接從 Web 界面添加 README 文件。",wn,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,pt,ks='<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,Js="接下來我們將看看如何添加一些新文件。",kn,pe,Jn,re,Zs='Hugging Face Hub 上的文件管理系統基於用於常規文件的 git 和 git-lfs（代表<a href="https://git-lfs.github.com/" rel="nofollow">Git Large File Storage</a>) 對於較大的文件。',Zn,oe,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>",Hn,ce,In,be,xs="以類似 git 的方式管理本地存儲庫。它抽象了 git 可能遇到的大部分痛點，以提供我們需要的所有功能。",Nn,ye,Hs='使用這個類需要安裝 git 和 git-lfs，所以確保你已經安裝了 git-lfs（參見<a href="https://git-lfs.github.com/" rel="nofollow">here</a>安裝說明）並在開始之前進行設置。',Vn,ge,Is="為了開始使用我們剛剛創建的存儲庫，我們可以通過克隆遠程存儲庫將其初始化到本地文件夾開始：",Ln,de,Xn,_e,Ns="這創建了文件夾 <strong>path_to_dummy_folder</strong> 在我們的工作目錄中。該文件夾僅包含 <strong>.gitattributes</strong> 文件，因為這是通過實例化存儲庫時創建的唯一文件 <strong>create_repo</strong>。",Rn,he,Vs="從現在開始，我們可以利用幾種傳統的 git 方法：",Yn,$e,zn,we,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,Ys="完成後，我們保存模型和標記器文件：",En,ke,Pn,Je,zs="這 <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,He,ni,Ie,ii,Ne,Es="完成後，第一步是克隆您的模型存儲庫：",si,Ve,pi,Le,Ps="我的用戶名是 <strong>lysandre</strong> 我使用了模型名稱 <strong>dummy</strong> ，所以對我來說，命令最終如下所示：",ri,Xe,oi,Re,qs="我現在有一個名為的文件夾假在我的工作目錄中。我能 <strong>cd</strong> 進入文件夾並查看內容：",ai,Ye,mi,ze,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,Y,_l,Fe,tp="現在我們已經保存了一些模型和標記器工件，讓我們再看看假文件夾：",bi,Ee,yi,z,A,hl,rt,gi,Pe,ep="我們現在可以繼續進行，就像我們通常使用傳統 Git 存儲庫一樣。我們可以使用以下命令將所有文件添加到 Git 的暫存環境中 <strong>git add</strong> 命令：",di,qe,_i,De,lp="然後我們可以查看當前暫存的文件：",hi,Ke,$i,Q,S,$l,Oe,np="同樣，我們可以確保 git-lfs 使用其跟蹤正確的文件 <strong>status</strong> 命令：",wi,tl,Ti,F,E,wl,el,ip="Let’s proceed to the final steps, committing and pushing to 讓我們繼續最後的步驟，提交併推動擁抱臉遠程倉庫：",Ui,ll,ji,P,q,Tl,nl,sp="推送可能需要一些時間，具體取決於您的互聯網連接速度和文件大小：",vi,il,ki,sl,Ji,Ul,jl,Zi;T=new Rp({props:{fw:$[0]}}),w=new ot({props:{title:"共享預訓練模型",local:"共享預訓練模型",headingTag:"h1"}});const pp=[zp,Yp],pl=[];function rp(t,e){return t[0]==="pt"?0:1}j=rp($),v=pl[j]=pp[j]($),G=new Ri({props:{id:"9yY3RB_GSPM"}}),Mt=new ot({props:{title:"使用 push_to_hub API",local:"使用-pushtohub-api",headingTag:"h2"}});const op=[Qp,Ap],rl=[];function ap(t,e){return t[0]==="pt"?0:1}H=ap($),I=rl[H]=op[H]($),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 mp=[Fp,Sp],ol=[];function fp(t,e){return t[0]==="pt"?0:1}N=fp($),V=ol[N]=mp[N]($);const up=[Pp,Ep],al=[];function Mp(t,e){return t[0]==="pt"?0:1}L=Mp($),X=al[L]=up[L]($),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}}),Jt=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 cp(t,e){return t[0]==="pt"?Dp:qp}let Ci=cp($),K=Ci($);lt=new Cp({props:{$$slots:{default:[Kp]},$$scope:{ctx:$}}}),It=new ot({props:{title:"使用 huggingface_hub python庫",local:"使用-huggingfacehub-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 ot({props:{title:"使用網絡界面",local:"使用網絡界面",headingTag:"h2"}}),pe=new ot({props:{title:"上傳模型文件",local:"上傳模型文件",headingTag:"h2"}}),ae=new ot({props:{title:"The upload_file approach",local:"the-uploadfile-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 ot({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}}),$e=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}}),ke=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 ot({props:{title:"The git-based approach",local:"the-git-based-approach",headingTag:"h3"}}),He=new U({props:{code:"Z2l0JTIwbGZzJTIwaW5zdGFsbA==",highlighted:"git lfs install",wrap:!1}}),Ie=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}}),Ye=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}}),ze=new U({props:{code:"UkVBRE1FLm1k",highlighted:"README.md",wrap:!1}});const bp=[tr,Op],ml=[];function yp(t,e){return t[0]==="pt"?0:1}R=yp($),Y=ml[R]=bp[R]($),Ee=new U({props:{code:"bHM=",highlighted:'<span class="hljs-built_in">ls</span>',wrap:!1}});const gp=[lr,er],fl=[];function dp(t,e){return t[0]==="pt"?0:1}z=dp($),A=fl[z]=gp[z]($),rt=new Cp({props:{$$slots:{default:[nr]},$$scope:{ctx:$}}}),qe=new U({props:{code:"Z2l0JTIwYWRkJTIwLg==",highlighted:"git add .",wrap:!1}}),Ke=new U({props:{code:"Z2l0JTIwc3RhdHVz",highlighted:"git status",wrap:!1}});const _p=[sr,ir],ul=[];function hp(t,e){return t[0]==="pt"?0:1}Q=hp($),S=ul[Q]=_p[Q]($),tl=new U({props:{code:"Z2l0JTIwbGZzJTIwc3RhdHVz",highlighted:"git lfs status",wrap:!1}});const $p=[rr,pr],Ml=[];function wp(t,e){return t[0]==="pt"?0:1}F=wp($),E=Ml[F]=$p[F]($),ll=new U({props:{code:"Z2l0JTIwY29tbWl0JTIwLW0lMjAlMjJGaXJzdCUyMG1vZGVsJTIwdmVyc2lvbiUyMg==",highlighted:'git commit -m <span class="hljs-string">&quot;First model version&quot;</span>',wrap:!1}});const Tp=[ar,or],cl=[];function Up(t,e){return t[0]==="pt"?0:1}P=Up($),q=cl[P]=Tp[P]($),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 jp(t,e){return t[0]==="pt"?fr:mr}let Gi=jp($),O=Gi($);return{c(){i=a("meta"),o=p(),s=a("p"),M=p(),g(T.$$.fragment),u=p(),g(w.$$.fragment),C=p(),v.c(),Z=p(),y=a("p"),y.textContent=J,D=p(),g(G.$$.fragment),at=p(),x=a("p"),x.textContent=k,W=p(),mt=a("p"),mt.textContent=Yi,vl=p(),ft=a("ul"),ft.innerHTML=zi,kl=p(),ut=a("p"),ut.textContent=Ai,Jl=p(),g(Mt.$$.fragment),Zl=p(),I.c(),bl=p(),ct=a("p"),ct.innerHTML=Qi,Cl=p(),bt=a("p"),bt.innerHTML=Si,Gl=p(),g(yt.$$.fragment),Wl=p(),gt=a("p"),gt.textContent=Fi,Bl=p(),g(dt.$$.fragment),xl=p(),_t=a("p"),_t.innerHTML=Ei,Hl=p(),ht=a("p"),ht.textContent=Pi,Il=p(),V.c(),yl=p(),$t=a("p"),$t.innerHTML=qi,Nl=p(),wt=a("p"),wt.textContent=Di,Vl=p(),X.c(),gl=p(),Tt=a("p"),Tt.innerHTML=Ki,Ll=p(),g(Ut.$$.fragment),Xl=p(),jt=a("p"),jt.innerHTML=Oi,Rl=p(),g(vt.$$.fragment),Yl=p(),kt=a("p"),kt.innerHTML=ts,zl=p(),g(Jt.$$.fragment),Al=p(),Zt=a("p"),Zt.innerHTML=es,Ql=p(),g(Ct.$$.fragment),Sl=p(),Gt=a("p"),Gt.innerHTML=ls,Fl=p(),Wt=a("p"),Wt.textContent=ns,El=p(),K.c(),dl=p(),g(lt.$$.fragment),Pl=p(),Bt=a("p"),Bt.innerHTML=is,ql=p(),xt=a("p"),xt.innerHTML=ss,Dl=p(),Ht=a("p"),Ht.textContent=ps,Kl=p(),g(It.$$.fragment),Ol=p(),Nt=a("p"),Nt.innerHTML=rs,tn=p(),Vt=a("p"),Vt.innerHTML=os,en=p(),g(Lt.$$.fragment),ln=p(),Xt=a("p"),Xt.innerHTML=as,nn=p(),g(Rt.$$.fragment),sn=p(),Yt=a("p"),Yt.innerHTML=ms,pn=p(),zt=a("p"),zt.innerHTML=fs,rn=p(),g(At.$$.fragment),on=p(),Qt=a("p"),Qt.innerHTML=us,an=p(),g(St.$$.fragment),mn=p(),Ft=a("p"),Ft.innerHTML=Ms,fn=p(),Et=a("ul"),Et.innerHTML=cs,un=p(),Pt=a("p"),Pt.textContent=bs,Mn=p(),g(qt.$$.fragment),cn=p(),Dt=a("p"),Dt.textContent=ys,bn=p(),Kt=a("p"),Kt.innerHTML=gs,yn=p(),nt=a("div"),nt.innerHTML=ds,gn=p(),Ot=a("p"),Ot.textContent=_s,dn=p(),te=a("p"),te.textContent=hs,_n=p(),ee=a("p"),ee.textContent=$s,hn=p(),it=a("div"),it.innerHTML=ws,$n=p(),le=a("p"),le.textContent=Ts,wn=p(),st=a("div"),st.innerHTML=Us,Tn=p(),ne=a("p"),ne.textContent=js,Un=p(),ie=a("p"),ie.textContent=vs,jn=p(),pt=a("div"),pt.innerHTML=ks,vn=p(),se=a("p"),se.textContent=Js,kn=p(),g(pe.$$.fragment),Jn=p(),re=a("p"),re.innerHTML=Zs,Zn=p(),oe=a("p"),oe.innerHTML=Cs,Cn=p(),g(ae.$$.fragment),Gn=p(),me=a("p"),me.innerHTML=Gs,Wn=p(),g(fe.$$.fragment),Bn=p(),ue=a("p"),ue.innerHTML=Ws,xn=p(),Me=a("ul"),Me.innerHTML=Bs,Hn=p(),g(ce.$$.fragment),In=p(),be=a("p"),be.textContent=xs,Nn=p(),ye=a("p"),ye.innerHTML=Hs,Vn=p(),ge=a("p"),ge.textContent=Is,Ln=p(),g(de.$$.fragment),Xn=p(),_e=a("p"),_e.innerHTML=Ns,Rn=p(),he=a("p"),he.textContent=Vs,Yn=p(),g($e.$$.fragment),zn=p(),we=a("p"),we.innerHTML=Ls,An=p(),Te=a("p"),Te.textContent=Xs,Qn=p(),Ue=a("p"),Ue.textContent=Rs,Sn=p(),g(je.$$.fragment),Fn=p(),ve=a("p"),ve.textContent=Ys,En=p(),g(ke.$$.fragment),Pn=p(),Je=a("p"),Je.innerHTML=zs,qn=p(),g(Ze.$$.fragment),Dn=p(),Ce=a("p"),Ce.textContent=As,Kn=p(),g(Ge.$$.fragment),On=p(),We=a("p"),We.textContent=Qs,ti=p(),Be=a("p"),Be.innerHTML=Ss,ei=p(),xe=a("p"),xe.textContent=Fs,li=p(),g(He.$$.fragment),ni=p(),g(Ie.$$.fragment),ii=p(),Ne=a("p"),Ne.textContent=Es,si=p(),g(Ve.$$.fragment),pi=p(),Le=a("p"),Le.innerHTML=Ps,ri=p(),g(Xe.$$.fragment),oi=p(),Re=a("p"),Re.innerHTML=qs,ai=p(),g(Ye.$$.fragment),mi=p(),g(ze.$$.fragment),fi=p(),Ae=a("p"),Ae.innerHTML=Ds,ui=p(),Qe=a("p"),Qe.textContent=Ks,Mi=p(),Se=a("p"),Se.textContent=Os,ci=p(),Y.c(),_l=p(),Fe=a("p"),Fe.textContent=tp,bi=p(),g(Ee.$$.fragment),yi=p(),A.c(),hl=p(),g(rt.$$.fragment),gi=p(),Pe=a("p"),Pe.innerHTML=ep,di=p(),g(qe.$$.fragment),_i=p(),De=a("p"),De.textContent=lp,hi=p(),g(Ke.$$.fragment),$i=p(),S.c(),$l=p(),Oe=a("p"),Oe.innerHTML=np,wi=p(),g(tl.$$.fragment),Ti=p(),E.c(),wl=p(),el=a("p"),el.textContent=ip,Ui=p(),g(ll.$$.fragment),ji=p(),q.c(),Tl=p(),nl=a("p"),nl.textContent=sp,vi=p(),g(il.$$.fragment),ki=p(),g(sl.$$.fragment),Ji=p(),O.c(),Ul=p(),jl=a("p"),this.h()},l(t){const e=Np("svelte-u9bgzb",document.head);i=m(e,"META",{name:!0,content:!0}),e.forEach(l),o=r(t),s=m(t,"P",{}),Zp(s).forEach(l),M=r(t),d(T.$$.fragment,t),u=r(t),d(w.$$.fragment,t),C=r(t),v.l(t),Z=r(t),y=m(t,"P",{"data-svelte-h":!0}),f(y)!=="svelte-1c79ol8"&&(y.textContent=J),D=r(t),d(G.$$.fragment,t),at=r(t),x=m(t,"P",{"data-svelte-h":!0}),f(x)!=="svelte-9tfkv9"&&(x.textContent=k),W=r(t),mt=m(t,"P",{"data-svelte-h":!0}),f(mt)!=="svelte-v9f3jg"&&(mt.textContent=Yi),vl=r(t),ft=m(t,"UL",{"data-svelte-h":!0}),f(ft)!=="svelte-1qo0jor"&&(ft.innerHTML=zi),kl=r(t),ut=m(t,"P",{"data-svelte-h":!0}),f(ut)!=="svelte-1d8sq3"&&(ut.textContent=Ai),Jl=r(t),d(Mt.$$.fragment,t),Zl=r(t),I.l(t),bl=r(t),ct=m(t,"P",{"data-svelte-h":!0}),f(ct)!=="svelte-xktsbv"&&(ct.innerHTML=Qi),Cl=r(t),bt=m(t,"P",{"data-svelte-h":!0}),f(bt)!=="svelte-q370c7"&&(bt.innerHTML=Si),Gl=r(t),d(yt.$$.fragment,t),Wl=r(t),gt=m(t,"P",{"data-svelte-h":!0}),f(gt)!=="svelte-1czpzd5"&&(gt.textContent=Fi),Bl=r(t),d(dt.$$.fragment,t),xl=r(t),_t=m(t,"P",{"data-svelte-h":!0}),f(_t)!=="svelte-17n3qpl"&&(_t.innerHTML=Ei),Hl=r(t),ht=m(t,"P",{"data-svelte-h":!0}),f(ht)!=="svelte-1025qld"&&(ht.textContent=Pi),Il=r(t),V.l(t),yl=r(t),$t=m(t,"P",{"data-svelte-h":!0}),f($t)!=="svelte-1i72c8r"&&($t.innerHTML=qi),Nl=r(t),wt=m(t,"P",{"data-svelte-h":!0}),f(wt)!=="svelte-f7hgec"&&(wt.textContent=Di),Vl=r(t),X.l(t),gl=r(t),Tt=m(t,"P",{"data-svelte-h":!0}),f(Tt)!=="svelte-881hi9"&&(Tt.innerHTML=Ki),Ll=r(t),d(Ut.$$.fragment,t),Xl=r(t),jt=m(t,"P",{"data-svelte-h":!0}),f(jt)!=="svelte-1iunjn9"&&(jt.innerHTML=Oi),Rl=r(t),d(vt.$$.fragment,t),Yl=r(t),kt=m(t,"P",{"data-svelte-h":!0}),f(kt)!=="svelte-1vmdaap"&&(kt.innerHTML=ts),zl=r(t),d(Jt.$$.fragment,t),Al=r(t),Zt=m(t,"P",{"data-svelte-h":!0}),f(Zt)!=="svelte-xqmz8y"&&(Zt.innerHTML=es),Ql=r(t),d(Ct.$$.fragment,t),Sl=r(t),Gt=m(t,"P",{"data-svelte-h":!0}),f(Gt)!=="svelte-1bsythw"&&(Gt.innerHTML=ls),Fl=r(t),Wt=m(t,"P",{"data-svelte-h":!0}),f(Wt)!=="svelte-lrxyvf"&&(Wt.textContent=ns),El=r(t),K.l(t),dl=r(t),d(lt.$$.fragment,t),Pl=r(t),Bt=m(t,"P",{"data-svelte-h":!0}),f(Bt)!=="svelte-b3zd0n"&&(Bt.innerHTML=is),ql=r(t),xt=m(t,"P",{"data-svelte-h":!0}),f(xt)!=="svelte-heur79"&&(xt.innerHTML=ss),Dl=r(t),Ht=m(t,"P",{"data-svelte-h":!0}),f(Ht)!=="svelte-1rwjouq"&&(Ht.textContent=ps),Kl=r(t),d(It.$$.fragment,t),Ol=r(t),Nt=m(t,"P",{"data-svelte-h":!0}),f(Nt)!=="svelte-1rlsrtw"&&(Nt.innerHTML=rs),tn=r(t),Vt=m(t,"P",{"data-svelte-h":!0}),f(Vt)!=="svelte-xmqsqm"&&(Vt.innerHTML=os),en=r(t),d(Lt.$$.fragment,t),ln=r(t),Xt=m(t,"P",{"data-svelte-h":!0}),f(Xt)!=="svelte-o6bydy"&&(Xt.innerHTML=as),nn=r(t),d(Rt.$$.fragment,t),sn=r(t),Yt=m(t,"P",{"data-svelte-h":!0}),f(Yt)!=="svelte-1uynags"&&(Yt.innerHTML=ms),pn=r(t),zt=m(t,"P",{"data-svelte-h":!0}),f(zt)!=="svelte-15tld6m"&&(zt.innerHTML=fs),rn=r(t),d(At.$$.fragment,t),on=r(t),Qt=m(t,"P",{"data-svelte-h":!0}),f(Qt)!=="svelte-cx3mlc"&&(Qt.innerHTML=us),an=r(t),d(St.$$.fragment,t),mn=r(t),Ft=m(t,"P",{"data-svelte-h":!0}),f(Ft)!=="svelte-1pr2lwl"&&(Ft.innerHTML=Ms),fn=r(t),Et=m(t,"UL",{"data-svelte-h":!0}),f(Et)!=="svelte-15nliwg"&&(Et.innerHTML=cs),un=r(t),Pt=m(t,"P",{"data-svelte-h":!0}),f(Pt)!=="svelte-mwru74"&&(Pt.textContent=bs),Mn=r(t),d(qt.$$.fragment,t),cn=r(t),Dt=m(t,"P",{"data-svelte-h":!0}),f(Dt)!=="svelte-dzsu3s"&&(Dt.textContent=ys),bn=r(t),Kt=m(t,"P",{"data-svelte-h":!0}),f(Kt)!=="svelte-1kv8vwp"&&(Kt.innerHTML=gs),yn=r(t),nt=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(nt)!=="svelte-4qsgxt"&&(nt.innerHTML=ds),gn=r(t),Ot=m(t,"P",{"data-svelte-h":!0}),f(Ot)!=="svelte-1117ide"&&(Ot.textContent=_s),dn=r(t),te=m(t,"P",{"data-svelte-h":!0}),f(te)!=="svelte-qkums4"&&(te.textContent=hs),_n=r(t),ee=m(t,"P",{"data-svelte-h":!0}),f(ee)!=="svelte-1x48k8s"&&(ee.textContent=$s),hn=r(t),it=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(it)!=="svelte-1xh6nig"&&(it.innerHTML=ws),$n=r(t),le=m(t,"P",{"data-svelte-h":!0}),f(le)!=="svelte-j4gctk"&&(le.textContent=Ts),wn=r(t),st=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(st)!=="svelte-1jm8l0p"&&(st.innerHTML=Us),Tn=r(t),ne=m(t,"P",{"data-svelte-h":!0}),f(ne)!=="svelte-1xerycq"&&(ne.textContent=js),Un=r(t),ie=m(t,"P",{"data-svelte-h":!0}),f(ie)!=="svelte-n2tc0l"&&(ie.textContent=vs),jn=r(t),pt=m(t,"DIV",{class:!0,"data-svelte-h":!0}),f(pt)!=="svelte-1kuf5jc"&&(pt.innerHTML=ks),vn=r(t),se=m(t,"P",{"data-svelte-h":!0}),f(se)!=="svelte-1ps9k07"&&(se.textContent=Js),kn=r(t),d(pe.$$.fragment,t),Jn=r(t),re=m(t,"P",{"data-svelte-h":!0}),f(re)!=="svelte-ksv2vm"&&(re.innerHTML=Zs),Zn=r(t),oe=m(t,"P",{"data-svelte-h":!0}),f(oe)!=="svelte-qk1ka7"&&(oe.innerHTML=Cs),Cn=r(t),d(ae.$$.fragment,t),Gn=r(t),me=m(t,"P",{"data-svelte-h":!0}),f(me)!=="svelte-ptoyjq"&&(me.innerHTML=Gs),Wn=r(t),d(fe.$$.fragment,t),Bn=r(t),ue=m(t,"P",{"data-svelte-h":!0}),f(ue)!=="svelte-1nrwexb"&&(ue.innerHTML=Ws),xn=r(t),Me=m(t,"UL",{"data-svelte-h":!0}),f(Me)!=="svelte-wpdb3h"&&(Me.innerHTML=Bs),Hn=r(t),d(ce.$$.fragment,t),In=r(t),be=m(t,"P",{"data-svelte-h":!0}),f(be)!=="svelte-86kk4d"&&(be.textContent=xs),Nn=r(t),ye=m(t,"P",{"data-svelte-h":!0}),f(ye)!=="svelte-1f444n8"&&(ye.innerHTML=Hs),Vn=r(t),ge=m(t,"P",{"data-svelte-h":!0}),f(ge)!=="svelte-hv10js"&&(ge.textContent=Is),Ln=r(t),d(de.$$.fragment,t),Xn=r(t),_e=m(t,"P",{"data-svelte-h":!0}),f(_e)!=="svelte-1frvt07"&&(_e.innerHTML=Ns),Rn=r(t),he=m(t,"P",{"data-svelte-h":!0}),f(he)!=="svelte-2f38c7"&&(he.textContent=Vs),Yn=r(t),d($e.$$.fragment,t),zn=r(t),we=m(t,"P",{"data-svelte-h":!0}),f(we)!=="svelte-1qo3jbj"&&(we.innerHTML=Ls),An=r(t),Te=m(t,"P",{"data-svelte-h":!0}),f(Te)!=="svelte-ue2dif"&&(Te.textContent=Xs),Qn=r(t),Ue=m(t,"P",{"data-svelte-h":!0}),f(Ue)!=="svelte-1qn3i01"&&(Ue.textContent=Rs),Sn=r(t),d(je.$$.fragment,t),Fn=r(t),ve=m(t,"P",{"data-svelte-h":!0}),f(ve)!=="svelte-1gynad1"&&(ve.textContent=Ys),En=r(t),d(ke.$$.fragment,t),Pn=r(t),Je=m(t,"P",{"data-svelte-h":!0}),f(Je)!=="svelte-peyf2a"&&(Je.innerHTML=zs),qn=r(t),d(Ze.$$.fragment,t),Dn=r(t),Ce=m(t,"P",{"data-svelte-h":!0}),f(Ce)!=="svelte-1n40fh7"&&(Ce.textContent=As),Kn=r(t),d(Ge.$$.fragment,t),On=r(t),We=m(t,"P",{"data-svelte-h":!0}),f(We)!=="svelte-26idv9"&&(We.textContent=Qs),ti=r(t),Be=m(t,"P",{"data-svelte-h":!0}),f(Be)!=="svelte-1gaw43z"&&(Be.innerHTML=Ss),ei=r(t),xe=m(t,"P",{"data-svelte-h":!0}),f(xe)!=="svelte-sldxmk"&&(xe.textContent=Fs),li=r(t),d(He.$$.fragment,t),ni=r(t),d(Ie.$$.fragment,t),ii=r(t),Ne=m(t,"P",{"data-svelte-h":!0}),f(Ne)!=="svelte-59t3xy"&&(Ne.textContent=Es),si=r(t),d(Ve.$$.fragment,t),pi=r(t),Le=m(t,"P",{"data-svelte-h":!0}),f(Le)!=="svelte-16t88ic"&&(Le.innerHTML=Ps),ri=r(t),d(Xe.$$.fragment,t),oi=r(t),Re=m(t,"P",{"data-svelte-h":!0}),f(Re)!=="svelte-144iuaf"&&(Re.innerHTML=qs),ai=r(t),d(Ye.$$.fragment,t),mi=r(t),d(ze.$$.fragment,t),fi=r(t),Ae=m(t,"P",{"data-svelte-h":!0}),f(Ae)!=="svelte-1awv64g"&&(Ae.innerHTML=Ds),ui=r(t),Qe=m(t,"P",{"data-svelte-h":!0}),f(Qe)!=="svelte-1lgp3yr"&&(Qe.textContent=Ks),Mi=r(t),Se=m(t,"P",{"data-svelte-h":!0}),f(Se)!=="svelte-13y4ux1"&&(Se.textContent=Os),ci=r(t),Y.l(t),_l=r(t),Fe=m(t,"P",{"data-svelte-h":!0}),f(Fe)!=="svelte-46k05d"&&(Fe.textContent=tp),bi=r(t),d(Ee.$$.fragment,t),yi=r(t),A.l(t),hl=r(t),d(rt.$$.fragment,t),gi=r(t),Pe=m(t,"P",{"data-svelte-h":!0}),f(Pe)!=="svelte-rsq4pl"&&(Pe.innerHTML=ep),di=r(t),d(qe.$$.fragment,t),_i=r(t),De=m(t,"P",{"data-svelte-h":!0}),f(De)!=="svelte-1ixsmh"&&(De.textContent=lp),hi=r(t),d(Ke.$$.fragment,t),$i=r(t),S.l(t),$l=r(t),Oe=m(t,"P",{"data-svelte-h":!0}),f(Oe)!=="svelte-1oilp32"&&(Oe.innerHTML=np),wi=r(t),d(tl.$$.fragment,t),Ti=r(t),E.l(t),wl=r(t),el=m(t,"P",{"data-svelte-h":!0}),f(el)!=="svelte-16yil8s"&&(el.textContent=ip),Ui=r(t),d(ll.$$.fragment,t),ji=r(t),q.l(t),Tl=r(t),nl=m(t,"P",{"data-svelte-h":!0}),f(nl)!=="svelte-th8p0"&&(nl.textContent=sp),vi=r(t),d(il.$$.fragment,t),ki=r(t),d(sl.$$.fragment,t),Ji=r(t),O.l(t),Ul=r(t),jl=m(t,"P",{}),Zp(jl).forEach(l),this.h()},h(){B(i,"name","hf:doc:metadata"),B(i,"content",Mr),B(nt,"class","flex justify-center"),B(it,"class","flex justify-center"),B(st,"class","flex justify-center"),B(pt,"class","flex justify-center")},m(t,e){Vp(document.head,i),n(t,o,e),n(t,s,e),n(t,M,e),_(T,t,e),n(t,u,e),_(w,t,e),n(t,C,e),pl[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,kl,e),n(t,ut,e),n(t,Jl,e),_(Mt,t,e),n(t,Zl,e),rl[H].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,Hl,e),n(t,ht,e),n(t,Il,e),ol[N].m(t,e),n(t,yl,e),n(t,$t,e),n(t,Nl,e),n(t,wt,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,Yl,e),n(t,kt,e),n(t,zl,e),_(Jt,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,Ht,e),n(t,Kl,e),_(It,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,Yt,e),n(t,pn,e),n(t,zt,e),n(t,rn,e),_(At,t,e),n(t,on,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,$n,e),n(t,le,e),n(t,wn,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,pt,e),n(t,vn,e),n(t,se,e),n(t,kn,e),_(pe,t,e),n(t,Jn,e),n(t,re,e),n(t,Zn,e),n(t,oe,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,Hn,e),_(ce,t,e),n(t,In,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,Yn,e),_($e,t,e),n(t,zn,e),n(t,we,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),_(ke,t,e),n(t,Pn,e),n(t,Je,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),_(He,t,e),n(t,ni,e),_(Ie,t,e),n(t,ii,e),n(t,Ne,e),n(t,si,e),_(Ve,t,e),n(t,pi,e),n(t,Le,e),n(t,ri,e),_(Xe,t,e),n(t,oi,e),n(t,Re,e),n(t,ai,e),_(Ye,t,e),n(t,mi,e),_(ze,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[z].m(t,e),n(t,hl,e),_(rt,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,$i,e),ul[Q].m(t,e),n(t,$l,e),n(t,Oe,e),n(t,wi,e),_(tl,t,e),n(t,Ti,e),Ml[F].m(t,e),n(t,wl,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,ki,e),_(sl,t,e),n(t,Ji,e),O.m(t,e),n(t,Ul,e),n(t,jl,e),Zi=!0},p(t,[e]){const vp={};e&1&&(vp.fw=t[0]),T.$set(vp);let Wi=j;j=rp(t),j!==Wi&&(et(),c(pl[Wi],1,1,()=>{pl[Wi]=null}),tt(),v=pl[j],v||(v=pl[j]=pp[j](t),v.c()),b(v,1),v.m(Z.parentNode,Z));let Bi=H;H=ap(t),H!==Bi&&(et(),c(rl[Bi],1,1,()=>{rl[Bi]=null}),tt(),I=rl[H],I||(I=rl[H]=op[H](t),I.c()),b(I,1),I.m(bl.parentNode,bl));let xi=N;N=fp(t),N!==xi&&(et(),c(ol[xi],1,1,()=>{ol[xi]=null}),tt(),V=ol[N],V||(V=ol[N]=mp[N](t),V.c()),b(V,1),V.m(yl.parentNode,yl));let Hi=L;L=Mp(t),L!==Hi&&(et(),c(al[Hi],1,1,()=>{al[Hi]=null}),tt(),X=al[L],X||(X=al[L]=up[L](t),X.c()),b(X,1),X.m(gl.parentNode,gl)),Ci!==(Ci=cp(t))&&(K.d(1),K=Ci(t),K&&(K.c(),K.m(dl.parentNode,dl)));const kp={};e&2&&(kp.$$scope={dirty:e,ctx:t}),lt.$set(kp);let Ii=R;R=yp(t),R!==Ii&&(et(),c(ml[Ii],1,1,()=>{ml[Ii]=null}),tt(),Y=ml[R],Y||(Y=ml[R]=bp[R](t),Y.c()),b(Y,1),Y.m(_l.parentNode,_l));let Ni=z;z=dp(t),z!==Ni&&(et(),c(fl[Ni],1,1,()=>{fl[Ni]=null}),tt(),A=fl[z],A||(A=fl[z]=gp[z](t),A.c()),b(A,1),A.m(hl.parentNode,hl));const Jp={};e&2&&(Jp.$$scope={dirty:e,ctx:t}),rt.$set(Jp);let Vi=Q;Q=hp(t),Q!==Vi&&(et(),c(ul[Vi],1,1,()=>{ul[Vi]=null}),tt(),S=ul[Q],S||(S=ul[Q]=_p[Q](t),S.c()),b(S,1),S.m($l.parentNode,$l));let Li=F;F=wp(t),F!==Li&&(et(),c(Ml[Li],1,1,()=>{Ml[Li]=null}),tt(),E=Ml[F],E||(E=Ml[F]=$p[F](t),E.c()),b(E,1),E.m(wl.parentNode,wl));let Xi=P;P=Up(t),P!==Xi&&(et(),c(cl[Xi],1,1,()=>{cl[Xi]=null}),tt(),q=cl[P],q||(q=cl[P]=Tp[P](t),q.c()),b(q,1),q.m(Tl.parentNode,Tl)),Gi!==(Gi=jp(t))&&(O.d(1),O=Gi(t),O&&(O.c(),O.m(Ul.parentNode,Ul)))},i(t){Zi||(b(T.$$.fragment,t),b(w.$$.fragment,t),b(v),b(G.$$.fragment,t),b(Mt.$$.fragment,t),b(I),b(yt.$$.fragment,t),b(dt.$$.fragment,t),b(V),b(X),b(Ut.$$.fragment,t),b(vt.$$.fragment,t),b(Jt.$$.fragment,t),b(Ct.$$.fragment,t),b(lt.$$.fragment,t),b(It.$$.fragment,t),b(Lt.$$.fragment,t),b(Rt.$$.fragment,t),b(At.$$.fragment,t),b(St.$$.fragment,t),b(qt.$$.fragment,t),b(pe.$$.fragment,t),b(ae.$$.fragment,t),b(fe.$$.fragment,t),b(ce.$$.fragment,t),b(de.$$.fragment,t),b($e.$$.fragment,t),b(je.$$.fragment,t),b(ke.$$.fragment,t),b(Ze.$$.fragment,t),b(Ge.$$.fragment,t),b(He.$$.fragment,t),b(Ie.$$.fragment,t),b(Ve.$$.fragment,t),b(Xe.$$.fragment,t),b(Ye.$$.fragment,t),b(ze.$$.fragment,t),b(Y),b(Ee.$$.fragment,t),b(A),b(rt.$$.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(w.$$.fragment,t),c(v),c(G.$$.fragment,t),c(Mt.$$.fragment,t),c(I),c(yt.$$.fragment,t),c(dt.$$.fragment,t),c(V),c(X),c(Ut.$$.fragment,t),c(vt.$$.fragment,t),c(Jt.$$.fragment,t),c(Ct.$$.fragment,t),c(lt.$$.fragment,t),c(It.$$.fragment,t),c(Lt.$$.fragment,t),c(Rt.$$.fragment,t),c(At.$$.fragment,t),c(St.$$.fragment,t),c(qt.$$.fragment,t),c(pe.$$.fragment,t),c(ae.$$.fragment,t),c(fe.$$.fragment,t),c(ce.$$.fragment,t),c(de.$$.fragment,t),c($e.$$.fragment,t),c(je.$$.fragment,t),c(ke.$$.fragment,t),c(Ze.$$.fragment,t),c(Ge.$$.fragment,t),c(He.$$.fragment,t),c(Ie.$$.fragment,t),c(Ve.$$.fragment,t),c(Xe.$$.fragment,t),c(Ye.$$.fragment,t),c(ze.$$.fragment,t),c(Y),c(Ee.$$.fragment,t),c(A),c(rt.$$.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(o),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(kl),l(ut),l(Jl),l(Zl),l(bl),l(ct),l(Cl),l(bt),l(Gl),l(Wl),l(gt),l(Bl),l(xl),l(_t),l(Hl),l(ht),l(Il),l(yl),l($t),l(Nl),l(wt),l(Vl),l(gl),l(Tt),l(Ll),l(Xl),l(jt),l(Rl),l(Yl),l(kt),l(zl),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(Ht),l(Kl),l(Ol),l(Nt),l(tn),l(Vt),l(en),l(ln),l(Xt),l(nn),l(sn),l(Yt),l(pn),l(zt),l(rn),l(on),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($n),l(le),l(wn),l(st),l(Tn),l(ne),l(Un),l(ie),l(jn),l(pt),l(vn),l(se),l(kn),l(Jn),l(re),l(Zn),l(oe),l(Cn),l(Gn),l(me),l(Wn),l(Bn),l(ue),l(xn),l(Me),l(Hn),l(In),l(be),l(Nn),l(ye),l(Vn),l(ge),l(Ln),l(Xn),l(_e),l(Rn),l(he),l(Yn),l(zn),l(we),l(An),l(Te),l(Qn),l(Ue),l(Sn),l(Fn),l(ve),l(En),l(Pn),l(Je),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(pi),l(Le),l(ri),l(oi),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($i),l($l),l(Oe),l(wi),l(Ti),l(wl),l(el),l(Ui),l(ji),l(Tl),l(nl),l(vi),l(ki),l(Ji),l(Ul),l(jl)),l(i),h(T,t),h(w,t),pl[j].d(t),h(G,t),h(Mt,t),rl[H].d(t),h(yt,t),h(dt,t),ol[N].d(t),al[L].d(t),h(Ut,t),h(vt,t),h(Jt,t),h(Ct,t),K.d(t),h(lt,t),h(It,t),h(Lt,t),h(Rt,t),h(At,t),h(St,t),h(qt,t),h(pe,t),h(ae,t),h(fe,t),h(ce,t),h(de,t),h($e,t),h(je,t),h(ke,t),h(Ze,t),h(Ge,t),h(He,t),h(Ie,t),h(Ve,t),h(Xe,t),h(Ye,t),h(ze,t),ml[R].d(t),h(Ee,t),fl[z].d(t),h(rt,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 Mr='{"title":"共享預訓練模型","local":"共享預訓練模型","sections":[{"title":"使用 push_to_hub API","local":"使用-pushtohub-api","sections":[],"depth":2},{"title":"使用 huggingface_hub python庫","local":"使用-huggingfacehub-python庫","sections":[],"depth":2},{"title":"使用網絡界面","local":"使用網絡界面","sections":[],"depth":2},{"title":"上傳模型文件","local":"上傳模型文件","sections":[{"title":"The upload_file approach","local":"the-uploadfile-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 cr($,i,o){let s="pt";return Bp(()=>{const M=new URLSearchParams(window.location.search);o(0,s=M.get("fw")||"pt")}),[s]}class Tr extends Hp{constructor(i){super(),Ip(this,i,cr,ur,Wp,{})}}export{Tr as component};
