Buckets:
| import{s as Ql,o as zl,n as ss}from"../chunks/scheduler.9bc65507.js";import{S as El,i as Sl,g as d,s as r,r as h,A as Ll,h as U,f as e,c as i,j as Hl,u as g,x as W,k as wl,y as ql,a as t,v as J,d as y,t as f,w}from"../chunks/index.707bf1b6.js";import{T as ul}from"../chunks/Tip.c2ecdbf4.js";import{Y as Dl}from"../chunks/Youtube.e1129c6f.js";import{C as v}from"../chunks/CodeBlock.54a9f38d.js";import{D as Kl}from"../chunks/DocNotebookDropdown.41f65cb5.js";import{F as Ms,M as os}from"../chunks/Markdown.8ab98a13.js";import{H as Xs,E as Pl}from"../chunks/EditOnGithub.922df6ba.js";function Ol(Z){let a,o='このタスクと互換性のあるすべてのアーキテクチャとチェックポイントを確認するには、<a href="https://huggingface.co/tasks/text-classification" rel="nofollow">タスクページ</a> を確認することをお勧めします。';return{c(){a=d("p"),a.innerHTML=o},l(l){a=U(l,"P",{"data-svelte-h":!0}),W(a)!=="svelte-1ga5mlg"&&(a.innerHTML=o)},m(l,c){t(l,a,c)},p:ss,d(l){l&&e(a)}}}function sa(Z){let a,o='モデルを過学習に対してより堅牢にするために、画像データセットにいくつかのデータ拡張を適用するのが一般的です。このガイドでは、<a href="https://pytorch.org" rel="nofollow">torchvision</a> の <a href="https://pytorch.org/vision/stable/generated/torchvision.transforms.ColorJitter.html" rel="nofollow"><code>ColorJitter</code></a> 関数を使用します。 /vision/stable/index.html) を使用して画像の色のプロパティをランダムに変更しますが、任意の画像ライブラリを使用することもできます。',l,c,u,_,X="次に、モデルの画像と注釈を準備するための 2 つの前処理関数を作成します。これらの関数は、画像を<code>pixel_values</code>に変換し、注釈を<code>labels</code>に変換します。トレーニング セットの場合、画像を画像プロセッサに提供する前に<code>jitter</code>が適用されます。テスト セットの場合、テスト中にデータ拡張が適用されないため、画像プロセッサは<code>images</code>を切り取って正規化し、<code>labels</code> のみを切り取ります。",B,$,R,C,Y="データセット全体に<code>jitter</code>を適用するには、🤗 Datasets <code>set_transform</code> 関数を使用します。変換はオンザフライで適用されるため、高速で消費するディスク容量が少なくなります。",x,b,V;return c=new v({props:{code:"ZnJvbSUyMHRvcmNodmlzaW9uLnRyYW5zZm9ybXMlMjBpbXBvcnQlMjBDb2xvckppdHRlciUwQSUwQWppdHRlciUyMCUzRCUyMENvbG9ySml0dGVyKGJyaWdodG5lc3MlM0QwLjI1JTJDJTIwY29udHJhc3QlM0QwLjI1JTJDJTIwc2F0dXJhdGlvbiUzRDAuMjUlMkMlMjBodWUlM0QwLjEp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> torchvision.transforms <span class="hljs-keyword">import</span> ColorJitter | |
| <span class="hljs-meta">>>> </span>jitter = ColorJitter(brightness=<span class="hljs-number">0.25</span>, contrast=<span class="hljs-number">0.25</span>, saturation=<span class="hljs-number">0.25</span>, hue=<span class="hljs-number">0.1</span>)`,wrap:!1}}),$=new v({props:{code:"ZGVmJTIwdHJhaW5fdHJhbnNmb3JtcyhleGFtcGxlX2JhdGNoKSUzQSUwQSUyMCUyMCUyMCUyMGltYWdlcyUyMCUzRCUyMCU1QmppdHRlcih4KSUyMGZvciUyMHglMjBpbiUyMGV4YW1wbGVfYmF0Y2glNUIlMjJpbWFnZSUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMGxhYmVscyUyMCUzRCUyMCU1QnglMjBmb3IlMjB4JTIwaW4lMjBleGFtcGxlX2JhdGNoJTVCJTIyYW5ub3RhdGlvbiUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMGlucHV0cyUyMCUzRCUyMGltYWdlX3Byb2Nlc3NvcihpbWFnZXMlMkMlMjBsYWJlbHMpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwaW5wdXRzJTBBJTBBJTBBZGVmJTIwdmFsX3RyYW5zZm9ybXMoZXhhbXBsZV9iYXRjaCklM0ElMEElMjAlMjAlMjAlMjBpbWFnZXMlMjAlM0QlMjAlNUJ4JTIwZm9yJTIweCUyMGluJTIwZXhhbXBsZV9iYXRjaCU1QiUyMmltYWdlJTIyJTVEJTVEJTBBJTIwJTIwJTIwJTIwbGFiZWxzJTIwJTNEJTIwJTVCeCUyMGZvciUyMHglMjBpbiUyMGV4YW1wbGVfYmF0Y2glNUIlMjJhbm5vdGF0aW9uJTIyJTVEJTVEJTBBJTIwJTIwJTIwJTIwaW5wdXRzJTIwJTNEJTIwaW1hZ2VfcHJvY2Vzc29yKGltYWdlcyUyQyUyMGxhYmVscyklMEElMjAlMjAlMjAlMjByZXR1cm4lMjBpbnB1dHM=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">train_transforms</span>(<span class="hljs-params">example_batch</span>): | |
| <span class="hljs-meta">... </span> images = [jitter(x) <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"image"</span>]] | |
| <span class="hljs-meta">... </span> labels = [x <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"annotation"</span>]] | |
| <span class="hljs-meta">... </span> inputs = image_processor(images, labels) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> inputs | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">val_transforms</span>(<span class="hljs-params">example_batch</span>): | |
| <span class="hljs-meta">... </span> images = [x <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"image"</span>]] | |
| <span class="hljs-meta">... </span> labels = [x <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"annotation"</span>]] | |
| <span class="hljs-meta">... </span> inputs = image_processor(images, labels) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> inputs`,wrap:!1}}),b=new v({props:{code:"dHJhaW5fZHMuc2V0X3RyYW5zZm9ybSh0cmFpbl90cmFuc2Zvcm1zKSUwQXRlc3RfZHMuc2V0X3RyYW5zZm9ybSh2YWxfdHJhbnNmb3Jtcyk=",highlighted:`<span class="hljs-meta">>>> </span>train_ds.set_transform(train_transforms) | |
| <span class="hljs-meta">>>> </span>test_ds.set_transform(val_transforms)`,wrap:!1}}),{c(){a=d("p"),a.innerHTML=o,l=r(),h(c.$$.fragment),u=r(),_=d("p"),_.innerHTML=X,B=r(),h($.$$.fragment),R=r(),C=d("p"),C.innerHTML=Y,x=r(),h(b.$$.fragment)},l(m){a=U(m,"P",{"data-svelte-h":!0}),W(a)!=="svelte-1k1tkkf"&&(a.innerHTML=o),l=i(m),g(c.$$.fragment,m),u=i(m),_=U(m,"P",{"data-svelte-h":!0}),W(_)!=="svelte-vv3apf"&&(_.innerHTML=X),B=i(m),g($.$$.fragment,m),R=i(m),C=U(m,"P",{"data-svelte-h":!0}),W(C)!=="svelte-wbpxor"&&(C.innerHTML=Y),x=i(m),g(b.$$.fragment,m)},m(m,T){t(m,a,T),t(m,l,T),J(c,m,T),t(m,u,T),t(m,_,T),t(m,B,T),J($,m,T),t(m,R,T),t(m,C,T),t(m,x,T),J(b,m,T),V=!0},p:ss,i(m){V||(y(c.$$.fragment,m),y($.$$.fragment,m),y(b.$$.fragment,m),V=!0)},o(m){f(c.$$.fragment,m),f($.$$.fragment,m),f(b.$$.fragment,m),V=!1},d(m){m&&(e(a),e(l),e(u),e(_),e(B),e(R),e(C),e(x)),w(c,m),w($,m),w(b,m)}}}function la(Z){let a,o;return a=new os({props:{$$slots:{default:[sa]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function aa(Z){let a,o=`モデルを過学習に対してより堅牢にするために、画像データセットにいくつかのデータ拡張を適用するのが一般的です。 | |
| このガイドでは、<a href="https://www.tensorflow.org/api_docs/python/tf/image" rel="nofollow"><code>tf.image</code></a> を使用して画像の色のプロパティをランダムに変更しますが、任意のプロパティを使用することもできます。画像 | |
| 好きな図書館。 | |
| 2 つの別々の変換関数を定義します。`,l,c,u="<li>画像拡張を含むトレーニング データ変換</li> <li>🤗 Transformers のコンピューター ビジョン モデルはチャネル優先のレイアウトを想定しているため、画像を転置するだけの検証データ変換</li>",_,X,B,$,R=`次に、モデルの画像と注釈のバッチを準備する 2 つの前処理関数を作成します。これらの機能が適用されます | |
| 画像変換を行い、以前にロードされた <code>image_processor</code> を使用して画像を <code>pixel_values</code> に変換し、 | |
| <code>labels</code>への注釈。 <code>ImageProcessor</code> は、画像のサイズ変更と正規化も処理します。`,C,Y,x,b,V=`データセット全体に前処理変換を適用するには、🤗 Datasets <code>set_transform</code> 関数を使用します。 | |
| 変換はオンザフライで適用されるため、高速で消費するディスク容量が少なくなります。`,m,T,F;return X=new v({props:{code:"aW1wb3J0JTIwdGVuc29yZmxvdyUyMGFzJTIwdGYlMEElMEElMEFkZWYlMjBhdWdfdHJhbnNmb3JtcyhpbWFnZSklM0ElMEElMjAlMjAlMjAlMjBpbWFnZSUyMCUzRCUyMHRmLmtlcmFzLnV0aWxzLmltZ190b19hcnJheShpbWFnZSklMEElMjAlMjAlMjAlMjBpbWFnZSUyMCUzRCUyMHRmLmltYWdlLnJhbmRvbV9icmlnaHRuZXNzKGltYWdlJTJDJTIwMC4yNSklMEElMjAlMjAlMjAlMjBpbWFnZSUyMCUzRCUyMHRmLmltYWdlLnJhbmRvbV9jb250cmFzdChpbWFnZSUyQyUyMDAuNSUyQyUyMDIuMCklMEElMjAlMjAlMjAlMjBpbWFnZSUyMCUzRCUyMHRmLmltYWdlLnJhbmRvbV9zYXR1cmF0aW9uKGltYWdlJTJDJTIwMC43NSUyQyUyMDEuMjUpJTBBJTIwJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjB0Zi5pbWFnZS5yYW5kb21faHVlKGltYWdlJTJDJTIwMC4xKSUwQSUyMCUyMCUyMCUyMGltYWdlJTIwJTNEJTIwdGYudHJhbnNwb3NlKGltYWdlJTJDJTIwKDIlMkMlMjAwJTJDJTIwMSkpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwaW1hZ2UlMEElMEElMEFkZWYlMjB0cmFuc2Zvcm1zKGltYWdlKSUzQSUwQSUyMCUyMCUyMCUyMGltYWdlJTIwJTNEJTIwdGYua2VyYXMudXRpbHMuaW1nX3RvX2FycmF5KGltYWdlKSUwQSUyMCUyMCUyMCUyMGltYWdlJTIwJTNEJTIwdGYudHJhbnNwb3NlKGltYWdlJTJDJTIwKDIlMkMlMjAwJTJDJTIwMSkpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwaW1hZ2U=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">aug_transforms</span>(<span class="hljs-params">image</span>): | |
| <span class="hljs-meta">... </span> image = tf.keras.utils.img_to_array(image) | |
| <span class="hljs-meta">... </span> image = tf.image.random_brightness(image, <span class="hljs-number">0.25</span>) | |
| <span class="hljs-meta">... </span> image = tf.image.random_contrast(image, <span class="hljs-number">0.5</span>, <span class="hljs-number">2.0</span>) | |
| <span class="hljs-meta">... </span> image = tf.image.random_saturation(image, <span class="hljs-number">0.75</span>, <span class="hljs-number">1.25</span>) | |
| <span class="hljs-meta">... </span> image = tf.image.random_hue(image, <span class="hljs-number">0.1</span>) | |
| <span class="hljs-meta">... </span> image = tf.transpose(image, (<span class="hljs-number">2</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>)) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> image | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">transforms</span>(<span class="hljs-params">image</span>): | |
| <span class="hljs-meta">... </span> image = tf.keras.utils.img_to_array(image) | |
| <span class="hljs-meta">... </span> image = tf.transpose(image, (<span class="hljs-number">2</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>)) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> image`,wrap:!1}}),Y=new v({props:{code:"ZGVmJTIwdHJhaW5fdHJhbnNmb3JtcyhleGFtcGxlX2JhdGNoKSUzQSUwQSUyMCUyMCUyMCUyMGltYWdlcyUyMCUzRCUyMCU1QmF1Z190cmFuc2Zvcm1zKHguY29udmVydCglMjJSR0IlMjIpKSUyMGZvciUyMHglMjBpbiUyMGV4YW1wbGVfYmF0Y2glNUIlMjJpbWFnZSUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMGxhYmVscyUyMCUzRCUyMCU1QnglMjBmb3IlMjB4JTIwaW4lMjBleGFtcGxlX2JhdGNoJTVCJTIyYW5ub3RhdGlvbiUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMGlucHV0cyUyMCUzRCUyMGltYWdlX3Byb2Nlc3NvcihpbWFnZXMlMkMlMjBsYWJlbHMpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwaW5wdXRzJTBBJTBBJTBBZGVmJTIwdmFsX3RyYW5zZm9ybXMoZXhhbXBsZV9iYXRjaCklM0ElMEElMjAlMjAlMjAlMjBpbWFnZXMlMjAlM0QlMjAlNUJ0cmFuc2Zvcm1zKHguY29udmVydCglMjJSR0IlMjIpKSUyMGZvciUyMHglMjBpbiUyMGV4YW1wbGVfYmF0Y2glNUIlMjJpbWFnZSUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMGxhYmVscyUyMCUzRCUyMCU1QnglMjBmb3IlMjB4JTIwaW4lMjBleGFtcGxlX2JhdGNoJTVCJTIyYW5ub3RhdGlvbiUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMGlucHV0cyUyMCUzRCUyMGltYWdlX3Byb2Nlc3NvcihpbWFnZXMlMkMlMjBsYWJlbHMpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwaW5wdXRz",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">train_transforms</span>(<span class="hljs-params">example_batch</span>): | |
| <span class="hljs-meta">... </span> images = [aug_transforms(x.convert(<span class="hljs-string">"RGB"</span>)) <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"image"</span>]] | |
| <span class="hljs-meta">... </span> labels = [x <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"annotation"</span>]] | |
| <span class="hljs-meta">... </span> inputs = image_processor(images, labels) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> inputs | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">val_transforms</span>(<span class="hljs-params">example_batch</span>): | |
| <span class="hljs-meta">... </span> images = [transforms(x.convert(<span class="hljs-string">"RGB"</span>)) <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"image"</span>]] | |
| <span class="hljs-meta">... </span> labels = [x <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> example_batch[<span class="hljs-string">"annotation"</span>]] | |
| <span class="hljs-meta">... </span> inputs = image_processor(images, labels) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> inputs`,wrap:!1}}),T=new v({props:{code:"dHJhaW5fZHMuc2V0X3RyYW5zZm9ybSh0cmFpbl90cmFuc2Zvcm1zKSUwQXRlc3RfZHMuc2V0X3RyYW5zZm9ybSh2YWxfdHJhbnNmb3Jtcyk=",highlighted:`<span class="hljs-meta">>>> </span>train_ds.set_transform(train_transforms) | |
| <span class="hljs-meta">>>> </span>test_ds.set_transform(val_transforms)`,wrap:!1}}),{c(){a=d("p"),a.innerHTML=o,l=r(),c=d("ul"),c.innerHTML=u,_=r(),h(X.$$.fragment),B=r(),$=d("p"),$.innerHTML=R,C=r(),h(Y.$$.fragment),x=r(),b=d("p"),b.innerHTML=V,m=r(),h(T.$$.fragment)},l(j){a=U(j,"P",{"data-svelte-h":!0}),W(a)!=="svelte-1gdpu9e"&&(a.innerHTML=o),l=i(j),c=U(j,"UL",{"data-svelte-h":!0}),W(c)!=="svelte-1fzyemf"&&(c.innerHTML=u),_=i(j),g(X.$$.fragment,j),B=i(j),$=U(j,"P",{"data-svelte-h":!0}),W($)!=="svelte-t1b9t8"&&($.innerHTML=R),C=i(j),g(Y.$$.fragment,j),x=i(j),b=U(j,"P",{"data-svelte-h":!0}),W(b)!=="svelte-1tl8xez"&&(b.innerHTML=V),m=i(j),g(T.$$.fragment,j)},m(j,k){t(j,a,k),t(j,l,k),t(j,c,k),t(j,_,k),J(X,j,k),t(j,B,k),t(j,$,k),t(j,C,k),J(Y,j,k),t(j,x,k),t(j,b,k),t(j,m,k),J(T,j,k),F=!0},p:ss,i(j){F||(y(X.$$.fragment,j),y(Y.$$.fragment,j),y(T.$$.fragment,j),F=!0)},o(j){f(X.$$.fragment,j),f(Y.$$.fragment,j),f(T.$$.fragment,j),F=!1},d(j){j&&(e(a),e(l),e(c),e(_),e(B),e($),e(C),e(x),e(b),e(m)),w(X,j),w(Y,j),w(T,j)}}}function ea(Z){let a,o;return a=new os({props:{$$slots:{default:[aa]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function ta(Z){let a,o;return a=new v({props:{code:"aW1wb3J0JTIwbnVtcHklMjBhcyUyMG5wJTBBaW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdG9yY2glMjBpbXBvcnQlMjBubiUwQSUwQWRlZiUyMGNvbXB1dGVfbWV0cmljcyhldmFsX3ByZWQpJTNBJTBBJTIwJTIwJTIwJTIwd2l0aCUyMHRvcmNoLm5vX2dyYWQoKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxvZ2l0cyUyQyUyMGxhYmVscyUyMCUzRCUyMGV2YWxfcHJlZCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxvZ2l0c190ZW5zb3IlMjAlM0QlMjB0b3JjaC5mcm9tX251bXB5KGxvZ2l0cyklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsb2dpdHNfdGVuc29yJTIwJTNEJTIwbm4uZnVuY3Rpb25hbC5pbnRlcnBvbGF0ZSglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsb2dpdHNfdGVuc29yJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2l6ZSUzRGxhYmVscy5zaGFwZSU1Qi0yJTNBJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbW9kZSUzRCUyMmJpbGluZWFyJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYWxpZ25fY29ybmVycyUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKS5hcmdtYXgoZGltJTNEMSklMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcmVkX2xhYmVscyUyMCUzRCUyMGxvZ2l0c190ZW5zb3IuZGV0YWNoKCkuY3B1KCkubnVtcHkoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1ldHJpY3MlMjAlM0QlMjBtZXRyaWMuY29tcHV0ZSglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcmVkaWN0aW9ucyUzRHByZWRfbGFiZWxzJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVmZXJlbmNlcyUzRGxhYmVscyUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG51bV9sYWJlbHMlM0RudW1fbGFiZWxzJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWdub3JlX2luZGV4JTNEMjU1JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVkdWNlX2xhYmVscyUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZvciUyMGtleSUyQyUyMHZhbHVlJTIwaW4lMjBtZXRyaWNzLml0ZW1zKCklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMHR5cGUodmFsdWUpJTIwaXMlMjBucC5uZGFycmF5JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbWV0cmljcyU1QmtleSU1RCUyMCUzRCUyMHZhbHVlLnRvbGlzdCgpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwbWV0cmljcw==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> torch | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> torch <span class="hljs-keyword">import</span> nn | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">compute_metrics</span>(<span class="hljs-params">eval_pred</span>): | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">with</span> torch.no_grad(): | |
| <span class="hljs-meta">... </span> logits, labels = eval_pred | |
| <span class="hljs-meta">... </span> logits_tensor = torch.from_numpy(logits) | |
| <span class="hljs-meta">... </span> logits_tensor = nn.functional.interpolate( | |
| <span class="hljs-meta">... </span> logits_tensor, | |
| <span class="hljs-meta">... </span> size=labels.shape[-<span class="hljs-number">2</span>:], | |
| <span class="hljs-meta">... </span> mode=<span class="hljs-string">"bilinear"</span>, | |
| <span class="hljs-meta">... </span> align_corners=<span class="hljs-literal">False</span>, | |
| <span class="hljs-meta">... </span> ).argmax(dim=<span class="hljs-number">1</span>) | |
| <span class="hljs-meta">... </span> pred_labels = logits_tensor.detach().cpu().numpy() | |
| <span class="hljs-meta">... </span> metrics = metric.compute( | |
| <span class="hljs-meta">... </span> predictions=pred_labels, | |
| <span class="hljs-meta">... </span> references=labels, | |
| <span class="hljs-meta">... </span> num_labels=num_labels, | |
| <span class="hljs-meta">... </span> ignore_index=<span class="hljs-number">255</span>, | |
| <span class="hljs-meta">... </span> reduce_labels=<span class="hljs-literal">False</span>, | |
| <span class="hljs-meta">... </span> ) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">for</span> key, value <span class="hljs-keyword">in</span> metrics.items(): | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> <span class="hljs-built_in">type</span>(value) <span class="hljs-keyword">is</span> np.ndarray: | |
| <span class="hljs-meta">... </span> metrics[key] = value.tolist() | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> metrics`,wrap:!1}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p:ss,i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function na(Z){let a,o;return a=new os({props:{$$slots:{default:[ta]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function pa(Z){let a,o;return a=new v({props:{code:"ZGVmJTIwY29tcHV0ZV9tZXRyaWNzKGV2YWxfcHJlZCklM0ElMEElMjAlMjAlMjAlMjBsb2dpdHMlMkMlMjBsYWJlbHMlMjAlM0QlMjBldmFsX3ByZWQlMEElMjAlMjAlMjAlMjBsb2dpdHMlMjAlM0QlMjB0Zi50cmFuc3Bvc2UobG9naXRzJTJDJTIwcGVybSUzRCU1QjAlMkMlMjAyJTJDJTIwMyUyQyUyMDElNUQpJTBBJTIwJTIwJTIwJTIwbG9naXRzX3Jlc2l6ZWQlMjAlM0QlMjB0Zi5pbWFnZS5yZXNpemUoJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9naXRzJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2l6ZSUzRHRmLnNoYXBlKGxhYmVscyklNUIxJTNBJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbWV0aG9kJTNEJTIyYmlsaW5lYXIlMjIlMkMlMEElMjAlMjAlMjAlMjApJTBBJTBBJTIwJTIwJTIwJTIwcHJlZF9sYWJlbHMlMjAlM0QlMjB0Zi5hcmdtYXgobG9naXRzX3Jlc2l6ZWQlMkMlMjBheGlzJTNELTEpJTBBJTIwJTIwJTIwJTIwbWV0cmljcyUyMCUzRCUyMG1ldHJpYy5jb21wdXRlKCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByZWRpY3Rpb25zJTNEcHJlZF9sYWJlbHMlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZWZlcmVuY2VzJTNEbGFiZWxzJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbnVtX2xhYmVscyUzRG51bV9sYWJlbHMlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZ25vcmVfaW5kZXglM0QtMSUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJlZHVjZV9sYWJlbHMlM0RpbWFnZV9wcm9jZXNzb3IuZG9fcmVkdWNlX2xhYmVscyUyQyUwQSUyMCUyMCUyMCUyMCklMEElMEElMjAlMjAlMjAlMjBwZXJfY2F0ZWdvcnlfYWNjdXJhY3klMjAlM0QlMjBtZXRyaWNzLnBvcCglMjJwZXJfY2F0ZWdvcnlfYWNjdXJhY3klMjIpLnRvbGlzdCgpJTBBJTIwJTIwJTIwJTIwcGVyX2NhdGVnb3J5X2lvdSUyMCUzRCUyMG1ldHJpY3MucG9wKCUyMnBlcl9jYXRlZ29yeV9pb3UlMjIpLnRvbGlzdCgpJTBBJTBBJTIwJTIwJTIwJTIwbWV0cmljcy51cGRhdGUoJTdCZiUyMmFjY3VyYWN5XyU3QmlkMmxhYmVsJTVCaSU1RCU3RCUyMiUzQSUyMHYlMjBmb3IlMjBpJTJDJTIwdiUyMGluJTIwZW51bWVyYXRlKHBlcl9jYXRlZ29yeV9hY2N1cmFjeSklN0QpJTBBJTIwJTIwJTIwJTIwbWV0cmljcy51cGRhdGUoJTdCZiUyMmlvdV8lN0JpZDJsYWJlbCU1QmklNUQlN0QlMjIlM0ElMjB2JTIwZm9yJTIwaSUyQyUyMHYlMjBpbiUyMGVudW1lcmF0ZShwZXJfY2F0ZWdvcnlfaW91KSU3RCklMEElMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlMjJ2YWxfJTIyJTIwJTJCJTIwayUzQSUyMHYlMjBmb3IlMjBrJTJDJTIwdiUyMGluJTIwbWV0cmljcy5pdGVtcygpJTdE",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">compute_metrics</span>(<span class="hljs-params">eval_pred</span>): | |
| <span class="hljs-meta">... </span> logits, labels = eval_pred | |
| <span class="hljs-meta">... </span> logits = tf.transpose(logits, perm=[<span class="hljs-number">0</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">1</span>]) | |
| <span class="hljs-meta">... </span> logits_resized = tf.image.resize( | |
| <span class="hljs-meta">... </span> logits, | |
| <span class="hljs-meta">... </span> size=tf.shape(labels)[<span class="hljs-number">1</span>:], | |
| <span class="hljs-meta">... </span> method=<span class="hljs-string">"bilinear"</span>, | |
| <span class="hljs-meta">... </span> ) | |
| <span class="hljs-meta">... </span> pred_labels = tf.argmax(logits_resized, axis=-<span class="hljs-number">1</span>) | |
| <span class="hljs-meta">... </span> metrics = metric.compute( | |
| <span class="hljs-meta">... </span> predictions=pred_labels, | |
| <span class="hljs-meta">... </span> references=labels, | |
| <span class="hljs-meta">... </span> num_labels=num_labels, | |
| <span class="hljs-meta">... </span> ignore_index=-<span class="hljs-number">1</span>, | |
| <span class="hljs-meta">... </span> reduce_labels=image_processor.do_reduce_labels, | |
| <span class="hljs-meta">... </span> ) | |
| <span class="hljs-meta">... </span> per_category_accuracy = metrics.pop(<span class="hljs-string">"per_category_accuracy"</span>).tolist() | |
| <span class="hljs-meta">... </span> per_category_iou = metrics.pop(<span class="hljs-string">"per_category_iou"</span>).tolist() | |
| <span class="hljs-meta">... </span> metrics.update({<span class="hljs-string">f"accuracy_<span class="hljs-subst">{id2label[i]}</span>"</span>: v <span class="hljs-keyword">for</span> i, v <span class="hljs-keyword">in</span> <span class="hljs-built_in">enumerate</span>(per_category_accuracy)}) | |
| <span class="hljs-meta">... </span> metrics.update({<span class="hljs-string">f"iou_<span class="hljs-subst">{id2label[i]}</span>"</span>: v <span class="hljs-keyword">for</span> i, v <span class="hljs-keyword">in</span> <span class="hljs-built_in">enumerate</span>(per_category_iou)}) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> {<span class="hljs-string">"val_"</span> + k: v <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> metrics.items()}`,wrap:!1}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p:ss,i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function ma(Z){let a,o;return a=new os({props:{$$slots:{default:[pa]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function ca(Z){let a,o='<a href="/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer">Trainer</a> を使用したモデルの微調整に慣れていない場合は、<a href="../training#finetune-with-trainer">こちら</a> の基本的なチュートリアルをご覧ください。';return{c(){a=d("p"),a.innerHTML=o},l(l){a=U(l,"P",{"data-svelte-h":!0}),W(a)!=="svelte-14gm98h"&&(a.innerHTML=o)},m(l,c){t(l,a,c)},p:ss,d(l){l&&e(a)}}}function ra(Z){let a,o,l,c='これでモデルのトレーニングを開始する準備が整いました。 <a href="/docs/transformers/main/ja/model_doc/auto#transformers.AutoModelForSemanticSegmentation">AutoModelForSemanticSegmentation</a> を使用して SegFormer をロードし、ラベル ID とラベル クラス間のマッピングをモデルに渡します。',u,_,X,B,$="この時点で残っている手順は次の 3 つだけです。",R,C,Y='<li><a href="/docs/transformers/main/ja/main_classes/trainer#transformers.TrainingArguments">TrainingArguments</a> でトレーニング ハイパーパラメータを定義します。 <code>image</code> 列が削除されるため、未使用の列を削除しないことが重要です。 <code>image</code> 列がないと、<code>pixel_values</code> を作成できません。この動作を防ぐには、<code>remove_unused_columns=False</code>を設定してください。他に必要なパラメータは、モデルの保存場所を指定する <code>output_dir</code> だけです。 <code>push_to_hub=True</code>を設定して、このモデルをハブにプッシュします (モデルをアップロードするには、Hugging Face にサインインする必要があります)。各エポックの終了時に、<a href="/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer">Trainer</a> は IoU メトリックを評価し、トレーニング チェックポイントを保存します。</li> <li>トレーニング引数を、モデル、データセット、トークナイザー、データ照合器、および <code>compute_metrics</code> 関数とともに <a href="/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer">Trainer</a> に渡します。</li> <li><a href="/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer.train">train()</a> を呼び出してモデルを微調整します。</li>',x,b,V,m,T='トレーニングが完了したら、 <a href="/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer.push_to_hub">push_to_hub()</a> メソッドを使用してモデルをハブに共有し、誰もがモデルを使用できるようにします。',F,j,k;return a=new ul({props:{$$slots:{default:[ca]},$$scope:{ctx:Z}}}),_=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclNlbWFudGljU2VnbWVudGF0aW9uJTJDJTIwVHJhaW5pbmdBcmd1bWVudHMlMkMlMjBUcmFpbmVyJTBBJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JTZW1hbnRpY1NlZ21lbnRhdGlvbi5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCUyQyUyMGlkMmxhYmVsJTNEaWQybGFiZWwlMkMlMjBsYWJlbDJpZCUzRGxhYmVsMmlkKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForSemanticSegmentation, TrainingArguments, Trainer | |
| <span class="hljs-meta">>>> </span>model = AutoModelForSemanticSegmentation.from_pretrained(checkpoint, id2label=id2label, label2id=label2id)`,wrap:!1}}),b=new v({props:{code:"dHJhaW5pbmdfYXJncyUyMCUzRCUyMFRyYWluaW5nQXJndW1lbnRzKCUwQSUyMCUyMCUyMCUyMG91dHB1dF9kaXIlM0QlMjJzZWdmb3JtZXItYjAtc2NlbmUtcGFyc2UtMTUwJTIyJTJDJTBBJTIwJTIwJTIwJTIwbGVhcm5pbmdfcmF0ZSUzRDZlLTUlMkMlMEElMjAlMjAlMjAlMjBudW1fdHJhaW5fZXBvY2hzJTNENTAlMkMlMEElMjAlMjAlMjAlMjBwZXJfZGV2aWNlX3RyYWluX2JhdGNoX3NpemUlM0QyJTJDJTBBJTIwJTIwJTIwJTIwcGVyX2RldmljZV9ldmFsX2JhdGNoX3NpemUlM0QyJTJDJTBBJTIwJTIwJTIwJTIwc2F2ZV90b3RhbF9saW1pdCUzRDMlMkMlMEElMjAlMjAlMjAlMjBldmFsX3N0cmF0ZWd5JTNEJTIyc3RlcHMlMjIlMkMlMEElMjAlMjAlMjAlMjBzYXZlX3N0cmF0ZWd5JTNEJTIyc3RlcHMlMjIlMkMlMEElMjAlMjAlMjAlMjBzYXZlX3N0ZXBzJTNEMjAlMkMlMEElMjAlMjAlMjAlMjBldmFsX3N0ZXBzJTNEMjAlMkMlMEElMjAlMjAlMjAlMjBsb2dnaW5nX3N0ZXBzJTNEMSUyQyUwQSUyMCUyMCUyMCUyMGV2YWxfYWNjdW11bGF0aW9uX3N0ZXBzJTNENSUyQyUwQSUyMCUyMCUyMCUyMHJlbW92ZV91bnVzZWRfY29sdW1ucyUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwcHVzaF90b19odWIlM0RUcnVlJTJDJTBBKSUwQSUwQXRyYWluZXIlMjAlM0QlMjBUcmFpbmVyKCUwQSUyMCUyMCUyMCUyMG1vZGVsJTNEbW9kZWwlMkMlMEElMjAlMjAlMjAlMjBhcmdzJTNEdHJhaW5pbmdfYXJncyUyQyUwQSUyMCUyMCUyMCUyMHRyYWluX2RhdGFzZXQlM0R0cmFpbl9kcyUyQyUwQSUyMCUyMCUyMCUyMGV2YWxfZGF0YXNldCUzRHRlc3RfZHMlMkMlMEElMjAlMjAlMjAlMjBjb21wdXRlX21ldHJpY3MlM0Rjb21wdXRlX21ldHJpY3MlMkMlMEEpJTBBJTBBdHJhaW5lci50cmFpbigp",highlighted:`<span class="hljs-meta">>>> </span>training_args = TrainingArguments( | |
| <span class="hljs-meta">... </span> output_dir=<span class="hljs-string">"segformer-b0-scene-parse-150"</span>, | |
| <span class="hljs-meta">... </span> learning_rate=<span class="hljs-number">6e-5</span>, | |
| <span class="hljs-meta">... </span> num_train_epochs=<span class="hljs-number">50</span>, | |
| <span class="hljs-meta">... </span> per_device_train_batch_size=<span class="hljs-number">2</span>, | |
| <span class="hljs-meta">... </span> per_device_eval_batch_size=<span class="hljs-number">2</span>, | |
| <span class="hljs-meta">... </span> save_total_limit=<span class="hljs-number">3</span>, | |
| <span class="hljs-meta">... </span> eval_strategy=<span class="hljs-string">"steps"</span>, | |
| <span class="hljs-meta">... </span> save_strategy=<span class="hljs-string">"steps"</span>, | |
| <span class="hljs-meta">... </span> save_steps=<span class="hljs-number">20</span>, | |
| <span class="hljs-meta">... </span> eval_steps=<span class="hljs-number">20</span>, | |
| <span class="hljs-meta">... </span> logging_steps=<span class="hljs-number">1</span>, | |
| <span class="hljs-meta">... </span> eval_accumulation_steps=<span class="hljs-number">5</span>, | |
| <span class="hljs-meta">... </span> remove_unused_columns=<span class="hljs-literal">False</span>, | |
| <span class="hljs-meta">... </span> push_to_hub=<span class="hljs-literal">True</span>, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>trainer = Trainer( | |
| <span class="hljs-meta">... </span> model=model, | |
| <span class="hljs-meta">... </span> args=training_args, | |
| <span class="hljs-meta">... </span> train_dataset=train_ds, | |
| <span class="hljs-meta">... </span> eval_dataset=test_ds, | |
| <span class="hljs-meta">... </span> compute_metrics=compute_metrics, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>trainer.train()`,wrap:!1}}),j=new v({props:{code:"dHJhaW5lci5wdXNoX3RvX2h1Yigp",highlighted:'<span class="hljs-meta">>>> </span>trainer.push_to_hub()',wrap:!1}}),{c(){h(a.$$.fragment),o=r(),l=d("p"),l.innerHTML=c,u=r(),h(_.$$.fragment),X=r(),B=d("p"),B.textContent=$,R=r(),C=d("ol"),C.innerHTML=Y,x=r(),h(b.$$.fragment),V=r(),m=d("p"),m.innerHTML=T,F=r(),h(j.$$.fragment)},l(p){g(a.$$.fragment,p),o=i(p),l=U(p,"P",{"data-svelte-h":!0}),W(l)!=="svelte-2ojowm"&&(l.innerHTML=c),u=i(p),g(_.$$.fragment,p),X=i(p),B=U(p,"P",{"data-svelte-h":!0}),W(B)!=="svelte-1j8bgyv"&&(B.textContent=$),R=i(p),C=U(p,"OL",{"data-svelte-h":!0}),W(C)!=="svelte-10zi60h"&&(C.innerHTML=Y),x=i(p),g(b.$$.fragment,p),V=i(p),m=U(p,"P",{"data-svelte-h":!0}),W(m)!=="svelte-ngexm3"&&(m.innerHTML=T),F=i(p),g(j.$$.fragment,p)},m(p,I){J(a,p,I),t(p,o,I),t(p,l,I),t(p,u,I),J(_,p,I),t(p,X,I),t(p,B,I),t(p,R,I),t(p,C,I),t(p,x,I),J(b,p,I),t(p,V,I),t(p,m,I),t(p,F,I),J(j,p,I),k=!0},p(p,I){const E={};I&2&&(E.$$scope={dirty:I,ctx:p}),a.$set(E)},i(p){k||(y(a.$$.fragment,p),y(_.$$.fragment,p),y(b.$$.fragment,p),y(j.$$.fragment,p),k=!0)},o(p){f(a.$$.fragment,p),f(_.$$.fragment,p),f(b.$$.fragment,p),f(j.$$.fragment,p),k=!1},d(p){p&&(e(o),e(l),e(u),e(X),e(B),e(R),e(C),e(x),e(V),e(m),e(F)),w(a,p),w(_,p),w(b,p),w(j,p)}}}function ia(Z){let a,o;return a=new os({props:{$$slots:{default:[ra]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function Ma(Z){let a,o='Keras を使用したモデルの微調整に慣れていない場合は、まず <a href="./training#train-a-tensorflow-model-with-keras">基本チュートリアル</a> を確認してください。';return{c(){a=d("p"),a.innerHTML=o},l(l){a=U(l,"P",{"data-svelte-h":!0}),W(a)!=="svelte-m0v6mc"&&(a.innerHTML=o)},m(l,c){t(l,a,c)},p:ss,d(l){l&&e(a)}}}function oa(Z){let a,o,l,c="TensorFlow でモデルを微調整するには、次の手順に従います。",u,_,X="<li>トレーニングのハイパーパラメータを定義し、オプティマイザーと学習率スケジュールを設定します。</li> <li>事前トレーニングされたモデルをインスタンス化します。</li> <li>🤗 データセットを <code>tf.data.Dataset</code> に変換します。</li> <li>モデルをコンパイルします。</li> <li>コールバックを追加してメトリクスを計算し、モデルを 🤗 Hub にアップロードします</li> <li><code>fit()</code> メソッドを使用してトレーニングを実行します。</li>",B,$,R="まず、ハイパーパラメーター、オプティマイザー、学習率スケジュールを定義します。",C,Y,x,b,V=`次に、ラベル マッピングとともに <a href="/docs/transformers/main/ja/model_doc/auto#transformers.TFAutoModelForSemanticSegmentation">TFAutoModelForSemanticSegmentation</a> を使用して SegFormer をロードし、それをコンパイルします。 | |
| オプティマイザ。 Transformers モデルにはすべてデフォルトのタスク関連の損失関数があるため、次の場合を除き、損失関数を指定する必要はないことに注意してください。`,m,T,F,j,k="<code>to_tf_dataset</code> と <code>DefaultDataCollator</code> を使用して、データセットを <code>tf.data.Dataset</code> 形式に変換します。",p,I,E,Q,S=`予測から精度を計算し、モデルを 🤗 ハブにプッシュするには、<a href="../main_classes/keras_callbacks">Keras callbacks</a> を使用します。 | |
| <code>compute_metrics</code> 関数を <a href="/docs/transformers/main/ja/main_classes/keras_callbacks#transformers.KerasMetricCallback">KerasMetricCallback</a> に渡します。 | |
| そして <a href="/docs/transformers/main/ja/main_classes/keras_callbacks#transformers.PushToHubCallback">PushToHubCallback</a> を使用してモデルをアップロードします。`,D,N,js,z,L=`ついに、モデルをトレーニングする準備が整いました。<code>fit()</code>トレーニングおよび検証データセット、エポック数、 | |
| モデルを微調整するためのコールバック:`,K,A,P,H,Rs="おめでとう!モデルを微調整し、🤗 Hub で共有しました。これで推論に使用できるようになりました。",O;return a=new ul({props:{$$slots:{default:[Ma]},$$scope:{ctx:Z}}}),Y=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMGNyZWF0ZV9vcHRpbWl6ZXIlMEElMEFiYXRjaF9zaXplJTIwJTNEJTIwMiUwQW51bV9lcG9jaHMlMjAlM0QlMjA1MCUwQW51bV90cmFpbl9zdGVwcyUyMCUzRCUyMGxlbih0cmFpbl9kcyklMjAqJTIwbnVtX2Vwb2NocyUwQWxlYXJuaW5nX3JhdGUlMjAlM0QlMjA2ZS01JTBBd2VpZ2h0X2RlY2F5X3JhdGUlMjAlM0QlMjAwLjAxJTBBJTBBb3B0aW1pemVyJTJDJTIwbHJfc2NoZWR1bGUlMjAlM0QlMjBjcmVhdGVfb3B0aW1pemVyKCUwQSUyMCUyMCUyMCUyMGluaXRfbHIlM0RsZWFybmluZ19yYXRlJTJDJTBBJTIwJTIwJTIwJTIwbnVtX3RyYWluX3N0ZXBzJTNEbnVtX3RyYWluX3N0ZXBzJTJDJTBBJTIwJTIwJTIwJTIwd2VpZ2h0X2RlY2F5X3JhdGUlM0R3ZWlnaHRfZGVjYXlfcmF0ZSUyQyUwQSUyMCUyMCUyMCUyMG51bV93YXJtdXBfc3RlcHMlM0QwJTJDJTBBKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> create_optimizer | |
| <span class="hljs-meta">>>> </span>batch_size = <span class="hljs-number">2</span> | |
| <span class="hljs-meta">>>> </span>num_epochs = <span class="hljs-number">50</span> | |
| <span class="hljs-meta">>>> </span>num_train_steps = <span class="hljs-built_in">len</span>(train_ds) * num_epochs | |
| <span class="hljs-meta">>>> </span>learning_rate = <span class="hljs-number">6e-5</span> | |
| <span class="hljs-meta">>>> </span>weight_decay_rate = <span class="hljs-number">0.01</span> | |
| <span class="hljs-meta">>>> </span>optimizer, lr_schedule = create_optimizer( | |
| <span class="hljs-meta">... </span> init_lr=learning_rate, | |
| <span class="hljs-meta">... </span> num_train_steps=num_train_steps, | |
| <span class="hljs-meta">... </span> weight_decay_rate=weight_decay_rate, | |
| <span class="hljs-meta">... </span> num_warmup_steps=<span class="hljs-number">0</span>, | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),T=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yU2VtYW50aWNTZWdtZW50YXRpb24lMEElMEFtb2RlbCUyMCUzRCUyMFRGQXV0b01vZGVsRm9yU2VtYW50aWNTZWdtZW50YXRpb24uZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMGNoZWNrcG9pbnQlMkMlMEElMjAlMjAlMjAlMjBpZDJsYWJlbCUzRGlkMmxhYmVsJTJDJTBBJTIwJTIwJTIwJTIwbGFiZWwyaWQlM0RsYWJlbDJpZCUyQyUwQSklMEFtb2RlbC5jb21waWxlKG9wdGltaXplciUzRG9wdGltaXplciklMjAlMjAlMjMlMjBObyUyMGxvc3MlMjBhcmd1bWVudCE=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForSemanticSegmentation | |
| <span class="hljs-meta">>>> </span>model = TFAutoModelForSemanticSegmentation.from_pretrained( | |
| <span class="hljs-meta">... </span> checkpoint, | |
| <span class="hljs-meta">... </span> id2label=id2label, | |
| <span class="hljs-meta">... </span> label2id=label2id, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>model.<span class="hljs-built_in">compile</span>(optimizer=optimizer) <span class="hljs-comment"># No loss argument!</span>`,wrap:!1}}),I=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERlZmF1bHREYXRhQ29sbGF0b3IlMEElMEFkYXRhX2NvbGxhdG9yJTIwJTNEJTIwRGVmYXVsdERhdGFDb2xsYXRvcihyZXR1cm5fdGVuc29ycyUzRCUyMnRmJTIyKSUwQSUwQXRmX3RyYWluX2RhdGFzZXQlMjAlM0QlMjB0cmFpbl9kcy50b190Zl9kYXRhc2V0KCUwQSUyMCUyMCUyMCUyMGNvbHVtbnMlM0QlNUIlMjJwaXhlbF92YWx1ZXMlMjIlMkMlMjAlMjJsYWJlbCUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMHNodWZmbGUlM0RUcnVlJTJDJTBBJTIwJTIwJTIwJTIwYmF0Y2hfc2l6ZSUzRGJhdGNoX3NpemUlMkMlMEElMjAlMjAlMjAlMjBjb2xsYXRlX2ZuJTNEZGF0YV9jb2xsYXRvciUyQyUwQSklMEElMEF0Zl9ldmFsX2RhdGFzZXQlMjAlM0QlMjB0ZXN0X2RzLnRvX3RmX2RhdGFzZXQoJTBBJTIwJTIwJTIwJTIwY29sdW1ucyUzRCU1QiUyMnBpeGVsX3ZhbHVlcyUyMiUyQyUyMCUyMmxhYmVsJTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwc2h1ZmZsZSUzRFRydWUlMkMlMEElMjAlMjAlMjAlMjBiYXRjaF9zaXplJTNEYmF0Y2hfc2l6ZSUyQyUwQSUyMCUyMCUyMCUyMGNvbGxhdGVfZm4lM0RkYXRhX2NvbGxhdG9yJTJDJTBBKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DefaultDataCollator | |
| <span class="hljs-meta">>>> </span>data_collator = DefaultDataCollator(return_tensors=<span class="hljs-string">"tf"</span>) | |
| <span class="hljs-meta">>>> </span>tf_train_dataset = train_ds.to_tf_dataset( | |
| <span class="hljs-meta">... </span> columns=[<span class="hljs-string">"pixel_values"</span>, <span class="hljs-string">"label"</span>], | |
| <span class="hljs-meta">... </span> shuffle=<span class="hljs-literal">True</span>, | |
| <span class="hljs-meta">... </span> batch_size=batch_size, | |
| <span class="hljs-meta">... </span> collate_fn=data_collator, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>tf_eval_dataset = test_ds.to_tf_dataset( | |
| <span class="hljs-meta">... </span> columns=[<span class="hljs-string">"pixel_values"</span>, <span class="hljs-string">"label"</span>], | |
| <span class="hljs-meta">... </span> shuffle=<span class="hljs-literal">True</span>, | |
| <span class="hljs-meta">... </span> batch_size=batch_size, | |
| <span class="hljs-meta">... </span> collate_fn=data_collator, | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),N=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycy5rZXJhc19jYWxsYmFja3MlMjBpbXBvcnQlMjBLZXJhc01ldHJpY0NhbGxiYWNrJTJDJTIwUHVzaFRvSHViQ2FsbGJhY2slMEElMEFtZXRyaWNfY2FsbGJhY2slMjAlM0QlMjBLZXJhc01ldHJpY0NhbGxiYWNrKCUwQSUyMCUyMCUyMCUyMG1ldHJpY19mbiUzRGNvbXB1dGVfbWV0cmljcyUyQyUyMGV2YWxfZGF0YXNldCUzRHRmX2V2YWxfZGF0YXNldCUyQyUyMGJhdGNoX3NpemUlM0RiYXRjaF9zaXplJTJDJTIwbGFiZWxfY29scyUzRCU1QiUyMmxhYmVscyUyMiU1RCUwQSklMEElMEFwdXNoX3RvX2h1Yl9jYWxsYmFjayUyMCUzRCUyMFB1c2hUb0h1YkNhbGxiYWNrKG91dHB1dF9kaXIlM0QlMjJzY2VuZV9zZWdtZW50YXRpb24lMjIlMkMlMjBpbWFnZV9wcm9jZXNzb3IlM0RpbWFnZV9wcm9jZXNzb3IpJTBBJTBBY2FsbGJhY2tzJTIwJTNEJTIwJTVCbWV0cmljX2NhbGxiYWNrJTJDJTIwcHVzaF90b19odWJfY2FsbGJhY2slNUQ=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers.keras_callbacks <span class="hljs-keyword">import</span> KerasMetricCallback, PushToHubCallback | |
| <span class="hljs-meta">>>> </span>metric_callback = KerasMetricCallback( | |
| <span class="hljs-meta">... </span> metric_fn=compute_metrics, eval_dataset=tf_eval_dataset, batch_size=batch_size, label_cols=[<span class="hljs-string">"labels"</span>] | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>push_to_hub_callback = PushToHubCallback(output_dir=<span class="hljs-string">"scene_segmentation"</span>, image_processor=image_processor) | |
| <span class="hljs-meta">>>> </span>callbacks = [metric_callback, push_to_hub_callback]`,wrap:!1}}),A=new v({props:{code:"bW9kZWwuZml0KCUwQSUyMCUyMCUyMCUyMHRmX3RyYWluX2RhdGFzZXQlMkMlMEElMjAlMjAlMjAlMjB2YWxpZGF0aW9uX2RhdGElM0R0Zl9ldmFsX2RhdGFzZXQlMkMlMEElMjAlMjAlMjAlMjBjYWxsYmFja3MlM0RjYWxsYmFja3MlMkMlMEElMjAlMjAlMjAlMjBlcG9jaHMlM0RudW1fZXBvY2hzJTJDJTBBKQ==",highlighted:`<span class="hljs-meta">>>> </span>model.fit( | |
| <span class="hljs-meta">... </span> tf_train_dataset, | |
| <span class="hljs-meta">... </span> validation_data=tf_eval_dataset, | |
| <span class="hljs-meta">... </span> callbacks=callbacks, | |
| <span class="hljs-meta">... </span> epochs=num_epochs, | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),{c(){h(a.$$.fragment),o=r(),l=d("p"),l.textContent=c,u=r(),_=d("ol"),_.innerHTML=X,B=r(),$=d("p"),$.textContent=R,C=r(),h(Y.$$.fragment),x=r(),b=d("p"),b.innerHTML=V,m=r(),h(T.$$.fragment),F=r(),j=d("p"),j.innerHTML=k,p=r(),h(I.$$.fragment),E=r(),Q=d("p"),Q.innerHTML=S,D=r(),h(N.$$.fragment),js=r(),z=d("p"),z.innerHTML=L,K=r(),h(A.$$.fragment),P=r(),H=d("p"),H.textContent=Rs},l(M){g(a.$$.fragment,M),o=i(M),l=U(M,"P",{"data-svelte-h":!0}),W(l)!=="svelte-a44fb"&&(l.textContent=c),u=i(M),_=U(M,"OL",{"data-svelte-h":!0}),W(_)!=="svelte-23fvp6"&&(_.innerHTML=X),B=i(M),$=U(M,"P",{"data-svelte-h":!0}),W($)!=="svelte-1u4w84l"&&($.textContent=R),C=i(M),g(Y.$$.fragment,M),x=i(M),b=U(M,"P",{"data-svelte-h":!0}),W(b)!=="svelte-zx1iij"&&(b.innerHTML=V),m=i(M),g(T.$$.fragment,M),F=i(M),j=U(M,"P",{"data-svelte-h":!0}),W(j)!=="svelte-ye4n86"&&(j.innerHTML=k),p=i(M),g(I.$$.fragment,M),E=i(M),Q=U(M,"P",{"data-svelte-h":!0}),W(Q)!=="svelte-1h8vmak"&&(Q.innerHTML=S),D=i(M),g(N.$$.fragment,M),js=i(M),z=U(M,"P",{"data-svelte-h":!0}),W(z)!=="svelte-ulk2fl"&&(z.innerHTML=L),K=i(M),g(A.$$.fragment,M),P=i(M),H=U(M,"P",{"data-svelte-h":!0}),W(H)!=="svelte-f4xo0m"&&(H.textContent=Rs)},m(M,G){J(a,M,G),t(M,o,G),t(M,l,G),t(M,u,G),t(M,_,G),t(M,B,G),t(M,$,G),t(M,C,G),J(Y,M,G),t(M,x,G),t(M,b,G),t(M,m,G),J(T,M,G),t(M,F,G),t(M,j,G),t(M,p,G),J(I,M,G),t(M,E,G),t(M,Q,G),t(M,D,G),J(N,M,G),t(M,js,G),t(M,z,G),t(M,K,G),J(A,M,G),t(M,P,G),t(M,H,G),O=!0},p(M,G){const q={};G&2&&(q.$$scope={dirty:G,ctx:M}),a.$set(q)},i(M){O||(y(a.$$.fragment,M),y(Y.$$.fragment,M),y(T.$$.fragment,M),y(I.$$.fragment,M),y(N.$$.fragment,M),y(A.$$.fragment,M),O=!0)},o(M){f(a.$$.fragment,M),f(Y.$$.fragment,M),f(T.$$.fragment,M),f(I.$$.fragment,M),f(N.$$.fragment,M),f(A.$$.fragment,M),O=!1},d(M){M&&(e(o),e(l),e(u),e(_),e(B),e($),e(C),e(x),e(b),e(m),e(F),e(j),e(p),e(E),e(Q),e(D),e(js),e(z),e(K),e(P),e(H)),w(a,M),w(Y,M),w(T,M),w(I,M),w(N,M),w(A,M)}}}function ja(Z){let a,o;return a=new os({props:{$$slots:{default:[oa]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function ha(Z){let a,o='推論用に微調整されたモデルを試す最も簡単な方法は、それを <a href="/docs/transformers/main/ja/main_classes/pipelines#transformers.pipeline">pipeline()</a> で使用することです。モデルを使用して画像セグメンテーション用の <code>pipeline</code> をインスタンス化し、それに画像を渡します。',l,c,u,_,X="必要に応じて、<code>pipeline</code> の結果を手動で複製することもできます。画像プロセッサで画像を処理し、<code>pixel_values</code>を GPU に配置します。",B,$,R,C,Y="入力をモデルに渡し、「logits」を返します。",x,b,V,m,T="次に、ロジットを元の画像サイズに再スケールします。",F,j,k;return c=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBc2VnbWVudGVyJTIwJTNEJTIwcGlwZWxpbmUoJTIyaW1hZ2Utc2VnbWVudGF0aW9uJTIyJTJDJTIwbW9kZWwlM0QlMjJteV9hd2Vzb21lX3NlZ19tb2RlbCUyMiklMEFzZWdtZW50ZXIoaW1hZ2Up",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline | |
| <span class="hljs-meta">>>> </span>segmenter = pipeline(<span class="hljs-string">"image-segmentation"</span>, model=<span class="hljs-string">"my_awesome_seg_model"</span>) | |
| <span class="hljs-meta">>>> </span>segmenter(image) | |
| [{<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'wall'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062690</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'sky'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062A50</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'floor'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062B50</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'ceiling'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062A10</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'bed '</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062E90</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'windowpane'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062390</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'cabinet'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062550</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'chair'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062D90</span>>}, | |
| {<span class="hljs-string">'score'</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">'label'</span>: <span class="hljs-string">'armchair'</span>, | |
| <span class="hljs-string">'mask'</span>: <PIL.Image.Image image mode=L size=640x427 at <span class="hljs-number">0x7FD5B2062E10</span>>}]`,wrap:!1}}),$=new v({props:{code:"ZGV2aWNlJTIwJTNEJTIwdG9yY2guZGV2aWNlKCUyMmN1ZGElMjIlMjBpZiUyMHRvcmNoLmN1ZGEuaXNfYXZhaWxhYmxlKCklMjBlbHNlJTIwJTIyY3B1JTIyKSUyMCUyMCUyMyUyMHVzZSUyMEdQVSUyMGlmJTIwYXZhaWxhYmxlJTJDJTIwb3RoZXJ3aXNlJTIwdXNlJTIwYSUyMENQVSUwQWVuY29kaW5nJTIwJTNEJTIwaW1hZ2VfcHJvY2Vzc29yKGltYWdlJTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMiklMEFwaXhlbF92YWx1ZXMlMjAlM0QlMjBlbmNvZGluZy5waXhlbF92YWx1ZXMudG8oZGV2aWNlKQ==",highlighted:`<span class="hljs-meta">>>> </span>device = torch.device(<span class="hljs-string">"cuda"</span> <span class="hljs-keyword">if</span> torch.cuda.is_available() <span class="hljs-keyword">else</span> <span class="hljs-string">"cpu"</span>) <span class="hljs-comment"># use GPU if available, otherwise use a CPU</span> | |
| <span class="hljs-meta">>>> </span>encoding = image_processor(image, return_tensors=<span class="hljs-string">"pt"</span>) | |
| <span class="hljs-meta">>>> </span>pixel_values = encoding.pixel_values.to(device)`,wrap:!1}}),b=new v({props:{code:"b3V0cHV0cyUyMCUzRCUyMG1vZGVsKHBpeGVsX3ZhbHVlcyUzRHBpeGVsX3ZhbHVlcyklMEFsb2dpdHMlMjAlM0QlMjBvdXRwdXRzLmxvZ2l0cy5jcHUoKQ==",highlighted:`<span class="hljs-meta">>>> </span>outputs = model(pixel_values=pixel_values) | |
| <span class="hljs-meta">>>> </span>logits = outputs.logits.cpu()`,wrap:!1}}),j=new v({props:{code:"dXBzYW1wbGVkX2xvZ2l0cyUyMCUzRCUyMG5uLmZ1bmN0aW9uYWwuaW50ZXJwb2xhdGUoJTBBJTIwJTIwJTIwJTIwbG9naXRzJTJDJTBBJTIwJTIwJTIwJTIwc2l6ZSUzRGltYWdlLnNpemUlNUIlM0ElM0EtMSU1RCUyQyUwQSUyMCUyMCUyMCUyMG1vZGUlM0QlMjJiaWxpbmVhciUyMiUyQyUwQSUyMCUyMCUyMCUyMGFsaWduX2Nvcm5lcnMlM0RGYWxzZSUyQyUwQSklMEElMEFwcmVkX3NlZyUyMCUzRCUyMHVwc2FtcGxlZF9sb2dpdHMuYXJnbWF4KGRpbSUzRDEpJTVCMCU1RA==",highlighted:`<span class="hljs-meta">>>> </span>upsampled_logits = nn.functional.interpolate( | |
| <span class="hljs-meta">... </span> logits, | |
| <span class="hljs-meta">... </span> size=image.size[::-<span class="hljs-number">1</span>], | |
| <span class="hljs-meta">... </span> mode=<span class="hljs-string">"bilinear"</span>, | |
| <span class="hljs-meta">... </span> align_corners=<span class="hljs-literal">False</span>, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>pred_seg = upsampled_logits.argmax(dim=<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>]`,wrap:!1}}),{c(){a=d("p"),a.innerHTML=o,l=r(),h(c.$$.fragment),u=r(),_=d("p"),_.innerHTML=X,B=r(),h($.$$.fragment),R=r(),C=d("p"),C.textContent=Y,x=r(),h(b.$$.fragment),V=r(),m=d("p"),m.textContent=T,F=r(),h(j.$$.fragment)},l(p){a=U(p,"P",{"data-svelte-h":!0}),W(a)!=="svelte-16lv38u"&&(a.innerHTML=o),l=i(p),g(c.$$.fragment,p),u=i(p),_=U(p,"P",{"data-svelte-h":!0}),W(_)!=="svelte-mukmwo"&&(_.innerHTML=X),B=i(p),g($.$$.fragment,p),R=i(p),C=U(p,"P",{"data-svelte-h":!0}),W(C)!=="svelte-1s95jp3"&&(C.textContent=Y),x=i(p),g(b.$$.fragment,p),V=i(p),m=U(p,"P",{"data-svelte-h":!0}),W(m)!=="svelte-oolpf2"&&(m.textContent=T),F=i(p),g(j.$$.fragment,p)},m(p,I){t(p,a,I),t(p,l,I),J(c,p,I),t(p,u,I),t(p,_,I),t(p,B,I),J($,p,I),t(p,R,I),t(p,C,I),t(p,x,I),J(b,p,I),t(p,V,I),t(p,m,I),t(p,F,I),J(j,p,I),k=!0},p:ss,i(p){k||(y(c.$$.fragment,p),y($.$$.fragment,p),y(b.$$.fragment,p),y(j.$$.fragment,p),k=!0)},o(p){f(c.$$.fragment,p),f($.$$.fragment,p),f(b.$$.fragment,p),f(j.$$.fragment,p),k=!1},d(p){p&&(e(a),e(l),e(u),e(_),e(B),e(R),e(C),e(x),e(V),e(m),e(F)),w(c,p),w($,p),w(b,p),w(j,p)}}}function ga(Z){let a,o;return a=new os({props:{$$slots:{default:[ha]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function Ja(Z){let a,o="画像プロセッサをロードして画像を前処理し、入力を TensorFlow テンソルとして返します。",l,c,u,_,X="入力をモデルに渡し、<code>logits</code>を返します。",B,$,R,C,Y="次に、ロジットを元の画像サイズに再スケールし、クラス次元に argmax を適用します。",x,b,V;return c=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9JbWFnZVByb2Nlc3NvciUwQSUwQWltYWdlX3Byb2Nlc3NvciUyMCUzRCUyMEF1dG9JbWFnZVByb2Nlc3Nvci5mcm9tX3ByZXRyYWluZWQoJTIyTWFyaWFLJTJGc2NlbmVfc2VnbWVudGF0aW9uJTIyKSUwQWlucHV0cyUyMCUzRCUyMGltYWdlX3Byb2Nlc3NvcihpbWFnZSUyQyUyMHJldHVybl90ZW5zb3JzJTNEJTIydGYlMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoImageProcessor | |
| <span class="hljs-meta">>>> </span>image_processor = AutoImageProcessor.from_pretrained(<span class="hljs-string">"MariaK/scene_segmentation"</span>) | |
| <span class="hljs-meta">>>> </span>inputs = image_processor(image, return_tensors=<span class="hljs-string">"tf"</span>)`,wrap:!1}}),$=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yU2VtYW50aWNTZWdtZW50YXRpb24lMEElMEFtb2RlbCUyMCUzRCUyMFRGQXV0b01vZGVsRm9yU2VtYW50aWNTZWdtZW50YXRpb24uZnJvbV9wcmV0cmFpbmVkKCUyMk1hcmlhSyUyRnNjZW5lX3NlZ21lbnRhdGlvbiUyMiklMEFsb2dpdHMlMjAlM0QlMjBtb2RlbCgqKmlucHV0cykubG9naXRz",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForSemanticSegmentation | |
| <span class="hljs-meta">>>> </span>model = TFAutoModelForSemanticSegmentation.from_pretrained(<span class="hljs-string">"MariaK/scene_segmentation"</span>) | |
| <span class="hljs-meta">>>> </span>logits = model(**inputs).logits`,wrap:!1}}),b=new v({props:{code:"bG9naXRzJTIwJTNEJTIwdGYudHJhbnNwb3NlKGxvZ2l0cyUyQyUyMCU1QjAlMkMlMjAyJTJDJTIwMyUyQyUyMDElNUQpJTBBJTBBdXBzYW1wbGVkX2xvZ2l0cyUyMCUzRCUyMHRmLmltYWdlLnJlc2l6ZSglMEElMjAlMjAlMjAlMjBsb2dpdHMlMkMlMEElMjAlMjAlMjAlMjAlMjMlMjBXZSUyMHJldmVyc2UlMjB0aGUlMjBzaGFwZSUyMG9mJTIwJTYwaW1hZ2UlNjAlMjBiZWNhdXNlJTIwJTYwaW1hZ2Uuc2l6ZSU2MCUyMHJldHVybnMlMjB3aWR0aCUyMGFuZCUyMGhlaWdodC4lMEElMjAlMjAlMjAlMjBpbWFnZS5zaXplJTVCJTNBJTNBLTElNUQlMkMlMEEpJTBBJTBBcHJlZF9zZWclMjAlM0QlMjB0Zi5tYXRoLmFyZ21heCh1cHNhbXBsZWRfbG9naXRzJTJDJTIwYXhpcyUzRC0xKSU1QjAlNUQ=",highlighted:`<span class="hljs-meta">>>> </span>logits = tf.transpose(logits, [<span class="hljs-number">0</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">1</span>]) | |
| <span class="hljs-meta">>>> </span>upsampled_logits = tf.image.resize( | |
| <span class="hljs-meta">... </span> logits, | |
| <span class="hljs-meta">... </span> <span class="hljs-comment"># We reverse the shape of \`image\` because \`image.size\` returns width and height.</span> | |
| <span class="hljs-meta">... </span> image.size[::-<span class="hljs-number">1</span>], | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>pred_seg = tf.math.argmax(upsampled_logits, axis=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>]`,wrap:!1}}),{c(){a=d("p"),a.textContent=o,l=r(),h(c.$$.fragment),u=r(),_=d("p"),_.innerHTML=X,B=r(),h($.$$.fragment),R=r(),C=d("p"),C.textContent=Y,x=r(),h(b.$$.fragment)},l(m){a=U(m,"P",{"data-svelte-h":!0}),W(a)!=="svelte-7m1b4a"&&(a.textContent=o),l=i(m),g(c.$$.fragment,m),u=i(m),_=U(m,"P",{"data-svelte-h":!0}),W(_)!=="svelte-1rvunpz"&&(_.innerHTML=X),B=i(m),g($.$$.fragment,m),R=i(m),C=U(m,"P",{"data-svelte-h":!0}),W(C)!=="svelte-3qm4xh"&&(C.textContent=Y),x=i(m),g(b.$$.fragment,m)},m(m,T){t(m,a,T),t(m,l,T),J(c,m,T),t(m,u,T),t(m,_,T),t(m,B,T),J($,m,T),t(m,R,T),t(m,C,T),t(m,x,T),J(b,m,T),V=!0},p:ss,i(m){V||(y(c.$$.fragment,m),y($.$$.fragment,m),y(b.$$.fragment,m),V=!0)},o(m){f(c.$$.fragment,m),f($.$$.fragment,m),f(b.$$.fragment,m),V=!1},d(m){m&&(e(a),e(l),e(u),e(_),e(B),e(R),e(C),e(x)),w(c,m),w($,m),w(b,m)}}}function ya(Z){let a,o;return a=new os({props:{$$slots:{default:[Ja]},$$scope:{ctx:Z}}}),{c(){h(a.$$.fragment)},l(l){g(a.$$.fragment,l)},m(l,c){J(a,l,c),o=!0},p(l,c){const u={};c&2&&(u.$$scope={dirty:c,ctx:l}),a.$set(u)},i(l){o||(y(a.$$.fragment,l),o=!0)},o(l){f(a.$$.fragment,l),o=!1},d(l){w(a,l)}}}function fa(Z){let a,o,l,c,u,_,X,B,$,R,C,Y="セマンティック セグメンテーションでは、画像の個々のピクセルにラベルまたはクラスを割り当てます。セグメンテーションにはいくつかのタイプがありますが、セマンティック セグメンテーションの場合、同じオブジェクトの一意のインスタンス間の区別は行われません。両方のオブジェクトに同じラベルが付けられます (たとえば、「car-1」と「car-2」の代わりに「car」)。セマンティック セグメンテーションの一般的な現実世界のアプリケーションには、歩行者や重要な交通情報を識別するための自動運転車のトレーニング、医療画像内の細胞と異常の識別、衛星画像からの環境変化の監視などが含まれます。",x,b,V="このガイドでは、次の方法を説明します。",m,T,F='<li><a href="https://huggingface.co/datasets/scene_parse_150" rel="nofollow">SceneParse150</a> データセットの <a href="https://huggingface.co/docs/transformers/main/en/model_doc/segformer#segformer" rel="nofollow">SegFormer</a> を微調整します。</li> <li>微調整したモデルを推論に使用します。</li>',j,k,p,I,E="始める前に、必要なライブラリがすべてインストールされていることを確認してください。",Q,S,D,N,js="モデルをアップロードしてコミュニティと共有できるように、Hugging Face アカウントにログインすることをお勧めします。プロンプトが表示されたら、トークンを入力してログインします。",z,L,K,A,P,H,Rs="まず、SceneParse150 データセットの小さいサブセットを 🤗 データセット ライブラリから読み込みます。これにより、完全なデータセットのトレーニングにさらに時間を費やす前に、実験してすべてが機能することを確認する機会が得られます。",O,M,G,q,bl="<code>train_test_split</code> メソッドを使用して、データセットの <code>train</code> 分割をトレイン セットとテスト セットに分割します。",Vs,hs,Fs,gs,Tl="次に、例を見てみましょう。",Ns,Js,As,ys,dl="<li><code>image</code>: シーンの PIL イメージ。</li> <li><code>annotation</code>: セグメンテーション マップの PIL イメージ。モデルのターゲットでもあります。</li> <li><code>scene_category</code>: 「キッチン」や「オフィス」などの画像シーンを説明するカテゴリ ID。このガイドでは、「image」と「annotation」のみが必要になります。どちらも PIL イメージです。</li>",Hs,fs,Ul="また、ラベル ID をラベル クラスにマップする辞書を作成することもできます。これは、後でモデルを設定するときに役立ちます。ハブからマッピングをダウンロードし、<code>id2label</code> および <code>label2id</code> ディクショナリを作成します。",Qs,ws,zs,us,Es,bs,$l="次のステップでは、SegFormer 画像プロセッサをロードして、モデルの画像と注釈を準備します。このデータセットのような一部のデータセットは、バックグラウンド クラスとしてゼロインデックスを使用します。ただし、実際には背景クラスは 150 個のクラスに含まれていないため、<code>do_reduce_labels=True</code>を設定してすべてのラベルから 1 つを引く必要があります。ゼロインデックスは <code>255</code> に置き換えられるため、SegFormer の損失関数によって無視されます。",Ss,Ts,Ls,ls,qs,as,Ds,ds,Ks,Us,Il='トレーニング中にメトリクスを含めると、多くの場合、モデルのパフォーマンスを評価するのに役立ちます。 🤗 <a href="https://huggingface.co/docs/evaluate/index" rel="nofollow">Evaluate</a> ライブラリを使用して、評価メソッドをすばやくロードできます。このタスクでは、<a href="https://huggingface.co/spaces/evaluate-metric/accuracy" rel="nofollow">Mean Intersection over Union</a> (IoU) メトリックをロードします (🤗 Evaluate <a href="https://huggingface.co" rel="nofollow">クイック ツアー</a> を参照してください) /docs/evaluate/a_quick_tour) を参照して、メトリクスをロードして計算する方法の詳細を確認してください)。',Ps,$s,Os,Is,_l=`次に、メトリクスを <code>compute</code> する関数を作成します。予測を次のように変換する必要があります | |
| 最初にロジットを作成し、次に <code>compute</code> を呼び出す前にラベルのサイズに一致するように再形成します。`,sl,es,ll,ts,al,_s,Cl="これで<code>compute_metrics</code>関数の準備が整いました。トレーニングをセットアップするときにこの関数に戻ります。",el,Cs,tl,ns,nl,ps,pl,Ws,ml,Zs,Wl="モデルを微調整したので、それを推論に使用できるようになりました。",cl,Bs,Zl="推論のために画像をロードします。",rl,ks,il,ms,Bl='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/semantic-seg-image.png" alt="Image of bedroom"/>',Ml,cs,ol,rs,jl,Gs,kl='結果を視覚化するには、<a href="https://github.com/tensorflow/models/blob/3f1ca33afe3c1631b733ea7e40c294273b9e406d/research/deeplab/utils/get_dataset_colormap.py#L51" rel="nofollow">データセット カラー パレット</a> を、それぞれをマップする <code>ade_palette()</code> としてロードします。クラスを RGB 値に変換します。次に、画像と予測されたセグメンテーション マップを組み合わせてプロットできます。',hl,xs,gl,is,Gl='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/semantic-seg-preds.png" alt="Image of bedroom overlaid with segmentation map"/>',Jl,vs,yl,Ys,fl;return u=new Xs({props:{title:"Sequence classification",local:"sequence-classification",headingTag:"h1"}}),X=new Kl({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ja/sequence_classification.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ja/pytorch/sequence_classification.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ja/tensorflow/sequence_classification.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ja/sequence_classification.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ja/pytorch/sequence_classification.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ja/tensorflow/sequence_classification.ipynb"}]}}),$=new Dl({props:{id:"dKE8SIt9C-w"}}),k=new ul({props:{$$slots:{default:[Ol]},$$scope:{ctx:Z}}}),S=new v({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1xJTIwZGF0YXNldHMlMjB0cmFuc2Zvcm1lcnMlMjBldmFsdWF0ZQ==",highlighted:"pip install -q datasets transformers evaluate",wrap:!1}}),L=new v({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login | |
| <span class="hljs-meta">>>> </span>notebook_login()`,wrap:!1}}),A=new Xs({props:{title:"Load SceneParse150 dataset",local:"load-sceneparse150-dataset",headingTag:"h2"}}),M=new v({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBZHMlMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIyc2NlbmVfcGFyc2VfMTUwJTIyJTJDJTIwc3BsaXQlM0QlMjJ0cmFpbiU1QiUzQTUwJTVEJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset | |
| <span class="hljs-meta">>>> </span>ds = load_dataset(<span class="hljs-string">"scene_parse_150"</span>, split=<span class="hljs-string">"train[:50]"</span>)`,wrap:!1}}),hs=new v({props:{code:"ZHMlMjAlM0QlMjBkcy50cmFpbl90ZXN0X3NwbGl0KHRlc3Rfc2l6ZSUzRDAuMiklMEF0cmFpbl9kcyUyMCUzRCUyMGRzJTVCJTIydHJhaW4lMjIlNUQlMEF0ZXN0X2RzJTIwJTNEJTIwZHMlNUIlMjJ0ZXN0JTIyJTVE",highlighted:`<span class="hljs-meta">>>> </span>ds = ds.train_test_split(test_size=<span class="hljs-number">0.2</span>) | |
| <span class="hljs-meta">>>> </span>train_ds = ds[<span class="hljs-string">"train"</span>] | |
| <span class="hljs-meta">>>> </span>test_ds = ds[<span class="hljs-string">"test"</span>]`,wrap:!1}}),Js=new v({props:{code:"dHJhaW5fZHMlNUIwJTVE",highlighted:`<span class="hljs-meta">>>> </span>train_ds[<span class="hljs-number">0</span>] | |
| {<span class="hljs-string">'image'</span>: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=512x683 at <span class="hljs-number">0x7F9B0C201F90</span>>, | |
| <span class="hljs-string">'annotation'</span>: <PIL.PngImagePlugin.PngImageFile image mode=L size=512x683 at <span class="hljs-number">0x7F9B0C201DD0</span>>, | |
| <span class="hljs-string">'scene_category'</span>: <span class="hljs-number">368</span>}`,wrap:!1}}),ws=new v({props:{code:"aW1wb3J0JTIwanNvbiUwQWZyb20lMjBwYXRobGliJTIwaW1wb3J0JTIwUGF0aCUwQWZyb20lMjBodWdnaW5nZmFjZV9odWIlMjBpbXBvcnQlMjBoZl9odWJfZG93bmxvYWQlMEElMEFyZXBvX2lkJTIwJTNEJTIwJTIyaHVnZ2luZ2ZhY2UlMkZsYWJlbC1maWxlcyUyMiUwQWZpbGVuYW1lJTIwJTNEJTIwJTIyYWRlMjBrLWlkMmxhYmVsLmpzb24lMjIlMEFpZDJsYWJlbCUyMCUzRCUyMGpzb24ubG9hZHMoUGF0aChoZl9odWJfZG93bmxvYWQocmVwb19pZCUyQyUyMGZpbGVuYW1lJTJDJTIwcmVwb190eXBlJTNEJTIyZGF0YXNldCUyMikpLnJlYWRfdGV4dCgpKSUwQWlkMmxhYmVsJTIwJTNEJTIwJTdCaW50KGspJTNBJTIwdiUyMGZvciUyMGslMkMlMjB2JTIwaW4lMjBpZDJsYWJlbC5pdGVtcygpJTdEJTBBbGFiZWwyaWQlMjAlM0QlMjAlN0J2JTNBJTIwayUyMGZvciUyMGslMkMlMjB2JTIwaW4lMjBpZDJsYWJlbC5pdGVtcygpJTdEJTBBbnVtX2xhYmVscyUyMCUzRCUyMGxlbihpZDJsYWJlbCk=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> json | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> pathlib <span class="hljs-keyword">import</span> Path | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> hf_hub_download | |
| <span class="hljs-meta">>>> </span>repo_id = <span class="hljs-string">"huggingface/label-files"</span> | |
| <span class="hljs-meta">>>> </span>filename = <span class="hljs-string">"ade20k-id2label.json"</span> | |
| <span class="hljs-meta">>>> </span>id2label = json.loads(Path(hf_hub_download(repo_id, filename, repo_type=<span class="hljs-string">"dataset"</span>)).read_text()) | |
| <span class="hljs-meta">>>> </span>id2label = {<span class="hljs-built_in">int</span>(k): v <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> id2label.items()} | |
| <span class="hljs-meta">>>> </span>label2id = {v: k <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> id2label.items()} | |
| <span class="hljs-meta">>>> </span>num_labels = <span class="hljs-built_in">len</span>(id2label)`,wrap:!1}}),us=new Xs({props:{title:"Preprocess",local:"preprocess",headingTag:"h2"}}),Ts=new v({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9JbWFnZVByb2Nlc3NvciUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJudmlkaWElMkZtaXQtYjAlMjIlMEFpbWFnZV9wcm9jZXNzb3IlMjAlM0QlMjBBdXRvSW1hZ2VQcm9jZXNzb3IuZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQlMkMlMjBkb19yZWR1Y2VfbGFiZWxzJTNEVHJ1ZSk=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoImageProcessor | |
| <span class="hljs-meta">>>> </span>checkpoint = <span class="hljs-string">"nvidia/mit-b0"</span> | |
| <span class="hljs-meta">>>> </span>image_processor = AutoImageProcessor.from_pretrained(checkpoint, do_reduce_labels=<span class="hljs-literal">True</span>)`,wrap:!1}}),ls=new Ms({props:{pytorch:!0,tensorflow:!1,jax:!1,$$slots:{pytorch:[la]},$$scope:{ctx:Z}}}),as=new Ms({props:{pytorch:!1,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ea]},$$scope:{ctx:Z}}}),ds=new Xs({props:{title:"Evaluate",local:"evaluate",headingTag:"h2"}}),$s=new v({props:{code:"aW1wb3J0JTIwZXZhbHVhdGUlMEElMEFtZXRyaWMlMjAlM0QlMjBldmFsdWF0ZS5sb2FkKCUyMm1lYW5faW91JTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> evaluate | |
| <span class="hljs-meta">>>> </span>metric = evaluate.load(<span class="hljs-string">"mean_iou"</span>)`,wrap:!1}}),es=new Ms({props:{pytorch:!0,tensorflow:!1,jax:!1,$$slots:{pytorch:[na]},$$scope:{ctx:Z}}}),ts=new Ms({props:{pytorch:!1,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ma]},$$scope:{ctx:Z}}}),Cs=new Xs({props:{title:"Train",local:"train",headingTag:"h2"}}),ns=new Ms({props:{pytorch:!0,tensorflow:!1,jax:!1,$$slots:{pytorch:[ia]},$$scope:{ctx:Z}}}),ps=new Ms({props:{pytorch:!1,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ja]},$$scope:{ctx:Z}}}),Ws=new Xs({props:{title:"Inference",local:"inference",headingTag:"h2"}}),ks=new v({props:{code:"aW1hZ2UlMjAlM0QlMjBkcyU1QjAlNUQlNUIlMjJpbWFnZSUyMiU1RCUwQWltYWdl",highlighted:`<span class="hljs-meta">>>> </span>image = ds[<span class="hljs-number">0</span>][<span class="hljs-string">"image"</span>] | |
| <span class="hljs-meta">>>> </span>image`,wrap:!1}}),cs=new Ms({props:{pytorch:!0,tensorflow:!1,jax:!1,$$slots:{pytorch:[ga]},$$scope:{ctx:Z}}}),rs=new Ms({props:{pytorch:!1,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ya]},$$scope:{ctx:Z}}}),xs=new v({props:{code:"aW1wb3J0JTIwbWF0cGxvdGxpYi5weXBsb3QlMjBhcyUyMHBsdCUwQWltcG9ydCUyMG51bXB5JTIwYXMlMjBucCUwQSUwQWNvbG9yX3NlZyUyMCUzRCUyMG5wLnplcm9zKChwcmVkX3NlZy5zaGFwZSU1QjAlNUQlMkMlMjBwcmVkX3NlZy5zaGFwZSU1QjElNUQlMkMlMjAzKSUyQyUyMGR0eXBlJTNEbnAudWludDgpJTBBcGFsZXR0ZSUyMCUzRCUyMG5wLmFycmF5KGFkZV9wYWxldHRlKCkpJTBBZm9yJTIwbGFiZWwlMkMlMjBjb2xvciUyMGluJTIwZW51bWVyYXRlKHBhbGV0dGUpJTNBJTBBJTIwJTIwJTIwJTIwY29sb3Jfc2VnJTVCcHJlZF9zZWclMjAlM0QlM0QlMjBsYWJlbCUyQyUyMCUzQSU1RCUyMCUzRCUyMGNvbG9yJTBBY29sb3Jfc2VnJTIwJTNEJTIwY29sb3Jfc2VnJTVCLi4uJTJDJTIwJTNBJTNBLTElNUQlMjAlMjAlMjMlMjBjb252ZXJ0JTIwdG8lMjBCR1IlMEElMEFpbWclMjAlM0QlMjBucC5hcnJheShpbWFnZSklMjAqJTIwMC41JTIwJTJCJTIwY29sb3Jfc2VnJTIwKiUyMDAuNSUyMCUyMCUyMyUyMHBsb3QlMjB0aGUlMjBpbWFnZSUyMHdpdGglMjB0aGUlMjBzZWdtZW50YXRpb24lMjBtYXAlMEFpbWclMjAlM0QlMjBpbWcuYXN0eXBlKG5wLnVpbnQ4KSUwQSUwQXBsdC5maWd1cmUoZmlnc2l6ZSUzRCgxNSUyQyUyMDEwKSklMEFwbHQuaW1zaG93KGltZyklMEFwbHQuc2hvdygp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> matplotlib.pyplot <span class="hljs-keyword">as</span> plt | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np | |
| <span class="hljs-meta">>>> </span>color_seg = np.zeros((pred_seg.shape[<span class="hljs-number">0</span>], pred_seg.shape[<span class="hljs-number">1</span>], <span class="hljs-number">3</span>), dtype=np.uint8) | |
| <span class="hljs-meta">>>> </span>palette = np.array(ade_palette()) | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">for</span> label, color <span class="hljs-keyword">in</span> <span class="hljs-built_in">enumerate</span>(palette): | |
| <span class="hljs-meta">... </span> color_seg[pred_seg == label, :] = color | |
| <span class="hljs-meta">>>> </span>color_seg = color_seg[..., ::-<span class="hljs-number">1</span>] <span class="hljs-comment"># convert to BGR</span> | |
| <span class="hljs-meta">>>> </span>img = np.array(image) * <span class="hljs-number">0.5</span> + color_seg * <span class="hljs-number">0.5</span> <span class="hljs-comment"># plot the image with the segmentation map</span> | |
| <span class="hljs-meta">>>> </span>img = img.astype(np.uint8) | |
| <span class="hljs-meta">>>> </span>plt.figure(figsize=(<span class="hljs-number">15</span>, <span class="hljs-number">10</span>)) | |
| <span class="hljs-meta">>>> </span>plt.imshow(img) | |
| <span class="hljs-meta">>>> </span>plt.show()`,wrap:!1}}),vs=new Pl({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ja/tasks/sequence_classification.md"}}),{c(){a=d("meta"),o=r(),l=d("p"),c=r(),h(u.$$.fragment),_=r(),h(X.$$.fragment),B=r(),h($.$$.fragment),R=r(),C=d("p"),C.textContent=Y,x=r(),b=d("p"),b.textContent=V,m=r(),T=d("ol"),T.innerHTML=F,j=r(),h(k.$$.fragment),p=r(),I=d("p"),I.textContent=E,Q=r(),h(S.$$.fragment),D=r(),N=d("p"),N.textContent=js,z=r(),h(L.$$.fragment),K=r(),h(A.$$.fragment),P=r(),H=d("p"),H.textContent=Rs,O=r(),h(M.$$.fragment),G=r(),q=d("p"),q.innerHTML=bl,Vs=r(),h(hs.$$.fragment),Fs=r(),gs=d("p"),gs.textContent=Tl,Ns=r(),h(Js.$$.fragment),As=r(),ys=d("ul"),ys.innerHTML=dl,Hs=r(),fs=d("p"),fs.innerHTML=Ul,Qs=r(),h(ws.$$.fragment),zs=r(),h(us.$$.fragment),Es=r(),bs=d("p"),bs.innerHTML=$l,Ss=r(),h(Ts.$$.fragment),Ls=r(),h(ls.$$.fragment),qs=r(),h(as.$$.fragment),Ds=r(),h(ds.$$.fragment),Ks=r(),Us=d("p"),Us.innerHTML=Il,Ps=r(),h($s.$$.fragment),Os=r(),Is=d("p"),Is.innerHTML=_l,sl=r(),h(es.$$.fragment),ll=r(),h(ts.$$.fragment),al=r(),_s=d("p"),_s.innerHTML=Cl,el=r(),h(Cs.$$.fragment),tl=r(),h(ns.$$.fragment),nl=r(),h(ps.$$.fragment),pl=r(),h(Ws.$$.fragment),ml=r(),Zs=d("p"),Zs.textContent=Wl,cl=r(),Bs=d("p"),Bs.textContent=Zl,rl=r(),h(ks.$$.fragment),il=r(),ms=d("div"),ms.innerHTML=Bl,Ml=r(),h(cs.$$.fragment),ol=r(),h(rs.$$.fragment),jl=r(),Gs=d("p"),Gs.innerHTML=kl,hl=r(),h(xs.$$.fragment),gl=r(),is=d("div"),is.innerHTML=Gl,Jl=r(),h(vs.$$.fragment),yl=r(),Ys=d("p"),this.h()},l(s){const n=Ll("svelte-u9bgzb",document.head);a=U(n,"META",{name:!0,content:!0}),n.forEach(e),o=i(s),l=U(s,"P",{}),Hl(l).forEach(e),c=i(s),g(u.$$.fragment,s),_=i(s),g(X.$$.fragment,s),B=i(s),g($.$$.fragment,s),R=i(s),C=U(s,"P",{"data-svelte-h":!0}),W(C)!=="svelte-165t7xl"&&(C.textContent=Y),x=i(s),b=U(s,"P",{"data-svelte-h":!0}),W(b)!=="svelte-w5jzhi"&&(b.textContent=V),m=i(s),T=U(s,"OL",{"data-svelte-h":!0}),W(T)!=="svelte-1jiwjp7"&&(T.innerHTML=F),j=i(s),g(k.$$.fragment,s),p=i(s),I=U(s,"P",{"data-svelte-h":!0}),W(I)!=="svelte-1lya3k8"&&(I.textContent=E),Q=i(s),g(S.$$.fragment,s),D=i(s),N=U(s,"P",{"data-svelte-h":!0}),W(N)!=="svelte-193zy02"&&(N.textContent=js),z=i(s),g(L.$$.fragment,s),K=i(s),g(A.$$.fragment,s),P=i(s),H=U(s,"P",{"data-svelte-h":!0}),W(H)!=="svelte-1q1mg88"&&(H.textContent=Rs),O=i(s),g(M.$$.fragment,s),G=i(s),q=U(s,"P",{"data-svelte-h":!0}),W(q)!=="svelte-m4w3yq"&&(q.innerHTML=bl),Vs=i(s),g(hs.$$.fragment,s),Fs=i(s),gs=U(s,"P",{"data-svelte-h":!0}),W(gs)!=="svelte-1r6oj5w"&&(gs.textContent=Tl),Ns=i(s),g(Js.$$.fragment,s),As=i(s),ys=U(s,"UL",{"data-svelte-h":!0}),W(ys)!=="svelte-jxdof2"&&(ys.innerHTML=dl),Hs=i(s),fs=U(s,"P",{"data-svelte-h":!0}),W(fs)!=="svelte-aqhl7k"&&(fs.innerHTML=Ul),Qs=i(s),g(ws.$$.fragment,s),zs=i(s),g(us.$$.fragment,s),Es=i(s),bs=U(s,"P",{"data-svelte-h":!0}),W(bs)!=="svelte-5gp94r"&&(bs.innerHTML=$l),Ss=i(s),g(Ts.$$.fragment,s),Ls=i(s),g(ls.$$.fragment,s),qs=i(s),g(as.$$.fragment,s),Ds=i(s),g(ds.$$.fragment,s),Ks=i(s),Us=U(s,"P",{"data-svelte-h":!0}),W(Us)!=="svelte-qep2o2"&&(Us.innerHTML=Il),Ps=i(s),g($s.$$.fragment,s),Os=i(s),Is=U(s,"P",{"data-svelte-h":!0}),W(Is)!=="svelte-1d4c85c"&&(Is.innerHTML=_l),sl=i(s),g(es.$$.fragment,s),ll=i(s),g(ts.$$.fragment,s),al=i(s),_s=U(s,"P",{"data-svelte-h":!0}),W(_s)!=="svelte-18cw5xr"&&(_s.innerHTML=Cl),el=i(s),g(Cs.$$.fragment,s),tl=i(s),g(ns.$$.fragment,s),nl=i(s),g(ps.$$.fragment,s),pl=i(s),g(Ws.$$.fragment,s),ml=i(s),Zs=U(s,"P",{"data-svelte-h":!0}),W(Zs)!=="svelte-cyrfc8"&&(Zs.textContent=Wl),cl=i(s),Bs=U(s,"P",{"data-svelte-h":!0}),W(Bs)!=="svelte-21b5vl"&&(Bs.textContent=Zl),rl=i(s),g(ks.$$.fragment,s),il=i(s),ms=U(s,"DIV",{class:!0,"data-svelte-h":!0}),W(ms)!=="svelte-11jfm1f"&&(ms.innerHTML=Bl),Ml=i(s),g(cs.$$.fragment,s),ol=i(s),g(rs.$$.fragment,s),jl=i(s),Gs=U(s,"P",{"data-svelte-h":!0}),W(Gs)!=="svelte-e1i4a5"&&(Gs.innerHTML=kl),hl=i(s),g(xs.$$.fragment,s),gl=i(s),is=U(s,"DIV",{class:!0,"data-svelte-h":!0}),W(is)!=="svelte-nsecok"&&(is.innerHTML=Gl),Jl=i(s),g(vs.$$.fragment,s),yl=i(s),Ys=U(s,"P",{}),Hl(Ys).forEach(e),this.h()},h(){wl(a,"name","hf:doc:metadata"),wl(a,"content",wa),wl(ms,"class","flex justify-center"),wl(is,"class","flex justify-center")},m(s,n){ql(document.head,a),t(s,o,n),t(s,l,n),t(s,c,n),J(u,s,n),t(s,_,n),J(X,s,n),t(s,B,n),J($,s,n),t(s,R,n),t(s,C,n),t(s,x,n),t(s,b,n),t(s,m,n),t(s,T,n),t(s,j,n),J(k,s,n),t(s,p,n),t(s,I,n),t(s,Q,n),J(S,s,n),t(s,D,n),t(s,N,n),t(s,z,n),J(L,s,n),t(s,K,n),J(A,s,n),t(s,P,n),t(s,H,n),t(s,O,n),J(M,s,n),t(s,G,n),t(s,q,n),t(s,Vs,n),J(hs,s,n),t(s,Fs,n),t(s,gs,n),t(s,Ns,n),J(Js,s,n),t(s,As,n),t(s,ys,n),t(s,Hs,n),t(s,fs,n),t(s,Qs,n),J(ws,s,n),t(s,zs,n),J(us,s,n),t(s,Es,n),t(s,bs,n),t(s,Ss,n),J(Ts,s,n),t(s,Ls,n),J(ls,s,n),t(s,qs,n),J(as,s,n),t(s,Ds,n),J(ds,s,n),t(s,Ks,n),t(s,Us,n),t(s,Ps,n),J($s,s,n),t(s,Os,n),t(s,Is,n),t(s,sl,n),J(es,s,n),t(s,ll,n),J(ts,s,n),t(s,al,n),t(s,_s,n),t(s,el,n),J(Cs,s,n),t(s,tl,n),J(ns,s,n),t(s,nl,n),J(ps,s,n),t(s,pl,n),J(Ws,s,n),t(s,ml,n),t(s,Zs,n),t(s,cl,n),t(s,Bs,n),t(s,rl,n),J(ks,s,n),t(s,il,n),t(s,ms,n),t(s,Ml,n),J(cs,s,n),t(s,ol,n),J(rs,s,n),t(s,jl,n),t(s,Gs,n),t(s,hl,n),J(xs,s,n),t(s,gl,n),t(s,is,n),t(s,Jl,n),J(vs,s,n),t(s,yl,n),t(s,Ys,n),fl=!0},p(s,[n]){const xl={};n&2&&(xl.$$scope={dirty:n,ctx:s}),k.$set(xl);const vl={};n&2&&(vl.$$scope={dirty:n,ctx:s}),ls.$set(vl);const Xl={};n&2&&(Xl.$$scope={dirty:n,ctx:s}),as.$set(Xl);const Rl={};n&2&&(Rl.$$scope={dirty:n,ctx:s}),es.$set(Rl);const Yl={};n&2&&(Yl.$$scope={dirty:n,ctx:s}),ts.$set(Yl);const Vl={};n&2&&(Vl.$$scope={dirty:n,ctx:s}),ns.$set(Vl);const Fl={};n&2&&(Fl.$$scope={dirty:n,ctx:s}),ps.$set(Fl);const Nl={};n&2&&(Nl.$$scope={dirty:n,ctx:s}),cs.$set(Nl);const Al={};n&2&&(Al.$$scope={dirty:n,ctx:s}),rs.$set(Al)},i(s){fl||(y(u.$$.fragment,s),y(X.$$.fragment,s),y($.$$.fragment,s),y(k.$$.fragment,s),y(S.$$.fragment,s),y(L.$$.fragment,s),y(A.$$.fragment,s),y(M.$$.fragment,s),y(hs.$$.fragment,s),y(Js.$$.fragment,s),y(ws.$$.fragment,s),y(us.$$.fragment,s),y(Ts.$$.fragment,s),y(ls.$$.fragment,s),y(as.$$.fragment,s),y(ds.$$.fragment,s),y($s.$$.fragment,s),y(es.$$.fragment,s),y(ts.$$.fragment,s),y(Cs.$$.fragment,s),y(ns.$$.fragment,s),y(ps.$$.fragment,s),y(Ws.$$.fragment,s),y(ks.$$.fragment,s),y(cs.$$.fragment,s),y(rs.$$.fragment,s),y(xs.$$.fragment,s),y(vs.$$.fragment,s),fl=!0)},o(s){f(u.$$.fragment,s),f(X.$$.fragment,s),f($.$$.fragment,s),f(k.$$.fragment,s),f(S.$$.fragment,s),f(L.$$.fragment,s),f(A.$$.fragment,s),f(M.$$.fragment,s),f(hs.$$.fragment,s),f(Js.$$.fragment,s),f(ws.$$.fragment,s),f(us.$$.fragment,s),f(Ts.$$.fragment,s),f(ls.$$.fragment,s),f(as.$$.fragment,s),f(ds.$$.fragment,s),f($s.$$.fragment,s),f(es.$$.fragment,s),f(ts.$$.fragment,s),f(Cs.$$.fragment,s),f(ns.$$.fragment,s),f(ps.$$.fragment,s),f(Ws.$$.fragment,s),f(ks.$$.fragment,s),f(cs.$$.fragment,s),f(rs.$$.fragment,s),f(xs.$$.fragment,s),f(vs.$$.fragment,s),fl=!1},d(s){s&&(e(o),e(l),e(c),e(_),e(B),e(R),e(C),e(x),e(b),e(m),e(T),e(j),e(p),e(I),e(Q),e(D),e(N),e(z),e(K),e(P),e(H),e(O),e(G),e(q),e(Vs),e(Fs),e(gs),e(Ns),e(As),e(ys),e(Hs),e(fs),e(Qs),e(zs),e(Es),e(bs),e(Ss),e(Ls),e(qs),e(Ds),e(Ks),e(Us),e(Ps),e(Os),e(Is),e(sl),e(ll),e(al),e(_s),e(el),e(tl),e(nl),e(pl),e(ml),e(Zs),e(cl),e(Bs),e(rl),e(il),e(ms),e(Ml),e(ol),e(jl),e(Gs),e(hl),e(gl),e(is),e(Jl),e(yl),e(Ys)),e(a),w(u,s),w(X,s),w($,s),w(k,s),w(S,s),w(L,s),w(A,s),w(M,s),w(hs,s),w(Js,s),w(ws,s),w(us,s),w(Ts,s),w(ls,s),w(as,s),w(ds,s),w($s,s),w(es,s),w(ts,s),w(Cs,s),w(ns,s),w(ps,s),w(Ws,s),w(ks,s),w(cs,s),w(rs,s),w(xs,s),w(vs,s)}}}const wa='{"title":"Sequence classification","local":"sequence-classification","sections":[{"title":"Load SceneParse150 dataset","local":"load-sceneparse150-dataset","sections":[],"depth":2},{"title":"Preprocess","local":"preprocess","sections":[],"depth":2},{"title":"Evaluate","local":"evaluate","sections":[],"depth":2},{"title":"Train","local":"train","sections":[],"depth":2},{"title":"Inference","local":"inference","sections":[],"depth":2}],"depth":1}';function ua(Z){return zl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Wa extends El{constructor(a){super(),Sl(this,a,ua,fa,Ql,{})}}export{Wa as component}; | |
Xet Storage Details
- Size:
- 83.4 kB
- Xet hash:
- 8af860b5b91337c65e77dcc0f31bc88e2f5f542c24d2cdb7363db2f934da67c4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.