Buckets:
| import{s as ke,o as Ue}from"../chunks/scheduler.9cb4cc95.js";import{S as xe,i as we,e as h,s as m,c as k,h as $e,a as d,d as n,b as i,f as Je,g as U,j as $,k as S,l as Ce,m as r,n as x,o as y,q as Te,t as f,p as w,r as ge}from"../chunks/index.9fb44b14.js";import{C as A}from"../chunks/CodeBlock.21a04094.js";import{C as je}from"../chunks/CourseFloatingBanner.42c4a724.js";import{F as Ze}from"../chunks/FrameworkSwitchCourse.9ead010d.js";import{H as _e,E as We}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.da235f20.js";function Ve(J){let l,c;return l=new je({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/section2_tf.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/ja/chapter4/section2_tf.ipynb"}]}}),{c(){k(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,M){x(l,t,M),c=!0},i(t){c||(f(l.$$.fragment,t),c=!0)},o(t){y(l.$$.fragment,t),c=!1},d(t){w(l,t)}}}function Ne(J){let l,c;return l=new je({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/section2_pt.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/ja/chapter4/section2_pt.ipynb"}]}}),{c(){k(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,M){x(l,t,M),c=!0},i(t){c||(f(l.$$.fragment,t),c=!0)},o(t){y(l.$$.fragment,t),c=!1},d(t){w(l,t)}}}function ve(J){let l,c,t,M='しかし、代わりに<a href="https://huggingface.co/transformers/model_doc/auto.html?highlight=auto#auto-classes" rel="nofollow"><code>TFAuto*</code> classes</a>を使用することをお勧めします。これらは設計上、アーキテクチャに依存しないためです。先ほどのコードサンプルでは、CamemBERT アーキテクチャでロード可能なチェックポイントに限定していましたが、 <code>TFAuto*</code>クラスを使用すると、チェックポイントを簡単に切り替えることができます:',b,p,u;return l=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENhbWVtYmVydFRva2VuaXplciUyQyUyMFRGQ2FtZW1iZXJ0Rm9yTWFza2VkTE0lMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBDYW1lbWJlcnRUb2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKSUwQW1vZGVsJTIwJTNEJTIwVEZDYW1lbWJlcnRGb3JNYXNrZWRMTS5mcm9tX3ByZXRyYWluZWQoJTIyY2FtZW1iZXJ0LWJhc2UlMjIp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CamembertTokenizer, TFCamembertForMaskedLM | |
| tokenizer = CamembertTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = TFCamembertForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),p=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIyY2FtZW1iZXJ0LWJhc2UlMjIpJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAutoModelForMaskedLM | |
| tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = TFAutoModelForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),{c(){k(l.$$.fragment),c=m(),t=h("p"),t.innerHTML=M,b=m(),k(p.$$.fragment)},l(s){U(l.$$.fragment,s),c=i(s),t=d(s,"P",{"data-svelte-h":!0}),$(t)!=="svelte-1pdtxl7"&&(t.innerHTML=M),b=i(s),U(p.$$.fragment,s)},m(s,o){x(l,s,o),r(s,c,o),r(s,t,o),r(s,b,o),x(p,s,o),u=!0},i(s){u||(f(l.$$.fragment,s),f(p.$$.fragment,s),u=!0)},o(s){y(l.$$.fragment,s),y(p.$$.fragment,s),u=!1},d(s){s&&(n(c),n(t),n(b)),w(l,s),w(p,s)}}}function ze(J){let l,c,t,M='しかし、代わりに<a href="https://huggingface.co/transformers/model_doc/auto.html?highlight=auto#auto-classes" rel="nofollow"><code>Auto*</code> classes</a>を使用することをお勧めします。これらは設計上、(モデル)アーキテクチャに依存しないためです。先ほどのコードサンプルでは、CamemBERT アーキテクチャでロード可能なチェックポイントに限定していましたが、 <code>Auto*</code>クラスを使用すると、チェックポイントを簡単に切り替えることができます:',b,p,u;return l=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENhbWVtYmVydFRva2VuaXplciUyQyUyMENhbWVtYmVydEZvck1hc2tlZExNJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQ2FtZW1iZXJ0VG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMiklMEFtb2RlbCUyMCUzRCUyMENhbWVtYmVydEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CamembertTokenizer, CamembertForMaskedLM | |
| tokenizer = CamembertTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = CamembertForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),p=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBBdXRvTW9kZWxGb3JNYXNrZWRMTSUwQSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AutoModelForMaskedLM | |
| tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = AutoModelForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),{c(){k(l.$$.fragment),c=m(),t=h("p"),t.innerHTML=M,b=m(),k(p.$$.fragment)},l(s){U(l.$$.fragment,s),c=i(s),t=d(s,"P",{"data-svelte-h":!0}),$(t)!=="svelte-62nbsm"&&(t.innerHTML=M),b=i(s),U(p.$$.fragment,s)},m(s,o){x(l,s,o),r(s,c,o),r(s,t,o),r(s,b,o),x(p,s,o),u=!0},i(s){u||(f(l.$$.fragment,s),f(p.$$.fragment,s),u=!0)},o(s){y(l.$$.fragment,s),y(p.$$.fragment,s),u=!1},d(s){s&&(n(c),n(t),n(b)),w(l,s),w(p,s)}}}function Ee(J){let l,c,t,M,b,p,u,s,o,T,I,W,re="モデルハブは適切なモデルを簡単に選択できるようにし、どのライブラリからでも数行のコードで使用できるようにします。では、実際にこれらのモデルをどのように使用し、どのようにコミュニティに貢献するかを見ていきましょう。",R,V,ce="例えば、マスクフィルを行えるフランス語のモデルを探しているとします。",L,C,oe='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/camembert.gif" alt="Selecting the Camembert model." width="80%"/>',q,N,me="試しに<code>camembert-base</code>チェックポイントを選択してみましょう。camembert-base<code>という識別子があれば、すぐに使い始めることができます。これまでの章で見てきたように、 </code>pipeline()` 関数を使用してインスタンスを作成することができます:",H,v,D,z,P,E,ie="ご覧の通り、パイプライン内でのモデルのロードは非常に簡単です。唯一気をつけなければならないのは、選択したチェックポイントが使用するタスクに適しているかということです。例えば、ここでは<code>camembert-base</code>というチェックポイントを<code>fill-mask</code>というパイプラインでロードしていますが、これは全く問題ありません。しかし、このチェックポイントを<code>text-classification</code>パイプラインでロードしたとすると、<code>camembert-base</code>の「ヘッド」がこのタスクに適していないため、結果が意味をなさないことになります!適切なチェックポイントを選択するために、ハギングフェイスハブインタフェースにあるタスクセレクタを使用することをお勧めします:",K,Z,pe='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/tasks.png" alt="The task selector on the web interface." width="80%"/>',O,Q,be="また、モデル・アーキテクチャを直接使用して、チェックポイントをインスタンス化することもできます:",ee,g,j,Y,_,ue="<p>学習済みのモデルを使う場合は、どのように学習したのか、どのデータセットで学習したのか、その限界と偏りを必ず確認すること。これらの情報はすべて、モデルカードに記載されています。</p>",se,B,te,X,le;b=new Ze({props:{fw:J[0]}}),u=new _e({props:{title:"学習済みモデルを使う",local:"学習済みモデルを使う",headingTag:"h1"}});const Me=[Ne,Ve],F=[];function ye(e,a){return e[0]==="pt"?0:1}o=ye(J),T=F[o]=Me[o](J),v=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBY2FtZW1iZXJ0X2ZpbGxfbWFzayUyMCUzRCUyMHBpcGVsaW5lKCUyMmZpbGwtbWFzayUyMiUyQyUyMG1vZGVsJTNEJTIyY2FtZW1iZXJ0LWJhc2UlMjIpJTBBcmVzdWx0cyUyMCUzRCUyMGNhbWVtYmVydF9maWxsX21hc2soJTIyTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjAlM0NtYXNrJTNFJTIwJTNBKSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline | |
| camembert_fill_mask = pipeline(<span class="hljs-string">"fill-mask"</span>, model=<span class="hljs-string">"camembert-base"</span>) | |
| results = camembert_fill_mask(<span class="hljs-string">"Le camembert est <mask> :)"</span>)`,wrap:!1}}),z=new A({props:{code:"JTVCJTBBJTIwJTIwJTdCJ3NlcXVlbmNlJyUzQSUyMCdMZSUyMGNhbWVtYmVydCUyMGVzdCUyMGQlQzMlQTlsaWNpZXV4JTIwJTNBKSclMkMlMjAnc2NvcmUnJTNBJTIwMC40OTA5MTAwNTMyNTMxNzM4MyUyQyUyMCd0b2tlbiclM0ElMjA3MjAwJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnZCVDMyVBOWxpY2lldXgnJTdEJTJDJTIwJTBBJTIwJTIwJTdCJ3NlcXVlbmNlJyUzQSUyMCdMZSUyMGNhbWVtYmVydCUyMGVzdCUyMGV4Y2VsbGVudCUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMTA1NTY5NzQyNjE5OTkxMyUyQyUyMCd0b2tlbiclM0ElMjAyMTgzJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnZXhjZWxsZW50JyU3RCUyQyUyMCUwQSUyMCUyMCU3QidzZXF1ZW5jZSclM0ElMjAnTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjBzdWNjdWxlbnQlMjAlM0EpJyUyQyUyMCdzY29yZSclM0ElMjAwLjAzNDUzMzEzMTg2NzY0NzE3JTJDJTIwJ3Rva2VuJyUzQSUyMDI2MjAyJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnc3VjY3VsZW50JyU3RCUyQyUyMCUwQSUyMCUyMCU3QidzZXF1ZW5jZSclM0ElMjAnTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjBtZWlsbGV1ciUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMDMzMDMxNDExNDY4OTgyNyUyQyUyMCd0b2tlbiclM0ElMjA1MjglMkMlMjAndG9rZW5fc3RyJyUzQSUyMCdtZWlsbGV1ciclN0QlMkMlMjAlMEElMjAlMjAlN0Inc2VxdWVuY2UnJTNBJTIwJ0xlJTIwY2FtZW1iZXJ0JTIwZXN0JTIwcGFyZmFpdCUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMDMwMDc2NTAxODkxMDE2OTYlMkMlMjAndG9rZW4nJTNBJTIwMTY1NCUyQyUyMCd0b2tlbl9zdHInJTNBJTIwJ3BhcmZhaXQnJTdEJTBBJTVE",highlighted:`[ | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est délicieux :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.49091005325317383</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">7200</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'délicieux'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est excellent :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.1055697426199913</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">2183</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'excellent'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est succulent :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.03453313186764717</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">26202</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'succulent'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est meilleur :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.0330314114689827</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">528</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'meilleur'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est parfait :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.03007650189101696</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">1654</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'parfait'</span>} | |
| ]`,wrap:!1}});const fe=[ze,ve],G=[];function he(e,a){return e[0]==="pt"?0:1}return g=he(J),j=G[g]=fe[g](J),B=new We({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ja/chapter4/2.mdx"}}),{c(){l=h("meta"),c=m(),t=h("p"),M=m(),k(b.$$.fragment),p=m(),k(u.$$.fragment),s=m(),T.c(),I=m(),W=h("p"),W.textContent=re,R=m(),V=h("p"),V.textContent=ce,L=m(),C=h("div"),C.innerHTML=oe,q=m(),N=h("p"),N.innerHTML=me,H=m(),k(v.$$.fragment),D=m(),k(z.$$.fragment),P=m(),E=h("p"),E.innerHTML=ie,K=m(),Z=h("div"),Z.innerHTML=pe,O=m(),Q=h("p"),Q.textContent=be,ee=m(),j.c(),Y=m(),_=h("blockquote"),_.innerHTML=ue,se=m(),k(B.$$.fragment),te=m(),X=h("p"),this.h()},l(e){const a=$e("svelte-u9bgzb",document.head);l=d(a,"META",{name:!0,content:!0}),a.forEach(n),c=i(e),t=d(e,"P",{}),Je(t).forEach(n),M=i(e),U(b.$$.fragment,e),p=i(e),U(u.$$.fragment,e),s=i(e),T.l(e),I=i(e),W=d(e,"P",{"data-svelte-h":!0}),$(W)!=="svelte-oxnnbw"&&(W.textContent=re),R=i(e),V=d(e,"P",{"data-svelte-h":!0}),$(V)!=="svelte-hbvc84"&&(V.textContent=ce),L=i(e),C=d(e,"DIV",{class:!0,"data-svelte-h":!0}),$(C)!=="svelte-4k6hvy"&&(C.innerHTML=oe),q=i(e),N=d(e,"P",{"data-svelte-h":!0}),$(N)!=="svelte-1ym08wy"&&(N.innerHTML=me),H=i(e),U(v.$$.fragment,e),D=i(e),U(z.$$.fragment,e),P=i(e),E=d(e,"P",{"data-svelte-h":!0}),$(E)!=="svelte-1c36soc"&&(E.innerHTML=ie),K=i(e),Z=d(e,"DIV",{class:!0,"data-svelte-h":!0}),$(Z)!=="svelte-1cl7xbt"&&(Z.innerHTML=pe),O=i(e),Q=d(e,"P",{"data-svelte-h":!0}),$(Q)!=="svelte-wa29am"&&(Q.textContent=be),ee=i(e),j.l(e),Y=i(e),_=d(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),$(_)!=="svelte-847fvc"&&(_.innerHTML=ue),se=i(e),U(B.$$.fragment,e),te=i(e),X=d(e,"P",{}),Je(X).forEach(n),this.h()},h(){S(l,"name","hf:doc:metadata"),S(l,"content",Qe),S(C,"class","flex justify-center"),S(Z,"class","flex justify-center"),S(_,"class","tip")},m(e,a){Ce(document.head,l),r(e,c,a),r(e,t,a),r(e,M,a),x(b,e,a),r(e,p,a),x(u,e,a),r(e,s,a),F[o].m(e,a),r(e,I,a),r(e,W,a),r(e,R,a),r(e,V,a),r(e,L,a),r(e,C,a),r(e,q,a),r(e,N,a),r(e,H,a),x(v,e,a),r(e,D,a),x(z,e,a),r(e,P,a),r(e,E,a),r(e,K,a),r(e,Z,a),r(e,O,a),r(e,Q,a),r(e,ee,a),G[g].m(e,a),r(e,Y,a),r(e,_,a),r(e,se,a),x(B,e,a),r(e,te,a),r(e,X,a),le=!0},p(e,[a]){const de={};a&1&&(de.fw=e[0]),b.$set(de);let ae=o;o=ye(e),o!==ae&&(ge(),y(F[ae],1,1,()=>{F[ae]=null}),Te(),T=F[o],T||(T=F[o]=Me[o](e),T.c()),f(T,1),T.m(I.parentNode,I));let ne=g;g=he(e),g!==ne&&(ge(),y(G[ne],1,1,()=>{G[ne]=null}),Te(),j=G[g],j||(j=G[g]=fe[g](e),j.c()),f(j,1),j.m(Y.parentNode,Y))},i(e){le||(f(b.$$.fragment,e),f(u.$$.fragment,e),f(T),f(v.$$.fragment,e),f(z.$$.fragment,e),f(j),f(B.$$.fragment,e),le=!0)},o(e){y(b.$$.fragment,e),y(u.$$.fragment,e),y(T),y(v.$$.fragment,e),y(z.$$.fragment,e),y(j),y(B.$$.fragment,e),le=!1},d(e){e&&(n(c),n(t),n(M),n(p),n(s),n(I),n(W),n(R),n(V),n(L),n(C),n(q),n(N),n(H),n(D),n(P),n(E),n(K),n(Z),n(O),n(Q),n(ee),n(Y),n(_),n(se),n(te),n(X)),n(l),w(b,e),w(u,e),F[o].d(e),w(v,e),w(z,e),G[g].d(e),w(B,e)}}}const Qe='{"title":"学習済みモデルを使う","local":"学習済みモデルを使う","sections":[],"depth":1}';function Be(J,l,c){let t="pt";return Ue(()=>{const M=new URLSearchParams(window.location.search);c(0,t=M.get("fw")||"pt")}),[t]}class Se extends xe{constructor(l){super(),we(this,l,Be,Ee,ke,{})}}export{Se as component}; | |
Xet Storage Details
- Size:
- 16.7 kB
- Xet hash:
- 8edcc3d191f7e521db4e7bfebe3fcbc171c643805b61c86389f6fcb9e8d67b59
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.