Buckets:

rtrm's picture
download
raw
79.8 kB
import{s as Vo,o as No,n as Lo}from"../chunks/scheduler.37c15a92.js";import{S as Ho,i as Qo,g as a,s as o,r as y,A as Xo,h as r,f as l,c as p,j as zo,u as U,x as f,k as B,y as Ao,a as n,v as T,t as M,b as ee,d,w as g,m as Yo,n as Eo,p as te}from"../chunks/index.7cb9c9b8.js";import{T as Io}from"../chunks/Tip.d10b3fc9.js";import{Y as Yi}from"../chunks/Youtube.8666c400.js";import{C as w}from"../chunks/CodeBlock.abae2786.js";import{C as Ro}from"../chunks/CourseFloatingBanner.df82c153.js";import{F as Fo}from"../chunks/FrameworkSwitchCourse.97630871.js";import{H as me,E as So}from"../chunks/getInferenceSnippets.f9350a3f.js";function Do(J){let i,m;return i=new Ro({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/ja/chapter4/section3_tf.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/ja/chapter4/section3_tf.ipynb"}]}}),{c(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function Po(J){let i,m;return i=new Ro({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/ja/chapter4/section3_pt.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/ja/chapter4/section3_pt.ipynb"}]}}),{c(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function qo(J){let i,m;return i=new Yi({props:{id:"pUh5cGmNV8Y"}}),{c(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function Oo(J){let i,m;return i=new Yi({props:{id:"Zh0FfmVrKX0"}}),{c(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function Ko(J){let i,m="モデルの学習にKerasを使用している場合、最も簡単にアップロードする方法は<code>PushToHubCallback</code>を<code>model.fit()</code>に渡すことです:",s,c,$,u,_="そして、<code>model.fit()</code>の呼び出しに<code>callbacks=[callback]</code>を追加してください。モデルを保存する度に(ここではエポック毎に)コールバックはモデルをリポジトリにアップロードします。このリポジトリは出力ディレクトリと同じ名前になりますが(この例では<code>bert-finetuned-mrpc</code>)、<code>hub_model_id = &quot;a_different_name&quot;</code>とすることで別の名前を指定することができます。",C,h,j="あなたが所属する組織にモデルをアップロードするには、<code>hub_model_id = &quot;my_organization/my_repo_name&quot;</code>とすればよいです。",Z;return c=new w({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=m,s=o(),y(c.$$.fragment),$=o(),u=a("p"),u.innerHTML=_,C=o(),h=a("p"),h.innerHTML=j},l(b){i=r(b,"P",{"data-svelte-h":!0}),f(i)!=="svelte-kxtid8"&&(i.innerHTML=m),s=p(b),U(c.$$.fragment,b),$=p(b),u=r(b,"P",{"data-svelte-h":!0}),f(u)!=="svelte-1li8tle"&&(u.innerHTML=_),C=p(b),h=r(b,"P",{"data-svelte-h":!0}),f(h)!=="svelte-4ebat7"&&(h.innerHTML=j)},m(b,k){n(b,i,k),n(b,s,k),T(c,b,k),n(b,$,k),n(b,u,k),n(b,C,k),n(b,h,k),Z=!0},i(b){Z||(d(c.$$.fragment,b),Z=!0)},o(b){M(c.$$.fragment,b),Z=!1},d(b){b&&(l(i),l(s),l($),l(u),l(C),l(h)),g(c,b)}}}function ep(J){let i,m="<code>Trainer</code>API を使ってモデルを学習させたのであれば、 <code>TrainingArguments</code>において<code>push_to_hub=True</code>と設定することで、最も簡単にハブにアップロードすることができます:",s,c,$,u,_="<code>trainer.train()</code>を実行すると、モデルを保存する度に(ここではエポック毎に)<code>Trainer</code>はモデルをレポジトリにアップロードします。このリポジトリは出力ディレクトリと同じ名前になりますが(この例では<code>bert-finetuned-mrpc</code>)、<code>hub_model_id = &quot;a_different_name&quot;</code>とすることで別の名前を指定することができます。",C,h,j="あなたが所属する組織にモデルをアップロードするには、<code>hub_model_id = &quot;my_organization/my_repo_name&quot;</code>とすればよいです。",Z,b,k="学習が終了したら、最後に <code>trainer.push_to_hub()</code> を実行して、モデルの最終版をアップロードしてください。この際、使用したハイパーパラメータと評価結果など、全ての関連するメタデータを含むモデルカードが生成されます!以下に、モデルカードに含まれる内容の例を示します。",q,G,ae='<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 c=new w({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=m,s=o(),y(c.$$.fragment),$=o(),u=a("p"),u.innerHTML=_,C=o(),h=a("p"),h.innerHTML=j,Z=o(),b=a("p"),b.innerHTML=k,q=o(),G=a("div"),G.innerHTML=ae,this.h()},l(v){i=r(v,"P",{"data-svelte-h":!0}),f(i)!=="svelte-185hb7h"&&(i.innerHTML=m),s=p(v),U(c.$$.fragment,v),$=p(v),u=r(v,"P",{"data-svelte-h":!0}),f(u)!=="svelte-n2e7wo"&&(u.innerHTML=_),C=p(v),h=r(v,"P",{"data-svelte-h":!0}),f(h)!=="svelte-4ebat7"&&(h.innerHTML=j),Z=p(v),b=r(v,"P",{"data-svelte-h":!0}),f(b)!=="svelte-xqpbe6"&&(b.innerHTML=k),q=p(v),G=r(v,"DIV",{class:!0,"data-svelte-h":!0}),f(G)!=="svelte-1lhrimn"&&(G.innerHTML=ae),this.h()},h(){B(G,"class","flex justify-center")},m(v,W){n(v,i,W),n(v,s,W),T(c,v,W),n(v,$,W),n(v,u,W),n(v,C,W),n(v,h,W),n(v,Z,W),n(v,b,W),n(v,q,W),n(v,G,W),x=!0},i(v){x||(d(c.$$.fragment,v),x=!0)},o(v){M(c.$$.fragment,v),x=!1},d(v){v&&(l(i),l(s),l($),l(u),l(C),l(h),l(Z),l(b),l(q),l(G)),g(c,v)}}}function tp(J){let i,m;return i=new w({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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function lp(J){let i,m;return i=new w({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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function np(J){let i,m='<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=m,this.h()},l(s){i=r(s,"DIV",{class:!0,"data-svelte-h":!0}),f(i)!=="svelte-5a3kk0"&&(i.innerHTML=m),this.h()},h(){B(i,"class","flex justify-center")},m(s,c){n(s,i,c)},d(s){s&&l(i)}}}function ip(J){let i,m='<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=m,this.h()},l(s){i=r(s,"DIV",{class:!0,"data-svelte-h":!0}),f(i)!=="svelte-19u1vyv"&&(i.innerHTML=m),this.h()},h(){B(i,"class","flex justify-center")},m(s,c){n(s,i,c)},d(s){s&&l(i)}}}function sp(J){let i,m="✏️ <strong>やってみよう!</strong> <code>bert-base-cased</code>チェックポイントに関連付けられたモデルとトークナイザーを、<code>push_to_hub()</code>メソッドを使って自分のネームスペースにあるリポジトリにアップロードします。レポジトリを削除する前に、レポジトリがあなたのページに正しく表示されることを確認してください。";return{c(){i=a("p"),i.innerHTML=m},l(s){i=r(s,"P",{"data-svelte-h":!0}),f(i)!=="svelte-1q89nty"&&(i.innerHTML=m)},m(s,c){n(s,i,c)},p:Lo,d(s){s&&l(i)}}}function op(J){let i,m;return i=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yTWFza2VkTE0lMkMlMjBBdXRvVG9rZW5pemVyJTBBJTBBY2hlY2twb2ludCUyMCUzRCUyMCUyMmNhbWVtYmVydC1iYXNlJTIyJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBJTBBJTIzJTIwJUUzJTgzJUEyJUUzJTgzJTg3JUUzJTgzJUFCJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgwJTgxJUUzJTgzJTg4JUUzJTgzJUFDJUUzJTgzJUJDJUUzJTgzJThCJUUzJTgzJUIzJUUzJTgyJUIwJUUzJTgxJTk3JUUzJTgxJTlGJUUzJTgyJThBJUUzJTgwJTgxJUU1JUJFJUFFJUU4JUFBJUJGJUU2JTk1JUI0JUUzJTgxJTk3JUUzJTgxJTlGJUUzJTgyJThBLi4uJUUzJTgwJTgyJTBBJTBBbW9kZWwuc2F2ZV9wcmV0cmFpbmVkKCUyMiUzQ3BhdGhfdG9fZHVtbXlfZm9sZGVyJTNFJTIyKSUwQXRva2VuaXplci5zYXZlX3ByZXRyYWluZWQoJTIyJTNDcGF0aF90b19kdW1teV9mb2xkZXIlM0UlMjIp",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"># モデルを使って、トレーニングしたり、微調整したり...。</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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function pp(J){let i,m;return i=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvck1hc2tlZExNJTJDJTIwQXV0b1Rva2VuaXplciUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJjYW1lbWJlcnQtYmFzZSUyMiUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCklMEElMEElMjMlMjAlRTMlODMlQTIlRTMlODMlODclRTMlODMlQUIlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElQTYlRTMlODAlODElRTMlODMlODglRTMlODMlQUMlRTMlODMlQkMlRTMlODMlOEIlRTMlODMlQjMlRTMlODIlQjAlRTMlODElOTclRTMlODElOUYlRTMlODIlOEElRTMlODAlODElRTUlQkUlQUUlRTglQUElQkYlRTYlOTUlQjQlRTMlODElOTclRTMlODElOUYlRTMlODIlOEEuLi4lRTMlODAlODIlMEElMEFtb2RlbC5zYXZlX3ByZXRyYWluZWQoJTIyJTNDcGF0aF90b19kdW1teV9mb2xkZXIlM0UlMjIpJTBBdG9rZW5pemVyLnNhdmVfcHJldHJhaW5lZCglMjIlM0NwYXRoX3RvX2R1bW15X2ZvbGRlciUzRSUyMik=",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"># モデルを使って、トレーニングしたり、微調整したり...。</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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function mp(J){let i,m,s,c="ファイルサイズを見ると(たとえば <code>ls -lh</code> で)、モデル状態のディクショナリファイル (<em>t5_model.h5</em>) が唯一、400 MB 以上あることがわかると思います。",$;return i=new w({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(){y(i.$$.fragment),m=o(),s=a("p"),s.innerHTML=c},l(u){U(i.$$.fragment,u),m=p(u),s=r(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-1syvo5p"&&(s.innerHTML=c)},m(u,_){T(i,u,_),n(u,m,_),n(u,s,_),$=!0},i(u){$||(d(i.$$.fragment,u),$=!0)},o(u){M(i.$$.fragment,u),$=!1},d(u){u&&(l(m),l(s)),g(i,u)}}}function ap(J){let i,m,s,c="ファイルサイズを見ると(たとえば <code>ls -lh</code> で)、モデル状態のディクショナリファイル (<em>pytorch_model.bin</em>) が唯一、400 MB 以上あることがわかると思います。",$;return i=new w({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(){y(i.$$.fragment),m=o(),s=a("p"),s.innerHTML=c},l(u){U(i.$$.fragment,u),m=p(u),s=r(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-1ajs7h9"&&(s.innerHTML=c)},m(u,_){T(i,u,_),n(u,m,_),n(u,s,_),$=!0},i(u){$||(d(i.$$.fragment,u),$=!0)},o(u){M(i.$$.fragment,u),$=!1},d(u){u&&(l(m),l(s)),g(i,u)}}}function rp(J){let i;return{c(){i=Yo("✏️ ウェブインターフェースからリポジトリを作成する場合、*.gitattributes* ファイルは自動的に *.bin* や *.h5* などの特定の拡張子を持つファイルを大きなファイルとみなすように設定され、git-lfs がそれらを追跡するようになります。ユーザー側で別途設定を行う必要はありません。")},l(m){i=Eo(m,"✏️ ウェブインターフェースからリポジトリを作成する場合、*.gitattributes* ファイルは自動的に *.bin* や *.h5* などの特定の拡張子を持つファイルを大きなファイルとみなすように設定され、git-lfs がそれらを追跡するようになります。ユーザー側で別途設定を行う必要はありません。")},m(m,s){n(m,i,s)},d(m){m&&l(i)}}}function fp(J){let i,m;return i=new w({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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function up(J){let i,m;return i=new w({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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function cp(J){let i,m,s,c="<code>LFS</code>で処理される<em>t5_model.h5</em>を除き、すべてのファイルが <code>Git</code> で処理されることが分かります。素晴らしい!",$;return i=new w({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(){y(i.$$.fragment),m=o(),s=a("p"),s.innerHTML=c},l(u){U(i.$$.fragment,u),m=p(u),s=r(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-1hg7sun"&&(s.innerHTML=c)},m(u,_){T(i,u,_),n(u,m,_),n(u,s,_),$=!0},i(u){$||(d(i.$$.fragment,u),$=!0)},o(u){M(i.$$.fragment,u),$=!1},d(u){u&&(l(m),l(s)),g(i,u)}}}function Mp(J){let i,m,s,c="<code>LFS</code>で処理される<em>pytorch_model.bin</em> と <em>sentencepiece.bpe.model</em> を除き、すべてのファイルが <code>Git</code> で処理されることが分かります。素晴らしい!",$;return i=new w({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(){y(i.$$.fragment),m=o(),s=a("p"),s.innerHTML=c},l(u){U(i.$$.fragment,u),m=p(u),s=r(u,"P",{"data-svelte-h":!0}),f(s)!=="svelte-1p3yrxz"&&(s.innerHTML=c)},m(u,_){T(i,u,_),n(u,m,_),n(u,s,_),$=!0},i(u){$||(d(i.$$.fragment,u),$=!0)},o(u){M(i.$$.fragment,u),$=!1},d(u){u&&(l(m),l(s)),g(i,u)}}}function dp(J){let i,m;return i=new w({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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function bp(J){let i,m;return i=new w({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(){y(i.$$.fragment)},l(s){U(i.$$.fragment,s)},m(s,c){T(i,s,c),m=!0},i(s){m||(d(i.$$.fragment,s),m=!0)},o(s){M(i.$$.fragment,s),m=!1},d(s){g(i,s)}}}function yp(J){let i,m="これが終了した時点でモデルリポジトリを見てみると、最近追加されたすべてのファイルを見ることができます:",s,c,$='<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では、モデルファイルやコミットを探索したり、各コミットでの差分を確認することができます:",h,j,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=m,s=o(),c=a("div"),c.innerHTML=$,u=o(),_=a("p"),_.textContent=C,h=o(),j=a("div"),j.innerHTML=Z,this.h()},l(b){i=r(b,"P",{"data-svelte-h":!0}),f(i)!=="svelte-g2onbd"&&(i.textContent=m),s=p(b),c=r(b,"DIV",{class:!0,"data-svelte-h":!0}),f(c)!=="svelte-tz4fi2"&&(c.innerHTML=$),u=p(b),_=r(b,"P",{"data-svelte-h":!0}),f(_)!=="svelte-1p7eenw"&&(_.textContent=C),h=p(b),j=r(b,"DIV",{class:!0,"data-svelte-h":!0}),f(j)!=="svelte-2jd8bj"&&(j.innerHTML=Z),this.h()},h(){B(c,"class","flex justify-center"),B(j,"class","flex justify-center")},m(b,k){n(b,i,k),n(b,s,k),n(b,c,k),n(b,u,k),n(b,_,k),n(b,h,k),n(b,j,k)},d(b){b&&(l(i),l(s),l(c),l(u),l(_),l(h),l(j))}}}function Up(J){let i,m="これが終了した時点でモデルリポジトリを見てみると、最近追加されたすべてのファイルを見ることができます:",s,c,$='<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では、モデルファイルやコミットを探索したり、各コミットでの差分を確認することができます:",h,j,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=m,s=o(),c=a("div"),c.innerHTML=$,u=o(),_=a("p"),_.textContent=C,h=o(),j=a("div"),j.innerHTML=Z,this.h()},l(b){i=r(b,"P",{"data-svelte-h":!0}),f(i)!=="svelte-g2onbd"&&(i.textContent=m),s=p(b),c=r(b,"DIV",{class:!0,"data-svelte-h":!0}),f(c)!=="svelte-1v39mjb"&&(c.innerHTML=$),u=p(b),_=r(b,"P",{"data-svelte-h":!0}),f(_)!=="svelte-1p7eenw"&&(_.textContent=C),h=p(b),j=r(b,"DIV",{class:!0,"data-svelte-h":!0}),f(j)!=="svelte-1g561m5"&&(j.innerHTML=Z),this.h()},h(){B(c,"class","flex justify-center"),B(j,"class","flex justify-center")},m(b,k){n(b,i,k),n(b,s,k),n(b,c,k),n(b,u,k),n(b,_,k),n(b,h,k),n(b,j,k)},d(b){b&&(l(i),l(s),l(c),l(u),l(_),l(h),l(j))}}}function Tp(J){let i,m,s,c,$,u,_,C,h,j,Z,b,k="以下のステップでは、学習済みモデルを🤗ハブに共有する最も簡単な方法について見ていきます。ハブ上で直接モデルを共有し、更新できるツールやユーティリティが用意されていますので、以下、それを見ていきます。",q,G,ae,x,v="たとえ非常に特殊なデータセットで学習させたとしても、モデルをコミュニティに共有することをお勧めします。他のユーザーの時間と計算資源を節約し、有用な学習済みモデルを提供することができるからです。代わりに、他の人の成果物の恩恵を受けることもできます!",W,re,Ei="新しいモデルリポジトリを作成するには、次の3つの方法があります:",kl,fe,Fi="<li><code>push_to_hub</code> APIを使用する</li> <li><code>huggingface_hub</code> Pythonライブラリを使用する</li> <li>ウェブインターフェイスを使用する</li>",Zl,ue,Si="リポジトリを作成したら、git と git-lfs を使ってリポジトリにファイルをアップロードすることができます。以下のセクションでは、モデルリポジトリを作成し、ファイルをアップロードする方法を説明します。",Cl,ce,Gl,z,I,yl,Me,Di="ハブにファイルをアップロードする最も簡単な方法は、<code>push_to_hub</code> API を使うことです。",Wl,de,Pi='先に進む前に、あなたが誰で、どのネームスペースに書き込み権限があるのかを通知するために、認証トークンを生成しましょう。<code>transformers</code>がインストールされている環境であることを確認してください(<a href="/course/chapter0">セットアップ</a>を参照のこと)。ノートブックの場合は、以下の関数を使ってログインすることができます:',Bl,be,xl,ye,qi="ターミナル上では次の通りです:",zl,Ue,Il,Te,Oi='どちらの場合も、ユーザー名とパスワードの入力を求められますが、これはハブにログインするときに使用するものと同じです。まだハブのプロフィールをお持ちでない方は、<a href="https://huggingface.co/join" rel="nofollow">こちら</a>から作成してください。',Rl,ge,Ki="これで、認証トークンがキャッシュフォルダに保存されました。それでは、リポジトリを作成しましょう!",Vl,R,V,Ul,Je,es="より低いレベルでは、モデル、トークナイザー、および設定オブジェクトの <code>push_to_hub()</code> メソッドを通じて、モデルハブへのアクセスを直接行うことができます。このメソッドは、リポジトリの作成と、モデルやトークナイザーのリポジトリへのプッシュの両方を行います。後述するAPIとは異なり、手動で操作する必要はありません。",Nl,_e,ts="その仕組みを理解するために、まずモデルとトークナイザーを初期化してみましょう:",Ll,N,L,Tl,$e,ls="これらを使って、トークナイザーにトークンを追加したり、モデルを学習させたり、微調整したりと、好きなことを自由に行うことができます。出来上がったモデル、重み、トークナイザーに満足したら、<code>model</code> オブジェクトから直接利用できる<code>push_to_hub()</code>メソッドを活用できます:",Hl,we,Ql,he,ns="これであなたのプロファイルに新しいリポジトリ <code>dummy-model</code> が作成され、モデルファイルがそこに格納されます。すべてのファイルがこのリポジトリで利用できるよう、トークナイザーにも同様に実行してください:",Xl,je,Al,ve,is="組織に所属している場合、<code>organization</code>引数を指定することで当該組織のネームスペースにアップロードできます:",Yl,ke,El,Ze,ss="特定のHugging Faceトークンを使うこともできます:",Fl,Ce,Sl,Ge,os='さあ、新しくアップロードしたモデルをモデルハブで見てみましょう:<em><a href="https://huggingface.co/user-or-organization/dummy-model" rel="nofollow">https://huggingface.co/user-or-organization/dummy-model</a></em>.',Dl,We,ps="“Files and versions”タブをクリックすると、これらのファイルが表示されるはずです:",Pl,gl,le,ql,Be,ms='これまで見てきたように、<code>push_to_hub()</code>メソッドはいくつかの引数をとるので、特定のリポジトリや組織のネームスペースにアップロードしたり、別のAPI トークンを使用したりすることが可能です。詳細については、<a href="https://huggingface.co/transformers/model_sharing.html" rel="nofollow">🤗 Transformers documentation</a>で仕様を確認することをお勧めします。',Ol,xe,as='この<code>push_to_hub()</code>メソッドは、ハギングフェイスハブに直接アクセスできる<a href="https://github.com/huggingface/huggingface_hub" rel="nofollow"><code>huggingface_hub</code></a> Pythonパッケージで実装されており、🤗 Transformersや、<a href="https://github.com/allenai/allennlp" rel="nofollow"><code>allenlp</code></a>といった、他の機械学習ライブラリに統合されています。この章では🤗 Transformersに焦点を当てますが、あなた自身のコードやライブラリに統合することは簡単です。',Kl,ze,rs="最後のセクションに移動して、新しく作成したリポジトリにファイルをアップロードする方法をご覧ください!",en,Ie,tn,Re,fs="<code>huggingface_hub</code> Pythonライブラリは、モデルとデータセットのハブのためのツールセットを提供するパッケージです。ハブ上のリポジトリに関する情報を取得し、それらを管理するような一般的なタスクのためのシンプルなメソッドとクラスを提供します。また、これらのリポジトリのコンテンツを管理し、あなたのプロジェクトやライブラリにハブを統合するために、gitの上で動作するシンプルなAPIを提供します。",ln,Ve,us="<code>push_to_hub</code> API を使用する場合と同様に、APIトークンをキャッシュに保存しておく必要があります。これを行うには、前のセクションで説明したように、CLI から <code>login</code> コマンドを使用する必要があります (Google Colab で実行する場合は、これらのコマンドの前に <code>!</code> 文字を付加してください):",nn,Ne,sn,Le,cs="<code>huggingface_hub</code> パッケージには、便利なメソッドとクラスがいくつかあります。まず、リポジトリの作成と削除を管理するためのメソッドがいくつかあります:",on,He,pn,Qe,Ms="さらに、ローカルリポジトリを管理するための非常に強力な <code>Repository</code> クラスを提供しています。これらのメソッドやクラスをどのように活用するかについては、次のセクションで説明します。",mn,Xe,ds="<code>create_repo</code> メソッドを使用すると、ハブに新しいリポジトリを作成できます:",an,Ae,rn,Ye,bs="これで、あなたのネームスペースに <code>dummy-model</code> というリポジトリが作成されます。もし必要なら、 <code>organization</code> 引数で所属する組織を指定することもできます:",fn,Ee,un,Fe,ys="あなたがその組織に所属していると仮定して、これで<code>huggingface</code>ネームスペースに <code>dummy-model</code> リポジトリが作成されます。その他の便利な引数は以下の通りです。",cn,Se,Us="<li><code>private</code>:リポジトリを他から見えるようにするかどうかを指定します。</li> <li><code>token</code>:キャッシュに保存されているトークンではない、別のトークンを指定します。</li> <li><code>repo_type</code>:モデルではなく「データセット」や「スペース」のレポジトリを作成します。指定できる値は<code>&quot;dataset&quot;</code>と<code>&quot;space&quot;</code>です。</li>",Mn,De,Ts="レポジトリが作成できたらファイルを追加してみましょう!次のセクションに移動して、3つの方法を見てみましょう。",dn,Pe,bn,qe,gs="ウェブインタフェースでは、ハブのリポジトリを直接管理することができます。このインターフェイスを使って、リポジトリの作成、ファイル(大きなものも!)の追加、モデルの検索、差分の可視化など、さまざまなことが簡単にできます。",yn,Oe,Js='レポジトリを新しく作るには、<a href="https://huggingface.co/new" rel="nofollow">huggingface.co/new</a>にアクセスして下さい:',Un,ne,_s='<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%"/>',Tn,Ke,$s="まず、リポジトリの所有者を指定します。これはあなた自身か、あなたが所属する組織のいずれかになります。組織を選択した場合、モデルは組織のページで紹介され、組織の全メンバーがリポジトリに貢献することができるようになります。",gn,et,ws="次に、モデルの名前を入力します。これはリポジトリの名前にもなります。最後に、モデルをパブリックにするかプライベートにするかを指定します。プライベートモデルは、一般公開されないモデルです。",Jn,tt,hs="モデルリポジトリを作成すると、このようなページが表示されるはずです:",_n,ie,js='<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,lt,vs="これは、あなたのモデルがホストされる場所です。ウェブインターフェースから直接、モデルにREADMEファイルを追加してみましょう。",wn,se,ks='<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%"/>',hn,nt,Zs="READMEファイルはMarkdownで書かれています - どうぞ自由に使ってください。この章の第三部は、モデルカードの作成に専念します。モデルカードはそのモデルができることを他の人に伝える場所であり、あなたのモデルに価値を与えるために最も重要なものです。",jn,it,Cs="“Files and versions”タブを見ると、まだ多くのファイルがないことがわかります。先ほど作成した <em>README.md</em> と、大きなファイルを追跡するための <em>.gitattributes</em> ファイルがあるだけです。",vn,oe,Gs='<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%"/>',kn,st,Ws="次は、新しいファイルを追加する方法について見てみましょう。",Zn,ot,Cn,pt,Bs='ハギングフェイスハブでのファイル管理の仕組みは、通常のファイルはgit、大きなファイルはgit-lfs (<a href="https://git-lfs.github.com/" rel="nofollow">Git Large File Storage</a>の略)をベースにしています。',Gn,mt,xs="次のセクションでは、ハブにファイルをアップロードする3つの方法について説明します: <code>huggingface_hub</code> と git コマンドです。",Wn,at,Bn,rt,zs="<code>upload_file</code> を使用する場合、git や git-lfs がシステムにインストールされている必要はありません。HTTP POST リクエストを使用して、ファイルを直接 🤗 ハブにプッシュします。この方法の制限は、5GB を超えるサイズのファイルを扱えないことです。5GB を超えるファイルを扱う場合は、以下に説明する他の2つの方法に従ってください。",xn,ft,Is="本APIは次のように使用することができます:",zn,ut,In,ct,Rs=`これは、リポジトリのルートである <code>&lt;path_to_file&gt;</code> にある <code>config.json</code> というファイルを <code>dummy-model</code> リポジトリにアップロードすることになります。
その他便利な引数は次の通りです:`,Rn,Mt,Vs="<li><code>token</code>、キャッシュに保存されているトークンではない、別のトークンを指定します。</li> <li><code>repo_type</code>、モデルではなく「データセット」や「スペース」のレポジトリを作成します。指定できる値は<code>&quot;dataset&quot;</code>と<code>&quot;space&quot;</code>です。</li>",Vn,dt,Nn,bt,Ns="<code>Repository</code> クラスは、gitに似た方法でローカルリポジトリを管理します。このクラスは、gitであれば苦労する点のほとんどを抽象化してくれます。",Ln,yt,Ls='このクラスを使用するには、git と git-lfs がインストールされている必要があります。そのため、始める前に git-lfs をインストールし(インストール方法は<a href="https://git-lfs.github.com/" rel="nofollow">こちら</a>を参照)、セットアップしておく必要があります。',Hn,Ut,Hs="作成したリポジトリでいろいろ試してみるために、リモートリポジトリをクローンしてローカルフォルダに初期化することから始めましょう:",Qn,Tt,Xn,gt,Qs="作業ディレクトリに <code>&lt;path_to_dummy_folder&gt;</code> というフォルダが作成されます。このフォルダには <code>.gitattributes</code> というファイルだけが存在しているはずです。これは、<code>create_repo</code> でリポジトリを作成する際に作成される唯一のファイルだからです。",An,Jt,Xs="これ以降、従来のgitのメソッドのいくつかを使用することができます:",Yn,_t,En,$t,As='その他にも同様のメソッドがあります!利用可能なすべてのメソッドの概要については、<a href="https://github.com/huggingface/huggingface_hub/tree/main/src/huggingface_hub#advanced-programmatic-repository-management" rel="nofollow">こちら</a>にある <code>Repository</code> のドキュメントをご覧になることをお勧めします。',Fn,wt,Ys="現在、私たちはハブにプッシュしたいモデルとトークナイザーを持っていると仮定します。リポジトリのクローンには成功し、そのリポジトリ内にファイルを保存することができるはずです。",Sn,ht,Es="まず、ローカルのクローンから最新の変更を取り込み、最新の状態にします:",Dn,jt,Pn,vt,Fs="それが終わったら、モデルファイルとトークナイザーファイルを保存します:",qn,kt,On,Zt,Ss="<code>&lt;path_to_dummy_folder&gt;</code> には、すべてのモデルファイルとトークナイザーファイルが格納されています。通常の git ワークフローに従って、ファイルをステージング・エリアに追加し、コミットしてハブにプッシュします。",Kn,Ct,ei,Gt,Ds="おめでとうございます!あなたは今、最初のファイルをハブにプッシュしました。",ti,Wt,li,Bt,Ps="これは、ファイルをアップロードするための必要最小限なアプローチで、gitとgit-lfsを直接使います。これまでのアプローチでは困難なことのほとんどは抽象化されていますが、このアプローチにはいくつかの注意点があります。より複雑なユースケースで説明していきます。",ni,xt,qs='このクラスを使用するには、git と git-lfs がインストールされている必要があります。そのため、始める前に<a href="https://git-lfs.github.com/" rel="nofollow">git-lfs</a>をインストールし(インストール方法はこちらを参照)、セットアップしておいてください。',ii,zt,Os="まず最初に git-lfs を初期化することから始めます:",si,It,oi,Rt,pi,Vt,Ks="それが終わったら、まず最初にモデルリポジトリをクローンします:",mi,Nt,ai,Lt,eo="私のユーザ名は <code>lysandre</code> で、モデル名は <code>dummy</code> としたので、私の場合、コマンドは以下のようになります:",ri,Ht,fi,Qt,to="作業ディレクトリに<em>dummy</em>という名前のフォルダができました。このフォルダに <code>cd</code> して、中身を見ることができます:",ui,Xt,ci,At,Mi,Yt,lo="ハギングフェイスハブの <code>create_repo</code> メソッドを使ってリポジトリを作成したばかりの場合、このフォルダーには <code>.gitattributes</code> という隠しファイルだけが存在しているはずです。前のセクションの指示に従ってウェブインターフェースを使用してリポジトリを作成した場合、このフォルダーには、ここに示すように、<code>.gitattributes</code> ファイルと一緒に<em>README.md</em> ファイルだけが存在しているはずです。",di,Et,no="設定ファイルや語彙ファイルなど、基本的に数メガバイト以下の通常サイズのファイルを追加することは、gitベースのシステムで行うのとまったく同じように行われます。しかし、より大きなファイルを <em>huggingface.co</em> にプッシュするには、git-lfs を通して登録する必要があります。",bi,Ft,io="Pythonに少し戻って、ダミーリポジトリにコミットするモデルとトークナイザを生成してみましょう:",yi,H,Q,Jl,St,so="さて、モデルとトークナイザーのアーティファクトをいくつか保存したので、<em>dummy</em> フォルダーをもう一度見てみましょう。",Ui,Dt,Ti,X,A,_l,pe,gi,Pt,oo="これで、従来の Git リポジトリと同じように作業を進められるようになりました。すべてのファイルを Git のステージング環境に追加するには、<code>git add</code> コマンドを使います:",Ji,qt,_i,Ot,po="そして、現在ステージングされているファイルを見ることができます:",$i,Kt,wi,Y,E,$l,el,mo="同様に、git-lfs が正しいファイルを追跡しているかどうかを <code>status</code> コマンドで確認することができます:",hi,tl,ji,F,S,wl,ll,ao="最後のステップ、コミットと<em>huggingface.co</em>リモートリポジトリへのプッシュへと進みましょう:",vi,nl,ki,D,P,hl,il,ro="プッシュは、インターネットの接続速度やファイルの大きさによって、少し時間がかかることがあります:",Zi,sl,Ci,ol,Gi,jl,pl,Wi,vl,Bi;$=new Fo({props:{fw:J[0]}}),_=new me({props:{title:"学習済みモデルを共有する",local:"学習済みモデルを共有する",headingTag:"h1"}});const fo=[Po,Do],ml=[];function uo(e,t){return e[0]==="pt"?0:1}h=uo(J),j=ml[h]=fo[h](J),G=new Yi({props:{id:"9yY3RB_GSPM"}}),ce=new me({props:{title:"push_to_hub APIを使用する",local:"pushtohub-apiを使用する",headingTag:"h2"}});const co=[Oo,qo],al=[];function Mo(e,t){return e[0]==="pt"?0:1}z=Mo(J),I=al[z]=co[z](J),be=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login
notebook_login()`,wrap:!1}}),Ue=new w({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}});const bo=[ep,Ko],rl=[];function yo(e,t){return e[0]==="pt"?0:1}R=yo(J),V=rl[R]=bo[R](J);const Uo=[lp,tp],fl=[];function To(e,t){return e[0]==="pt"?0:1}N=To(J),L=fl[N]=Uo[N](J),we=new w({props:{code:"bW9kZWwucHVzaF90b19odWIoJTIyZHVtbXktbW9kZWwlMjIp",highlighted:'model.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>)',wrap:!1}}),je=new w({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyKQ==",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>)',wrap:!1}}),ke=new w({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}}),Ce=new w({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 go(e,t){return e[0]==="pt"?ip:np}let xi=go(J),O=xi(J);le=new Io({props:{$$slots:{default:[sp]},$$scope:{ctx:J}}}),Ie=new me({props:{title:"huggingface_hub Pythonライブラリを使用する",local:"huggingfacehub-pythonライブラリを使用する",headingTag:"h2"}}),Ne=new w({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),He=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMCglMEElMjAlMjAlMjAlMjAlMjMlMjAlRTMlODMlQTYlRTMlODMlQkMlRTMlODIlQjYlRTMlODMlQkMlRTclQUUlQTElRTclOTAlODYlMEElMjAlMjAlMjAlMjBsb2dpbiUyQyUwQSUyMCUyMCUyMCUyMGxvZ291dCUyQyUwQSUyMCUyMCUyMCUyMHdob2FtaSUyQyUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMCVFMyU4MyVBQyVFMyU4MyU5RCVFMyU4MiVCOCVFMyU4MyU4OCVFMyU4MyVBQSVFMyU4MSVBRSVFNCVCRCU5QyVFNiU4OCU5MCVFMyU4MSVBOCVFNyVBRSVBMSVFNyU5MCU4NiUwQSUyMCUyMCUyMCUyMGNyZWF0ZV9yZXBvJTJDJTBBJTIwJTIwJTIwJTIwZGVsZXRlX3JlcG8lMkMlMEElMjAlMjAlMjAlMjB1cGRhdGVfcmVwb192aXNpYmlsaXR5JTJDJTBBJTBBJTIwJTIwJTIwJTIwJTIzJTIwJUUzJTgxJTlEJUUzJTgxJTk3JUUzJTgxJUE2JUUzJTgwJTgxJUUzJTgyJUIzJUUzJTgzJUIzJUUzJTgzJTg2JUUzJTgzJUIzJUUzJTgzJTg0JUUzJTgxJUFCJUU5JTk2JUEyJUUzJTgxJTk5JUUzJTgyJThCJUU2JTgzJTg1JUU1JUEwJUIxJUUzJTgyJTkyJUU1JThGJTk2JUU1JUJFJTk3JUVGJUJDJThGJUU1JUE0JTg5JUU2JTlCJUI0JUUzJTgxJTk5JUUzJTgyJThCJUUzJTgxJTlGJUUzJTgyJTgxJUUzJTgxJUFFJUUzJTgxJTg0JUUzJTgxJThGJUUzJTgxJUE0JUUzJTgxJThCJUUzJTgxJUFFJUUzJTgzJUExJUUzJTgyJUJEJUUzJTgzJTgzJUUzJTgzJTg5JTBBJTIwJTIwJTIwJTIwbGlzdF9tb2RlbHMlMkMlMEElMjAlMjAlMjAlMjBsaXN0X2RhdGFzZXRzJTJDJTBBJTIwJTIwJTIwJTIwbGlzdF9tZXRyaWNzJTJDJTBBJTIwJTIwJTIwJTIwbGlzdF9yZXBvX2ZpbGVzJTJDJTBBJTIwJTIwJTIwJTIwdXBsb2FkX2ZpbGUlMkMlMEElMjAlMjAlMjAlMjBkZWxldGVfZmlsZSUyQyUwQSk=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> (
<span class="hljs-comment"># ユーザー管理</span>
login,
logout,
whoami,
<span class="hljs-comment"># レポジトリの作成と管理</span>
create_repo,
delete_repo,
update_repo_visibility,
<span class="hljs-comment"># そして、コンテンツに関する情報を取得/変更するためのいくつかのメソッド</span>
list_models,
list_datasets,
list_metrics,
list_repo_files,
upload_file,
delete_file,
)`,wrap:!1}}),Ae=new w({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}}),Ee=new w({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}}),Pe=new me({props:{title:"ウェブインターフェイスを使う",local:"ウェブインターフェイスを使う",headingTag:"h2"}}),ot=new me({props:{title:"モデルファイルのアップロード",local:"モデルファイルのアップロード",headingTag:"h2"}}),at=new me({props:{title:"upload_file を使ったアプローチ",local:"uploadfile-を使ったアプローチ",headingTag:"h3"}}),ut=new w({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}}),dt=new me({props:{title:"Repository クラス",local:"repository-クラス",headingTag:"h3"}}),Tt=new w({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}}),_t=new w({props:{code:"cmVwby5naXRfcHVsbCgpJTBBcmVwby5naXRfYWRkKCklMEFyZXBvLmdpdF9jb21taXQoKSUwQXJlcG8uZ2l0X3B1c2goKSUwQXJlcG8uZ2l0X3RhZygp",highlighted:`repo.git_pull()
repo.git_add()
repo.git_commit()
repo.git_push()
repo.git_tag()`,wrap:!1}}),jt=new w({props:{code:"cmVwby5naXRfcHVsbCgp",highlighted:"repo.git_pull()",wrap:!1}}),kt=new w({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}}),Ct=new w({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}}),Wt=new me({props:{title:"gitベースのアプローチ",local:"gitベースのアプローチ",headingTag:"h3"}}),It=new w({props:{code:"Z2l0JTIwbGZzJTIwaW5zdGFsbA==",highlighted:"git lfs install",wrap:!1}}),Rt=new w({props:{code:"VXBkYXRlZCUyMGdpdCUyMGhvb2tzLiUwQUdpdCUyMExGUyUyMGluaXRpYWxpemVkLg==",highlighted:`Updated git hooks.
Git LFS initialized.`,wrap:!1}}),Nt=new w({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}}),Ht=new w({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbHlzYW5kcmUlMkZkdW1teQ==",highlighted:'git clone https:<span class="hljs-regexp">//</span>huggingface.co<span class="hljs-regexp">/lysandre/</span>dummy',wrap:!1}}),Xt=new w({props:{code:"Y2QlMjBkdW1teSUyMCUyNiUyNiUyMGxz",highlighted:'<span class="hljs-built_in">cd</span> dummy &amp;&amp; <span class="hljs-built_in">ls</span>',wrap:!1}}),At=new w({props:{code:"UkVBRE1FLm1k",highlighted:"README.md",wrap:!1}});const Jo=[pp,op],ul=[];function _o(e,t){return e[0]==="pt"?0:1}H=_o(J),Q=ul[H]=Jo[H](J),Dt=new w({props:{code:"bHM=",highlighted:'<span class="hljs-built_in">ls</span>',wrap:!1}});const $o=[ap,mp],cl=[];function wo(e,t){return e[0]==="pt"?0:1}X=wo(J),A=cl[X]=$o[X](J),pe=new Io({props:{$$slots:{default:[rp]},$$scope:{ctx:J}}}),qt=new w({props:{code:"Z2l0JTIwYWRkJTIwLg==",highlighted:"git add .",wrap:!1}}),Kt=new w({props:{code:"Z2l0JTIwc3RhdHVz",highlighted:"git status",wrap:!1}});const ho=[up,fp],Ml=[];function jo(e,t){return e[0]==="pt"?0:1}Y=jo(J),E=Ml[Y]=ho[Y](J),tl=new w({props:{code:"Z2l0JTIwbGZzJTIwc3RhdHVz",highlighted:"git lfs status",wrap:!1}});const vo=[Mp,cp],dl=[];function ko(e,t){return e[0]==="pt"?0:1}F=ko(J),S=dl[F]=vo[F](J),nl=new w({props:{code:"Z2l0JTIwY29tbWl0JTIwLW0lMjAlMjJGaXJzdCUyMG1vZGVsJTIwdmVyc2lvbiUyMg==",highlighted:'git commit -m <span class="hljs-string">&quot;First model version&quot;</span>',wrap:!1}});const Zo=[bp,dp],bl=[];function Co(e,t){return e[0]==="pt"?0:1}D=Co(J),P=bl[D]=Zo[D](J),sl=new w({props:{code:"Z2l0JTIwcHVzaA==",highlighted:"git push",wrap:!1}}),ol=new w({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 Go(e,t){return e[0]==="pt"?Up:yp}let zi=Go(J),K=zi(J);return pl=new So({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ja/chapter4/3.mdx"}}),{c(){i=a("meta"),m=o(),s=a("p"),c=o(),y($.$$.fragment),u=o(),y(_.$$.fragment),C=o(),j.c(),Z=o(),b=a("p"),b.textContent=k,q=o(),y(G.$$.fragment),ae=o(),x=a("p"),x.textContent=v,W=o(),re=a("p"),re.textContent=Ei,kl=o(),fe=a("ul"),fe.innerHTML=Fi,Zl=o(),ue=a("p"),ue.textContent=Si,Cl=o(),y(ce.$$.fragment),Gl=o(),I.c(),yl=o(),Me=a("p"),Me.innerHTML=Di,Wl=o(),de=a("p"),de.innerHTML=Pi,Bl=o(),y(be.$$.fragment),xl=o(),ye=a("p"),ye.textContent=qi,zl=o(),y(Ue.$$.fragment),Il=o(),Te=a("p"),Te.innerHTML=Oi,Rl=o(),ge=a("p"),ge.textContent=Ki,Vl=o(),V.c(),Ul=o(),Je=a("p"),Je.innerHTML=es,Nl=o(),_e=a("p"),_e.textContent=ts,Ll=o(),L.c(),Tl=o(),$e=a("p"),$e.innerHTML=ls,Hl=o(),y(we.$$.fragment),Ql=o(),he=a("p"),he.innerHTML=ns,Xl=o(),y(je.$$.fragment),Al=o(),ve=a("p"),ve.innerHTML=is,Yl=o(),y(ke.$$.fragment),El=o(),Ze=a("p"),Ze.textContent=ss,Fl=o(),y(Ce.$$.fragment),Sl=o(),Ge=a("p"),Ge.innerHTML=os,Dl=o(),We=a("p"),We.textContent=ps,Pl=o(),O.c(),gl=o(),y(le.$$.fragment),ql=o(),Be=a("p"),Be.innerHTML=ms,Ol=o(),xe=a("p"),xe.innerHTML=as,Kl=o(),ze=a("p"),ze.textContent=rs,en=o(),y(Ie.$$.fragment),tn=o(),Re=a("p"),Re.innerHTML=fs,ln=o(),Ve=a("p"),Ve.innerHTML=us,nn=o(),y(Ne.$$.fragment),sn=o(),Le=a("p"),Le.innerHTML=cs,on=o(),y(He.$$.fragment),pn=o(),Qe=a("p"),Qe.innerHTML=Ms,mn=o(),Xe=a("p"),Xe.innerHTML=ds,an=o(),y(Ae.$$.fragment),rn=o(),Ye=a("p"),Ye.innerHTML=bs,fn=o(),y(Ee.$$.fragment),un=o(),Fe=a("p"),Fe.innerHTML=ys,cn=o(),Se=a("ul"),Se.innerHTML=Us,Mn=o(),De=a("p"),De.textContent=Ts,dn=o(),y(Pe.$$.fragment),bn=o(),qe=a("p"),qe.textContent=gs,yn=o(),Oe=a("p"),Oe.innerHTML=Js,Un=o(),ne=a("div"),ne.innerHTML=_s,Tn=o(),Ke=a("p"),Ke.textContent=$s,gn=o(),et=a("p"),et.textContent=ws,Jn=o(),tt=a("p"),tt.textContent=hs,_n=o(),ie=a("div"),ie.innerHTML=js,$n=o(),lt=a("p"),lt.textContent=vs,wn=o(),se=a("div"),se.innerHTML=ks,hn=o(),nt=a("p"),nt.textContent=Zs,jn=o(),it=a("p"),it.innerHTML=Cs,vn=o(),oe=a("div"),oe.innerHTML=Gs,kn=o(),st=a("p"),st.textContent=Ws,Zn=o(),y(ot.$$.fragment),Cn=o(),pt=a("p"),pt.innerHTML=Bs,Gn=o(),mt=a("p"),mt.innerHTML=xs,Wn=o(),y(at.$$.fragment),Bn=o(),rt=a("p"),rt.innerHTML=zs,xn=o(),ft=a("p"),ft.textContent=Is,zn=o(),y(ut.$$.fragment),In=o(),ct=a("p"),ct.innerHTML=Rs,Rn=o(),Mt=a("ul"),Mt.innerHTML=Vs,Vn=o(),y(dt.$$.fragment),Nn=o(),bt=a("p"),bt.innerHTML=Ns,Ln=o(),yt=a("p"),yt.innerHTML=Ls,Hn=o(),Ut=a("p"),Ut.textContent=Hs,Qn=o(),y(Tt.$$.fragment),Xn=o(),gt=a("p"),gt.innerHTML=Qs,An=o(),Jt=a("p"),Jt.textContent=Xs,Yn=o(),y(_t.$$.fragment),En=o(),$t=a("p"),$t.innerHTML=As,Fn=o(),wt=a("p"),wt.textContent=Ys,Sn=o(),ht=a("p"),ht.textContent=Es,Dn=o(),y(jt.$$.fragment),Pn=o(),vt=a("p"),vt.textContent=Fs,qn=o(),y(kt.$$.fragment),On=o(),Zt=a("p"),Zt.innerHTML=Ss,Kn=o(),y(Ct.$$.fragment),ei=o(),Gt=a("p"),Gt.textContent=Ds,ti=o(),y(Wt.$$.fragment),li=o(),Bt=a("p"),Bt.textContent=Ps,ni=o(),xt=a("p"),xt.innerHTML=qs,ii=o(),zt=a("p"),zt.textContent=Os,si=o(),y(It.$$.fragment),oi=o(),y(Rt.$$.fragment),pi=o(),Vt=a("p"),Vt.textContent=Ks,mi=o(),y(Nt.$$.fragment),ai=o(),Lt=a("p"),Lt.innerHTML=eo,ri=o(),y(Ht.$$.fragment),fi=o(),Qt=a("p"),Qt.innerHTML=to,ui=o(),y(Xt.$$.fragment),ci=o(),y(At.$$.fragment),Mi=o(),Yt=a("p"),Yt.innerHTML=lo,di=o(),Et=a("p"),Et.innerHTML=no,bi=o(),Ft=a("p"),Ft.textContent=io,yi=o(),Q.c(),Jl=o(),St=a("p"),St.innerHTML=so,Ui=o(),y(Dt.$$.fragment),Ti=o(),A.c(),_l=o(),y(pe.$$.fragment),gi=o(),Pt=a("p"),Pt.innerHTML=oo,Ji=o(),y(qt.$$.fragment),_i=o(),Ot=a("p"),Ot.textContent=po,$i=o(),y(Kt.$$.fragment),wi=o(),E.c(),$l=o(),el=a("p"),el.innerHTML=mo,hi=o(),y(tl.$$.fragment),ji=o(),S.c(),wl=o(),ll=a("p"),ll.innerHTML=ao,vi=o(),y(nl.$$.fragment),ki=o(),P.c(),hl=o(),il=a("p"),il.textContent=ro,Zi=o(),y(sl.$$.fragment),Ci=o(),y(ol.$$.fragment),Gi=o(),K.c(),jl=o(),y(pl.$$.fragment),Wi=o(),vl=a("p"),this.h()},l(e){const t=Xo("svelte-u9bgzb",document.head);i=r(t,"META",{name:!0,content:!0}),t.forEach(l),m=p(e),s=r(e,"P",{}),zo(s).forEach(l),c=p(e),U($.$$.fragment,e),u=p(e),U(_.$$.fragment,e),C=p(e),j.l(e),Z=p(e),b=r(e,"P",{"data-svelte-h":!0}),f(b)!=="svelte-dblyhg"&&(b.textContent=k),q=p(e),U(G.$$.fragment,e),ae=p(e),x=r(e,"P",{"data-svelte-h":!0}),f(x)!=="svelte-1y8zc2f"&&(x.textContent=v),W=p(e),re=r(e,"P",{"data-svelte-h":!0}),f(re)!=="svelte-1eurtwq"&&(re.textContent=Ei),kl=p(e),fe=r(e,"UL",{"data-svelte-h":!0}),f(fe)!=="svelte-1d03o7y"&&(fe.innerHTML=Fi),Zl=p(e),ue=r(e,"P",{"data-svelte-h":!0}),f(ue)!=="svelte-ev3mc8"&&(ue.textContent=Si),Cl=p(e),U(ce.$$.fragment,e),Gl=p(e),I.l(e),yl=p(e),Me=r(e,"P",{"data-svelte-h":!0}),f(Me)!=="svelte-bz2t6j"&&(Me.innerHTML=Di),Wl=p(e),de=r(e,"P",{"data-svelte-h":!0}),f(de)!=="svelte-682a17"&&(de.innerHTML=Pi),Bl=p(e),U(be.$$.fragment,e),xl=p(e),ye=r(e,"P",{"data-svelte-h":!0}),f(ye)!=="svelte-1fgael8"&&(ye.textContent=qi),zl=p(e),U(Ue.$$.fragment,e),Il=p(e),Te=r(e,"P",{"data-svelte-h":!0}),f(Te)!=="svelte-1fxtqdn"&&(Te.innerHTML=Oi),Rl=p(e),ge=r(e,"P",{"data-svelte-h":!0}),f(ge)!=="svelte-26ch9w"&&(ge.textContent=Ki),Vl=p(e),V.l(e),Ul=p(e),Je=r(e,"P",{"data-svelte-h":!0}),f(Je)!=="svelte-bwqpkr"&&(Je.innerHTML=es),Nl=p(e),_e=r(e,"P",{"data-svelte-h":!0}),f(_e)!=="svelte-1ml5udr"&&(_e.textContent=ts),Ll=p(e),L.l(e),Tl=p(e),$e=r(e,"P",{"data-svelte-h":!0}),f($e)!=="svelte-ntndzv"&&($e.innerHTML=ls),Hl=p(e),U(we.$$.fragment,e),Ql=p(e),he=r(e,"P",{"data-svelte-h":!0}),f(he)!=="svelte-153dla9"&&(he.innerHTML=ns),Xl=p(e),U(je.$$.fragment,e),Al=p(e),ve=r(e,"P",{"data-svelte-h":!0}),f(ve)!=="svelte-1x4igfs"&&(ve.innerHTML=is),Yl=p(e),U(ke.$$.fragment,e),El=p(e),Ze=r(e,"P",{"data-svelte-h":!0}),f(Ze)!=="svelte-m6wfoc"&&(Ze.textContent=ss),Fl=p(e),U(Ce.$$.fragment,e),Sl=p(e),Ge=r(e,"P",{"data-svelte-h":!0}),f(Ge)!=="svelte-c4hqog"&&(Ge.innerHTML=os),Dl=p(e),We=r(e,"P",{"data-svelte-h":!0}),f(We)!=="svelte-1suwefr"&&(We.textContent=ps),Pl=p(e),O.l(e),gl=p(e),U(le.$$.fragment,e),ql=p(e),Be=r(e,"P",{"data-svelte-h":!0}),f(Be)!=="svelte-1wrqh76"&&(Be.innerHTML=ms),Ol=p(e),xe=r(e,"P",{"data-svelte-h":!0}),f(xe)!=="svelte-qudeht"&&(xe.innerHTML=as),Kl=p(e),ze=r(e,"P",{"data-svelte-h":!0}),f(ze)!=="svelte-rrdb2x"&&(ze.textContent=rs),en=p(e),U(Ie.$$.fragment,e),tn=p(e),Re=r(e,"P",{"data-svelte-h":!0}),f(Re)!=="svelte-1oycgn"&&(Re.innerHTML=fs),ln=p(e),Ve=r(e,"P",{"data-svelte-h":!0}),f(Ve)!=="svelte-16ylujn"&&(Ve.innerHTML=us),nn=p(e),U(Ne.$$.fragment,e),sn=p(e),Le=r(e,"P",{"data-svelte-h":!0}),f(Le)!=="svelte-4bzqwj"&&(Le.innerHTML=cs),on=p(e),U(He.$$.fragment,e),pn=p(e),Qe=r(e,"P",{"data-svelte-h":!0}),f(Qe)!=="svelte-4xhxmy"&&(Qe.innerHTML=Ms),mn=p(e),Xe=r(e,"P",{"data-svelte-h":!0}),f(Xe)!=="svelte-115rnel"&&(Xe.innerHTML=ds),an=p(e),U(Ae.$$.fragment,e),rn=p(e),Ye=r(e,"P",{"data-svelte-h":!0}),f(Ye)!=="svelte-1tgogj4"&&(Ye.innerHTML=bs),fn=p(e),U(Ee.$$.fragment,e),un=p(e),Fe=r(e,"P",{"data-svelte-h":!0}),f(Fe)!=="svelte-dtfbj7"&&(Fe.innerHTML=ys),cn=p(e),Se=r(e,"UL",{"data-svelte-h":!0}),f(Se)!=="svelte-1q8g8ms"&&(Se.innerHTML=Us),Mn=p(e),De=r(e,"P",{"data-svelte-h":!0}),f(De)!=="svelte-gd1foi"&&(De.textContent=Ts),dn=p(e),U(Pe.$$.fragment,e),bn=p(e),qe=r(e,"P",{"data-svelte-h":!0}),f(qe)!=="svelte-135wfzc"&&(qe.textContent=gs),yn=p(e),Oe=r(e,"P",{"data-svelte-h":!0}),f(Oe)!=="svelte-6rnzsq"&&(Oe.innerHTML=Js),Un=p(e),ne=r(e,"DIV",{class:!0,"data-svelte-h":!0}),f(ne)!=="svelte-4qsgxt"&&(ne.innerHTML=_s),Tn=p(e),Ke=r(e,"P",{"data-svelte-h":!0}),f(Ke)!=="svelte-nyfct8"&&(Ke.textContent=$s),gn=p(e),et=r(e,"P",{"data-svelte-h":!0}),f(et)!=="svelte-rcho6o"&&(et.textContent=ws),Jn=p(e),tt=r(e,"P",{"data-svelte-h":!0}),f(tt)!=="svelte-yyr8p2"&&(tt.textContent=hs),_n=p(e),ie=r(e,"DIV",{class:!0,"data-svelte-h":!0}),f(ie)!=="svelte-1xh6nig"&&(ie.innerHTML=js),$n=p(e),lt=r(e,"P",{"data-svelte-h":!0}),f(lt)!=="svelte-1bmmvwt"&&(lt.textContent=vs),wn=p(e),se=r(e,"DIV",{class:!0,"data-svelte-h":!0}),f(se)!=="svelte-1jm8l0p"&&(se.innerHTML=ks),hn=p(e),nt=r(e,"P",{"data-svelte-h":!0}),f(nt)!=="svelte-1xadv2w"&&(nt.textContent=Zs),jn=p(e),it=r(e,"P",{"data-svelte-h":!0}),f(it)!=="svelte-5souoh"&&(it.innerHTML=Cs),vn=p(e),oe=r(e,"DIV",{class:!0,"data-svelte-h":!0}),f(oe)!=="svelte-1kuf5jc"&&(oe.innerHTML=Gs),kn=p(e),st=r(e,"P",{"data-svelte-h":!0}),f(st)!=="svelte-1ke0nbp"&&(st.textContent=Ws),Zn=p(e),U(ot.$$.fragment,e),Cn=p(e),pt=r(e,"P",{"data-svelte-h":!0}),f(pt)!=="svelte-1wkvlvm"&&(pt.innerHTML=Bs),Gn=p(e),mt=r(e,"P",{"data-svelte-h":!0}),f(mt)!=="svelte-1mhiwu4"&&(mt.innerHTML=xs),Wn=p(e),U(at.$$.fragment,e),Bn=p(e),rt=r(e,"P",{"data-svelte-h":!0}),f(rt)!=="svelte-1jkmm0n"&&(rt.innerHTML=zs),xn=p(e),ft=r(e,"P",{"data-svelte-h":!0}),f(ft)!=="svelte-1n2nxfk"&&(ft.textContent=Is),zn=p(e),U(ut.$$.fragment,e),In=p(e),ct=r(e,"P",{"data-svelte-h":!0}),f(ct)!=="svelte-1c0eyz9"&&(ct.innerHTML=Rs),Rn=p(e),Mt=r(e,"UL",{"data-svelte-h":!0}),f(Mt)!=="svelte-1ph8sxh"&&(Mt.innerHTML=Vs),Vn=p(e),U(dt.$$.fragment,e),Nn=p(e),bt=r(e,"P",{"data-svelte-h":!0}),f(bt)!=="svelte-frnju6"&&(bt.innerHTML=Ns),Ln=p(e),yt=r(e,"P",{"data-svelte-h":!0}),f(yt)!=="svelte-1n74y0d"&&(yt.innerHTML=Ls),Hn=p(e),Ut=r(e,"P",{"data-svelte-h":!0}),f(Ut)!=="svelte-321pwo"&&(Ut.textContent=Hs),Qn=p(e),U(Tt.$$.fragment,e),Xn=p(e),gt=r(e,"P",{"data-svelte-h":!0}),f(gt)!=="svelte-ngpaut"&&(gt.innerHTML=Qs),An=p(e),Jt=r(e,"P",{"data-svelte-h":!0}),f(Jt)!=="svelte-1h3tnw9"&&(Jt.textContent=Xs),Yn=p(e),U(_t.$$.fragment,e),En=p(e),$t=r(e,"P",{"data-svelte-h":!0}),f($t)!=="svelte-t4kg0u"&&($t.innerHTML=As),Fn=p(e),wt=r(e,"P",{"data-svelte-h":!0}),f(wt)!=="svelte-3zlfcp"&&(wt.textContent=Ys),Sn=p(e),ht=r(e,"P",{"data-svelte-h":!0}),f(ht)!=="svelte-1x84l3s"&&(ht.textContent=Es),Dn=p(e),U(jt.$$.fragment,e),Pn=p(e),vt=r(e,"P",{"data-svelte-h":!0}),f(vt)!=="svelte-jhvdye"&&(vt.textContent=Fs),qn=p(e),U(kt.$$.fragment,e),On=p(e),Zt=r(e,"P",{"data-svelte-h":!0}),f(Zt)!=="svelte-omc98u"&&(Zt.innerHTML=Ss),Kn=p(e),U(Ct.$$.fragment,e),ei=p(e),Gt=r(e,"P",{"data-svelte-h":!0}),f(Gt)!=="svelte-bd9fbk"&&(Gt.textContent=Ds),ti=p(e),U(Wt.$$.fragment,e),li=p(e),Bt=r(e,"P",{"data-svelte-h":!0}),f(Bt)!=="svelte-1vf02ip"&&(Bt.textContent=Ps),ni=p(e),xt=r(e,"P",{"data-svelte-h":!0}),f(xt)!=="svelte-vzetvj"&&(xt.innerHTML=qs),ii=p(e),zt=r(e,"P",{"data-svelte-h":!0}),f(zt)!=="svelte-3qn5tq"&&(zt.textContent=Os),si=p(e),U(It.$$.fragment,e),oi=p(e),U(Rt.$$.fragment,e),pi=p(e),Vt=r(e,"P",{"data-svelte-h":!0}),f(Vt)!=="svelte-c5tv92"&&(Vt.textContent=Ks),mi=p(e),U(Nt.$$.fragment,e),ai=p(e),Lt=r(e,"P",{"data-svelte-h":!0}),f(Lt)!=="svelte-r3mnq7"&&(Lt.innerHTML=eo),ri=p(e),U(Ht.$$.fragment,e),fi=p(e),Qt=r(e,"P",{"data-svelte-h":!0}),f(Qt)!=="svelte-1khgj0m"&&(Qt.innerHTML=to),ui=p(e),U(Xt.$$.fragment,e),ci=p(e),U(At.$$.fragment,e),Mi=p(e),Yt=r(e,"P",{"data-svelte-h":!0}),f(Yt)!=="svelte-dtc0kh"&&(Yt.innerHTML=lo),di=p(e),Et=r(e,"P",{"data-svelte-h":!0}),f(Et)!=="svelte-1jnnemo"&&(Et.innerHTML=no),bi=p(e),Ft=r(e,"P",{"data-svelte-h":!0}),f(Ft)!=="svelte-1utfhaq"&&(Ft.textContent=io),yi=p(e),Q.l(e),Jl=p(e),St=r(e,"P",{"data-svelte-h":!0}),f(St)!=="svelte-47adxg"&&(St.innerHTML=so),Ui=p(e),U(Dt.$$.fragment,e),Ti=p(e),A.l(e),_l=p(e),U(pe.$$.fragment,e),gi=p(e),Pt=r(e,"P",{"data-svelte-h":!0}),f(Pt)!=="svelte-w9c7hq"&&(Pt.innerHTML=oo),Ji=p(e),U(qt.$$.fragment,e),_i=p(e),Ot=r(e,"P",{"data-svelte-h":!0}),f(Ot)!=="svelte-146rgzk"&&(Ot.textContent=po),$i=p(e),U(Kt.$$.fragment,e),wi=p(e),E.l(e),$l=p(e),el=r(e,"P",{"data-svelte-h":!0}),f(el)!=="svelte-8d8qcy"&&(el.innerHTML=mo),hi=p(e),U(tl.$$.fragment,e),ji=p(e),S.l(e),wl=p(e),ll=r(e,"P",{"data-svelte-h":!0}),f(ll)!=="svelte-iiiq0k"&&(ll.innerHTML=ao),vi=p(e),U(nl.$$.fragment,e),ki=p(e),P.l(e),hl=p(e),il=r(e,"P",{"data-svelte-h":!0}),f(il)!=="svelte-rh47if"&&(il.textContent=ro),Zi=p(e),U(sl.$$.fragment,e),Ci=p(e),U(ol.$$.fragment,e),Gi=p(e),K.l(e),jl=p(e),U(pl.$$.fragment,e),Wi=p(e),vl=r(e,"P",{}),zo(vl).forEach(l),this.h()},h(){B(i,"name","hf:doc:metadata"),B(i,"content",gp),B(ne,"class","flex justify-center"),B(ie,"class","flex justify-center"),B(se,"class","flex justify-center"),B(oe,"class","flex justify-center")},m(e,t){Ao(document.head,i),n(e,m,t),n(e,s,t),n(e,c,t),T($,e,t),n(e,u,t),T(_,e,t),n(e,C,t),ml[h].m(e,t),n(e,Z,t),n(e,b,t),n(e,q,t),T(G,e,t),n(e,ae,t),n(e,x,t),n(e,W,t),n(e,re,t),n(e,kl,t),n(e,fe,t),n(e,Zl,t),n(e,ue,t),n(e,Cl,t),T(ce,e,t),n(e,Gl,t),al[z].m(e,t),n(e,yl,t),n(e,Me,t),n(e,Wl,t),n(e,de,t),n(e,Bl,t),T(be,e,t),n(e,xl,t),n(e,ye,t),n(e,zl,t),T(Ue,e,t),n(e,Il,t),n(e,Te,t),n(e,Rl,t),n(e,ge,t),n(e,Vl,t),rl[R].m(e,t),n(e,Ul,t),n(e,Je,t),n(e,Nl,t),n(e,_e,t),n(e,Ll,t),fl[N].m(e,t),n(e,Tl,t),n(e,$e,t),n(e,Hl,t),T(we,e,t),n(e,Ql,t),n(e,he,t),n(e,Xl,t),T(je,e,t),n(e,Al,t),n(e,ve,t),n(e,Yl,t),T(ke,e,t),n(e,El,t),n(e,Ze,t),n(e,Fl,t),T(Ce,e,t),n(e,Sl,t),n(e,Ge,t),n(e,Dl,t),n(e,We,t),n(e,Pl,t),O.m(e,t),n(e,gl,t),T(le,e,t),n(e,ql,t),n(e,Be,t),n(e,Ol,t),n(e,xe,t),n(e,Kl,t),n(e,ze,t),n(e,en,t),T(Ie,e,t),n(e,tn,t),n(e,Re,t),n(e,ln,t),n(e,Ve,t),n(e,nn,t),T(Ne,e,t),n(e,sn,t),n(e,Le,t),n(e,on,t),T(He,e,t),n(e,pn,t),n(e,Qe,t),n(e,mn,t),n(e,Xe,t),n(e,an,t),T(Ae,e,t),n(e,rn,t),n(e,Ye,t),n(e,fn,t),T(Ee,e,t),n(e,un,t),n(e,Fe,t),n(e,cn,t),n(e,Se,t),n(e,Mn,t),n(e,De,t),n(e,dn,t),T(Pe,e,t),n(e,bn,t),n(e,qe,t),n(e,yn,t),n(e,Oe,t),n(e,Un,t),n(e,ne,t),n(e,Tn,t),n(e,Ke,t),n(e,gn,t),n(e,et,t),n(e,Jn,t),n(e,tt,t),n(e,_n,t),n(e,ie,t),n(e,$n,t),n(e,lt,t),n(e,wn,t),n(e,se,t),n(e,hn,t),n(e,nt,t),n(e,jn,t),n(e,it,t),n(e,vn,t),n(e,oe,t),n(e,kn,t),n(e,st,t),n(e,Zn,t),T(ot,e,t),n(e,Cn,t),n(e,pt,t),n(e,Gn,t),n(e,mt,t),n(e,Wn,t),T(at,e,t),n(e,Bn,t),n(e,rt,t),n(e,xn,t),n(e,ft,t),n(e,zn,t),T(ut,e,t),n(e,In,t),n(e,ct,t),n(e,Rn,t),n(e,Mt,t),n(e,Vn,t),T(dt,e,t),n(e,Nn,t),n(e,bt,t),n(e,Ln,t),n(e,yt,t),n(e,Hn,t),n(e,Ut,t),n(e,Qn,t),T(Tt,e,t),n(e,Xn,t),n(e,gt,t),n(e,An,t),n(e,Jt,t),n(e,Yn,t),T(_t,e,t),n(e,En,t),n(e,$t,t),n(e,Fn,t),n(e,wt,t),n(e,Sn,t),n(e,ht,t),n(e,Dn,t),T(jt,e,t),n(e,Pn,t),n(e,vt,t),n(e,qn,t),T(kt,e,t),n(e,On,t),n(e,Zt,t),n(e,Kn,t),T(Ct,e,t),n(e,ei,t),n(e,Gt,t),n(e,ti,t),T(Wt,e,t),n(e,li,t),n(e,Bt,t),n(e,ni,t),n(e,xt,t),n(e,ii,t),n(e,zt,t),n(e,si,t),T(It,e,t),n(e,oi,t),T(Rt,e,t),n(e,pi,t),n(e,Vt,t),n(e,mi,t),T(Nt,e,t),n(e,ai,t),n(e,Lt,t),n(e,ri,t),T(Ht,e,t),n(e,fi,t),n(e,Qt,t),n(e,ui,t),T(Xt,e,t),n(e,ci,t),T(At,e,t),n(e,Mi,t),n(e,Yt,t),n(e,di,t),n(e,Et,t),n(e,bi,t),n(e,Ft,t),n(e,yi,t),ul[H].m(e,t),n(e,Jl,t),n(e,St,t),n(e,Ui,t),T(Dt,e,t),n(e,Ti,t),cl[X].m(e,t),n(e,_l,t),T(pe,e,t),n(e,gi,t),n(e,Pt,t),n(e,Ji,t),T(qt,e,t),n(e,_i,t),n(e,Ot,t),n(e,$i,t),T(Kt,e,t),n(e,wi,t),Ml[Y].m(e,t),n(e,$l,t),n(e,el,t),n(e,hi,t),T(tl,e,t),n(e,ji,t),dl[F].m(e,t),n(e,wl,t),n(e,ll,t),n(e,vi,t),T(nl,e,t),n(e,ki,t),bl[D].m(e,t),n(e,hl,t),n(e,il,t),n(e,Zi,t),T(sl,e,t),n(e,Ci,t),T(ol,e,t),n(e,Gi,t),K.m(e,t),n(e,jl,t),T(pl,e,t),n(e,Wi,t),n(e,vl,t),Bi=!0},p(e,[t]){const Wo={};t&1&&(Wo.fw=e[0]),$.$set(Wo);let Ii=h;h=uo(e),h!==Ii&&(te(),M(ml[Ii],1,1,()=>{ml[Ii]=null}),ee(),j=ml[h],j||(j=ml[h]=fo[h](e),j.c()),d(j,1),j.m(Z.parentNode,Z));let Ri=z;z=Mo(e),z!==Ri&&(te(),M(al[Ri],1,1,()=>{al[Ri]=null}),ee(),I=al[z],I||(I=al[z]=co[z](e),I.c()),d(I,1),I.m(yl.parentNode,yl));let Vi=R;R=yo(e),R!==Vi&&(te(),M(rl[Vi],1,1,()=>{rl[Vi]=null}),ee(),V=rl[R],V||(V=rl[R]=bo[R](e),V.c()),d(V,1),V.m(Ul.parentNode,Ul));let Ni=N;N=To(e),N!==Ni&&(te(),M(fl[Ni],1,1,()=>{fl[Ni]=null}),ee(),L=fl[N],L||(L=fl[N]=Uo[N](e),L.c()),d(L,1),L.m(Tl.parentNode,Tl)),xi!==(xi=go(e))&&(O.d(1),O=xi(e),O&&(O.c(),O.m(gl.parentNode,gl)));const Bo={};t&2&&(Bo.$$scope={dirty:t,ctx:e}),le.$set(Bo);let Li=H;H=_o(e),H!==Li&&(te(),M(ul[Li],1,1,()=>{ul[Li]=null}),ee(),Q=ul[H],Q||(Q=ul[H]=Jo[H](e),Q.c()),d(Q,1),Q.m(Jl.parentNode,Jl));let Hi=X;X=wo(e),X!==Hi&&(te(),M(cl[Hi],1,1,()=>{cl[Hi]=null}),ee(),A=cl[X],A||(A=cl[X]=$o[X](e),A.c()),d(A,1),A.m(_l.parentNode,_l));const xo={};t&2&&(xo.$$scope={dirty:t,ctx:e}),pe.$set(xo);let Qi=Y;Y=jo(e),Y!==Qi&&(te(),M(Ml[Qi],1,1,()=>{Ml[Qi]=null}),ee(),E=Ml[Y],E||(E=Ml[Y]=ho[Y](e),E.c()),d(E,1),E.m($l.parentNode,$l));let Xi=F;F=ko(e),F!==Xi&&(te(),M(dl[Xi],1,1,()=>{dl[Xi]=null}),ee(),S=dl[F],S||(S=dl[F]=vo[F](e),S.c()),d(S,1),S.m(wl.parentNode,wl));let Ai=D;D=Co(e),D!==Ai&&(te(),M(bl[Ai],1,1,()=>{bl[Ai]=null}),ee(),P=bl[D],P||(P=bl[D]=Zo[D](e),P.c()),d(P,1),P.m(hl.parentNode,hl)),zi!==(zi=Go(e))&&(K.d(1),K=zi(e),K&&(K.c(),K.m(jl.parentNode,jl)))},i(e){Bi||(d($.$$.fragment,e),d(_.$$.fragment,e),d(j),d(G.$$.fragment,e),d(ce.$$.fragment,e),d(I),d(be.$$.fragment,e),d(Ue.$$.fragment,e),d(V),d(L),d(we.$$.fragment,e),d(je.$$.fragment,e),d(ke.$$.fragment,e),d(Ce.$$.fragment,e),d(le.$$.fragment,e),d(Ie.$$.fragment,e),d(Ne.$$.fragment,e),d(He.$$.fragment,e),d(Ae.$$.fragment,e),d(Ee.$$.fragment,e),d(Pe.$$.fragment,e),d(ot.$$.fragment,e),d(at.$$.fragment,e),d(ut.$$.fragment,e),d(dt.$$.fragment,e),d(Tt.$$.fragment,e),d(_t.$$.fragment,e),d(jt.$$.fragment,e),d(kt.$$.fragment,e),d(Ct.$$.fragment,e),d(Wt.$$.fragment,e),d(It.$$.fragment,e),d(Rt.$$.fragment,e),d(Nt.$$.fragment,e),d(Ht.$$.fragment,e),d(Xt.$$.fragment,e),d(At.$$.fragment,e),d(Q),d(Dt.$$.fragment,e),d(A),d(pe.$$.fragment,e),d(qt.$$.fragment,e),d(Kt.$$.fragment,e),d(E),d(tl.$$.fragment,e),d(S),d(nl.$$.fragment,e),d(P),d(sl.$$.fragment,e),d(ol.$$.fragment,e),d(pl.$$.fragment,e),Bi=!0)},o(e){M($.$$.fragment,e),M(_.$$.fragment,e),M(j),M(G.$$.fragment,e),M(ce.$$.fragment,e),M(I),M(be.$$.fragment,e),M(Ue.$$.fragment,e),M(V),M(L),M(we.$$.fragment,e),M(je.$$.fragment,e),M(ke.$$.fragment,e),M(Ce.$$.fragment,e),M(le.$$.fragment,e),M(Ie.$$.fragment,e),M(Ne.$$.fragment,e),M(He.$$.fragment,e),M(Ae.$$.fragment,e),M(Ee.$$.fragment,e),M(Pe.$$.fragment,e),M(ot.$$.fragment,e),M(at.$$.fragment,e),M(ut.$$.fragment,e),M(dt.$$.fragment,e),M(Tt.$$.fragment,e),M(_t.$$.fragment,e),M(jt.$$.fragment,e),M(kt.$$.fragment,e),M(Ct.$$.fragment,e),M(Wt.$$.fragment,e),M(It.$$.fragment,e),M(Rt.$$.fragment,e),M(Nt.$$.fragment,e),M(Ht.$$.fragment,e),M(Xt.$$.fragment,e),M(At.$$.fragment,e),M(Q),M(Dt.$$.fragment,e),M(A),M(pe.$$.fragment,e),M(qt.$$.fragment,e),M(Kt.$$.fragment,e),M(E),M(tl.$$.fragment,e),M(S),M(nl.$$.fragment,e),M(P),M(sl.$$.fragment,e),M(ol.$$.fragment,e),M(pl.$$.fragment,e),Bi=!1},d(e){e&&(l(m),l(s),l(c),l(u),l(C),l(Z),l(b),l(q),l(ae),l(x),l(W),l(re),l(kl),l(fe),l(Zl),l(ue),l(Cl),l(Gl),l(yl),l(Me),l(Wl),l(de),l(Bl),l(xl),l(ye),l(zl),l(Il),l(Te),l(Rl),l(ge),l(Vl),l(Ul),l(Je),l(Nl),l(_e),l(Ll),l(Tl),l($e),l(Hl),l(Ql),l(he),l(Xl),l(Al),l(ve),l(Yl),l(El),l(Ze),l(Fl),l(Sl),l(Ge),l(Dl),l(We),l(Pl),l(gl),l(ql),l(Be),l(Ol),l(xe),l(Kl),l(ze),l(en),l(tn),l(Re),l(ln),l(Ve),l(nn),l(sn),l(Le),l(on),l(pn),l(Qe),l(mn),l(Xe),l(an),l(rn),l(Ye),l(fn),l(un),l(Fe),l(cn),l(Se),l(Mn),l(De),l(dn),l(bn),l(qe),l(yn),l(Oe),l(Un),l(ne),l(Tn),l(Ke),l(gn),l(et),l(Jn),l(tt),l(_n),l(ie),l($n),l(lt),l(wn),l(se),l(hn),l(nt),l(jn),l(it),l(vn),l(oe),l(kn),l(st),l(Zn),l(Cn),l(pt),l(Gn),l(mt),l(Wn),l(Bn),l(rt),l(xn),l(ft),l(zn),l(In),l(ct),l(Rn),l(Mt),l(Vn),l(Nn),l(bt),l(Ln),l(yt),l(Hn),l(Ut),l(Qn),l(Xn),l(gt),l(An),l(Jt),l(Yn),l(En),l($t),l(Fn),l(wt),l(Sn),l(ht),l(Dn),l(Pn),l(vt),l(qn),l(On),l(Zt),l(Kn),l(ei),l(Gt),l(ti),l(li),l(Bt),l(ni),l(xt),l(ii),l(zt),l(si),l(oi),l(pi),l(Vt),l(mi),l(ai),l(Lt),l(ri),l(fi),l(Qt),l(ui),l(ci),l(Mi),l(Yt),l(di),l(Et),l(bi),l(Ft),l(yi),l(Jl),l(St),l(Ui),l(Ti),l(_l),l(gi),l(Pt),l(Ji),l(_i),l(Ot),l($i),l(wi),l($l),l(el),l(hi),l(ji),l(wl),l(ll),l(vi),l(ki),l(hl),l(il),l(Zi),l(Ci),l(Gi),l(jl),l(Wi),l(vl)),l(i),g($,e),g(_,e),ml[h].d(e),g(G,e),g(ce,e),al[z].d(e),g(be,e),g(Ue,e),rl[R].d(e),fl[N].d(e),g(we,e),g(je,e),g(ke,e),g(Ce,e),O.d(e),g(le,e),g(Ie,e),g(Ne,e),g(He,e),g(Ae,e),g(Ee,e),g(Pe,e),g(ot,e),g(at,e),g(ut,e),g(dt,e),g(Tt,e),g(_t,e),g(jt,e),g(kt,e),g(Ct,e),g(Wt,e),g(It,e),g(Rt,e),g(Nt,e),g(Ht,e),g(Xt,e),g(At,e),ul[H].d(e),g(Dt,e),cl[X].d(e),g(pe,e),g(qt,e),g(Kt,e),Ml[Y].d(e),g(tl,e),dl[F].d(e),g(nl,e),bl[D].d(e),g(sl,e),g(ol,e),K.d(e),g(pl,e)}}}const gp='{"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":"upload_file を使ったアプローチ","local":"uploadfile-を使ったアプローチ","sections":[],"depth":3},{"title":"Repository クラス","local":"repository-クラス","sections":[],"depth":3},{"title":"gitベースのアプローチ","local":"gitベースのアプローチ","sections":[],"depth":3}],"depth":2}],"depth":1}';function Jp(J,i,m){let s="pt";return No(()=>{const c=new URLSearchParams(window.location.search);m(0,s=c.get("fw")||"pt")}),[s]}class Cp extends Ho{constructor(i){super(),Qo(this,i,Jp,Tp,Vo,{})}}export{Cp as component};

Xet Storage Details

Size:
79.8 kB
·
Xet hash:
536c4a4ba23a53fc31d489de33a690d4c6c38be2299cafae38daf0a1555b23c3

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.