Buckets:
| import{s as ca,n as oa,o as ra}from"../chunks/scheduler.d75c11ed.js";import{S as Ma,i as ha,e as p,s as l,c,h as ga,a as i,d as t,b as n,f as ma,g as o,j as m,k as T,l as ya,m as e,n as r,t as M,o as h,p as g}from"../chunks/index.4ec9dfe9.js";import{C as ja,H as ua,E as da}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.ee0f129e.js";import{C as y}from"../chunks/CodeBlock.5919a092.js";function fa(zs){let j,as,O,ts,w,es,C,ls,v,Vs=`Semantic segmentation datasets are used to train a model to classify every pixel in an image. There are | |
| a wide variety of applications enabled by these datasets such as background removal from images, stylizing | |
| images, or scene understanding for autonomous driving. This guide will show you how to apply transformations | |
| to an image segmentation dataset.`,ns,I,Rs="Before you start, make sure you have up-to-date versions of <code>albumentations</code> and <code>cv2</code> installed:",ps,x,is,k,Fs=`<a href="https://albumentations.ai/" rel="nofollow">Albumentations</a> is a Python library for performing data augmentation | |
| for computer vision. It supports various computer vision tasks such as image classification, object | |
| detection, segmentation, and keypoint estimation.`,ms,Z,Ns=`This guide uses the <a href="https://huggingface.co/datasets/scene_parse_150" rel="nofollow">Scene Parsing</a> dataset for segmenting | |
| and parsing an image into different image regions associated with semantic categories, such as sky, road, person, and bed.`,cs,B,Ss="Load the <code>train</code> split of the dataset and take a look at an example:",os,_,rs,$,Es="The dataset has three fields:",Ms,W,Hs="<li><code>image</code>: a PIL image object.</li> <li><code>annotation</code>: segmentation mask of the image.</li> <li><code>scene_category</code>: the label or scene category of the image (like “kitchen” or “office”).</li>",hs,X,As="Next, check out an image with:",gs,Q,ys,u,Ls='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/image_seg.png"/>',js,G,qs="Similarly, you can check out the respective segmentation mask:",us,Y,ds,d,Ks='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/seg_mask.png"/>',fs,z,Ps=`We can also add a <a href="https://github.com/tensorflow/models/blob/3f1ca33afe3c1631b733ea7e40c294273b9e406d/research/deeplab/utils/get_dataset_colormap.py#L51" rel="nofollow">color palette</a> on the | |
| segmentation mask and overlay it on top of the original image to visualize the dataset:`,Js,V,Ds="After defining the color palette, you should be ready to visualize some overlays.",Us,R,bs,f,Os='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/seg_overlay.png"/>',Ts,F,sa="Now apply some augmentations with <code>albumentations</code>. You’ll first resize the image and adjust its brightness.",ws,N,Cs,S,aa="Create a function to apply the transformation to the images:",vs,E,Is,H,ta='Use the <a href="/docs/datasets/pr_8021/en/package_reference/main_classes#datasets.Dataset.set_transform">set_transform()</a> function to apply the transformation on-the-fly to batches of the dataset to consume less disk space:',xs,A,ks,L,ea="You can verify the transformation worked by indexing into the <code>pixel_values</code> and <code>label</code> of an example:",Zs,q,Bs,J,la='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/albumentations_seg.png"/>',_s,K,na="In this guide, you have used <code>albumentations</code> for augmenting the dataset. It’s also possible to use <code>torchvision</code> to apply some similar transforms.",$s,P,Ws,U,pa='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/torchvision_seg.png"/>',Xs,b,ia=`<p>Now that you know how to process a dataset for semantic segmentation, learn | |
| <a href="https://huggingface.co/docs/transformers/tasks/semantic_segmentation" rel="nofollow">how to train a semantic segmentation model</a> | |
| and use it for inference.</p>`,Qs,D,Gs,ss,Ys;return w=new ja({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),C=new ua({props:{title:"Semantic segmentation",local:"semantic-segmentation",headingTag:"h1"}}),x=new y({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1VJTIwYWxidW1lbnRhdGlvbnMlMjBvcGVuY3YtcHl0aG9u",highlighted:"pip install -U albumentations opencv-python",wrap:!1}}),_=new y({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJzY2VuZV9wYXJzZV8xNTAlMjIlMkMlMjBzcGxpdCUzRCUyMnRyYWluJTIyKSUwQWluZGV4JTIwJTNEJTIwMTAlMEFkYXRhc2V0JTVCaW5kZXglNUQ=",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>dataset = load_dataset(<span class="hljs-string">"scene_parse_150"</span>, split=<span class="hljs-string">"train"</span>) | |
| <span class="hljs-meta">>>> </span>index = <span class="hljs-number">10</span> | |
| <span class="hljs-meta">>>> </span>dataset[index] | |
| {<span class="hljs-string">'image'</span>: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=683x512 at <span class="hljs-number">0x7FB37B0EC810</span>>, | |
| <span class="hljs-string">'annotation'</span>: <PIL.PngImagePlugin.PngImageFile image mode=L size=683x512 at <span class="hljs-number">0x7FB37B0EC9D0</span>>, | |
| <span class="hljs-string">'scene_category'</span>: <span class="hljs-number">927</span>}`,wrap:!1}}),Q=new y({props:{code:"ZGF0YXNldCU1QmluZGV4JTVEJTVCJTIyaW1hZ2UlMjIlNUQ=",highlighted:'<span class="hljs-meta">>>> </span>dataset[index][<span class="hljs-string">"image"</span>]',wrap:!1}}),Y=new y({props:{code:"ZGF0YXNldCU1QmluZGV4JTVEJTVCJTIyYW5ub3RhdGlvbiUyMiU1RA==",highlighted:'<span class="hljs-meta">>>> </span>dataset[index][<span class="hljs-string">"annotation"</span>]',wrap:!1}}),R=new y({props:{code:"aW1wb3J0JTIwbWF0cGxvdGxpYi5weXBsb3QlMjBhcyUyMHBsdCUwQSUwQWRlZiUyMHZpc3VhbGl6ZV9zZWdfbWFzayhpbWFnZSUzQSUyMG5wLm5kYXJyYXklMkMlMjBtYXNrJTNBJTIwbnAubmRhcnJheSklM0ElMEElMjAlMjAlMjBjb2xvcl9zZWclMjAlM0QlMjBucC56ZXJvcygobWFzay5zaGFwZSU1QjAlNUQlMkMlMjBtYXNrLnNoYXBlJTVCMSU1RCUyQyUyMDMpJTJDJTIwZHR5cGUlM0RucC51aW50OCklMEElMjAlMjAlMjBwYWxldHRlJTIwJTNEJTIwbnAuYXJyYXkoY3JlYXRlX2FkZTIwa19sYWJlbF9jb2xvcm1hcCgpKSUwQSUyMCUyMCUyMGZvciUyMGxhYmVsJTJDJTIwY29sb3IlMjBpbiUyMGVudW1lcmF0ZShwYWxldHRlKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbG9yX3NlZyU1Qm1hc2slMjAlM0QlM0QlMjBsYWJlbCUyQyUyMCUzQSU1RCUyMCUzRCUyMGNvbG9yJTBBJTIwJTIwJTIwY29sb3Jfc2VnJTIwJTNEJTIwY29sb3Jfc2VnJTVCLi4uJTJDJTIwJTNBJTNBLTElNUQlMjAlMjAlMjMlMjBjb252ZXJ0JTIwdG8lMjBCR1IlMEElMEElMjAlMjAlMjBpbWclMjAlM0QlMjBucC5hcnJheShpbWFnZSklMjAqJTIwMC41JTIwJTJCJTIwY29sb3Jfc2VnJTIwKiUyMDAuNSUyMCUyMCUyMyUyMHBsb3QlMjB0aGUlMjBpbWFnZSUyMHdpdGglMjB0aGUlMjBzZWdtZW50YXRpb24lMjBtYXAlMEElMjAlMjAlMjBpbWclMjAlM0QlMjBpbWcuYXN0eXBlKG5wLnVpbnQ4KSUwQSUwQSUyMCUyMCUyMHBsdC5maWd1cmUoZmlnc2l6ZSUzRCgxNSUyQyUyMDEwKSklMEElMjAlMjAlMjBwbHQuaW1zaG93KGltZyklMEElMjAlMjAlMjBwbHQuYXhpcyglMjJvZmYlMjIpJTBBJTIwJTIwJTIwcGx0LnNob3coKSUwQSUwQSUwQXZpc3VhbGl6ZV9zZWdfbWFzayglMEElMjAlMjAlMjAlMjBucC5hcnJheShkYXRhc2V0JTVCaW5kZXglNUQlNUIlMjJpbWFnZSUyMiU1RCklMkMlMEElMjAlMjAlMjAlMjBucC5hcnJheShkYXRhc2V0JTVCaW5kZXglNUQlNUIlMjJhbm5vdGF0aW9uJTIyJTVEKSUwQSk=",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">def</span> <span class="hljs-title function_">visualize_seg_mask</span>(<span class="hljs-params">image: np.ndarray, mask: np.ndarray</span>): | |
| <span class="hljs-meta">... </span> color_seg = np.zeros((mask.shape[<span class="hljs-number">0</span>], mask.shape[<span class="hljs-number">1</span>], <span class="hljs-number">3</span>), dtype=np.uint8) | |
| <span class="hljs-meta">... </span> palette = np.array(create_ade20k_label_colormap()) | |
| <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[mask == 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.axis(<span class="hljs-string">"off"</span>) | |
| <span class="hljs-meta">... </span> plt.show() | |
| <span class="hljs-meta">>>> </span>visualize_seg_mask( | |
| <span class="hljs-meta">... </span> np.array(dataset[index][<span class="hljs-string">"image"</span>]), | |
| <span class="hljs-meta">... </span> np.array(dataset[index][<span class="hljs-string">"annotation"</span>]) | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),N=new y({props:{code:"aW1wb3J0JTIwYWxidW1lbnRhdGlvbnMlMEElMEF0cmFuc2Zvcm0lMjAlM0QlMjBhbGJ1bWVudGF0aW9ucy5Db21wb3NlKCUwQSUyMCUyMCUyMCUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFsYnVtZW50YXRpb25zLlJlc2l6ZSgyNTYlMkMlMjAyNTYpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYWxidW1lbnRhdGlvbnMuUmFuZG9tQnJpZ2h0bmVzc0NvbnRyYXN0KGJyaWdodG5lc3NfbGltaXQlM0QwLjMlMkMlMjBjb250cmFzdF9saW1pdCUzRDAuMyUyQyUyMHAlM0QwLjUpJTJDJTBBJTIwJTIwJTIwJTIwJTVEJTBBKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> albumentations | |
| <span class="hljs-meta">>>> </span>transform = albumentations.Compose( | |
| <span class="hljs-meta">... </span> [ | |
| <span class="hljs-meta">... </span> albumentations.Resize(<span class="hljs-number">256</span>, <span class="hljs-number">256</span>), | |
| <span class="hljs-meta">... </span> albumentations.RandomBrightnessContrast(brightness_limit=<span class="hljs-number">0.3</span>, contrast_limit=<span class="hljs-number">0.3</span>, p=<span class="hljs-number">0.5</span>), | |
| <span class="hljs-meta">... </span> ] | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),E=new y({props:{code:"ZGVmJTIwdHJhbnNmb3JtcyhleGFtcGxlcyklM0ElMEElMjAlMjAlMjAlMjB0cmFuc2Zvcm1lZF9pbWFnZXMlMkMlMjB0cmFuc2Zvcm1lZF9tYXNrcyUyMCUzRCUyMCU1QiU1RCUyQyUyMCU1QiU1RCUwQSUyMCUyMCUyMCUyMGZvciUyMGltYWdlJTJDJTIwc2VnX21hc2slMjBpbiUyMHppcChleGFtcGxlcyU1QiUyMmltYWdlJTIyJTVEJTJDJTIwZXhhbXBsZXMlNUIlMjJhbm5vdGF0aW9uJTIyJTVEKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGltYWdlJTJDJTIwc2VnX21hc2slMjAlM0QlMjBucC5hcnJheShpbWFnZSklMkMlMjBucC5hcnJheShzZWdfbWFzayklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2Zvcm1lZCUyMCUzRCUyMHRyYW5zZm9ybShpbWFnZSUzRGltYWdlJTJDJTIwbWFzayUzRHNlZ19tYXNrKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRyYW5zZm9ybWVkX2ltYWdlcy5hcHBlbmQodHJhbnNmb3JtZWQlNUIlMjJpbWFnZSUyMiU1RCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2Zvcm1lZF9tYXNrcy5hcHBlbmQodHJhbnNmb3JtZWQlNUIlMjJtYXNrJTIyJTVEKSUwQSUyMCUyMCUyMCUyMGV4YW1wbGVzJTVCJTIycGl4ZWxfdmFsdWVzJTIyJTVEJTIwJTNEJTIwdHJhbnNmb3JtZWRfaW1hZ2VzJTBBJTIwJTIwJTIwJTIwZXhhbXBsZXMlNUIlMjJsYWJlbCUyMiU1RCUyMCUzRCUyMHRyYW5zZm9ybWVkX21hc2tzJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwZXhhbXBsZXM=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">transforms</span>(<span class="hljs-params">examples</span>): | |
| <span class="hljs-meta">... </span> transformed_images, transformed_masks = [], [] | |
| ... | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">for</span> image, seg_mask <span class="hljs-keyword">in</span> <span class="hljs-built_in">zip</span>(examples[<span class="hljs-string">"image"</span>], examples[<span class="hljs-string">"annotation"</span>]): | |
| <span class="hljs-meta">... </span> image, seg_mask = np.array(image), np.array(seg_mask) | |
| <span class="hljs-meta">... </span> transformed = transform(image=image, mask=seg_mask) | |
| <span class="hljs-meta">... </span> transformed_images.append(transformed[<span class="hljs-string">"image"</span>]) | |
| <span class="hljs-meta">... </span> transformed_masks.append(transformed[<span class="hljs-string">"mask"</span>]) | |
| ... | |
| <span class="hljs-meta">... </span> examples[<span class="hljs-string">"pixel_values"</span>] = transformed_images | |
| <span class="hljs-meta">... </span> examples[<span class="hljs-string">"label"</span>] = transformed_masks | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> examples`,wrap:!1}}),A=new y({props:{code:"ZGF0YXNldC5zZXRfdHJhbnNmb3JtKHRyYW5zZm9ybXMp",highlighted:'<span class="hljs-meta">>>> </span>dataset.set_transform(transforms)',wrap:!1}}),q=new y({props:{code:"aW1hZ2UlMjAlM0QlMjBucC5hcnJheShkYXRhc2V0JTVCaW5kZXglNUQlNUIlMjJwaXhlbF92YWx1ZXMlMjIlNUQpJTBBbWFzayUyMCUzRCUyMG5wLmFycmF5KGRhdGFzZXQlNUJpbmRleCU1RCU1QiUyMmxhYmVsJTIyJTVEKSUwQSUwQXZpc3VhbGl6ZV9zZWdfbWFzayhpbWFnZSUyQyUyMG1hc2sp",highlighted:`<span class="hljs-meta">>>> </span>image = np.array(dataset[index][<span class="hljs-string">"pixel_values"</span>]) | |
| <span class="hljs-meta">>>> </span>mask = np.array(dataset[index][<span class="hljs-string">"label"</span>]) | |
| <span class="hljs-meta">>>> </span>visualize_seg_mask(image, mask)`,wrap:!1}}),P=new y({props:{code:"ZnJvbSUyMHRvcmNodmlzaW9uLnRyYW5zZm9ybXMlMjBpbXBvcnQlMjBSZXNpemUlMkMlMjBDb2xvckppdHRlciUyQyUyMENvbXBvc2UlMEElMEF0cmFuc2Zvcm1hdGlvbl9jaGFpbiUyMCUzRCUyMENvbXBvc2UoJTVCJTBBJTIwJTIwJTIwJTIwUmVzaXplKCgyNTYlMkMlMjAyNTYpKSUyQyUwQSUyMCUyMCUyMCUyMENvbG9ySml0dGVyKGJyaWdodG5lc3MlM0QwLjI1JTJDJTIwY29udHJhc3QlM0QwLjI1JTJDJTIwc2F0dXJhdGlvbiUzRDAuMjUlMkMlMjBodWUlM0QwLjEpJTBBJTVEKSUwQXJlc2l6ZSUyMCUzRCUyMFJlc2l6ZSgoMjU2JTJDJTIwMjU2KSklMEElMEFkZWYlMjB0cmFpbl90cmFuc2Zvcm1zKGV4YW1wbGVfYmF0Y2gpJTNBJTBBJTIwJTIwJTIwJTIwZXhhbXBsZV9iYXRjaCU1QiUyMnBpeGVsX3ZhbHVlcyUyMiU1RCUyMCUzRCUyMCU1QnRyYW5zZm9ybWF0aW9uX2NoYWluKHgpJTIwZm9yJTIweCUyMGluJTIwZXhhbXBsZV9iYXRjaCU1QiUyMmltYWdlJTIyJTVEJTVEJTBBJTIwJTIwJTIwJTIwZXhhbXBsZV9iYXRjaCU1QiUyMmxhYmVsJTIyJTVEJTIwJTNEJTIwJTVCcmVzaXplKHgpJTIwZm9yJTIweCUyMGluJTIwZXhhbXBsZV9iYXRjaCU1QiUyMmFubm90YXRpb24lMjIlNUQlNUQlMEElMjAlMjAlMjAlMjByZXR1cm4lMjBleGFtcGxlX2JhdGNoJTBBJTBBZGF0YXNldC5zZXRfdHJhbnNmb3JtKHRyYWluX3RyYW5zZm9ybXMpJTBBJTBBaW1hZ2UlMjAlM0QlMjBucC5hcnJheShkYXRhc2V0JTVCaW5kZXglNUQlNUIlMjJwaXhlbF92YWx1ZXMlMjIlNUQpJTBBbWFzayUyMCUzRCUyMG5wLmFycmF5KGRhdGFzZXQlNUJpbmRleCU1RCU1QiUyMmxhYmVsJTIyJTVEKSUwQSUwQXZpc3VhbGl6ZV9zZWdfbWFzayhpbWFnZSUyQyUyMG1hc2sp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> torchvision.transforms <span class="hljs-keyword">import</span> Resize, ColorJitter, Compose | |
| <span class="hljs-meta">>>> </span>transformation_chain = Compose([ | |
| <span class="hljs-meta">... </span> Resize((<span class="hljs-number">256</span>, <span class="hljs-number">256</span>)), | |
| <span class="hljs-meta">... </span> 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>) | |
| <span class="hljs-meta">... </span>]) | |
| <span class="hljs-meta">>>> </span>resize = Resize((<span class="hljs-number">256</span>, <span class="hljs-number">256</span>)) | |
| <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> example_batch[<span class="hljs-string">"pixel_values"</span>] = [transformation_chain(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> example_batch[<span class="hljs-string">"label"</span>] = [resize(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> <span class="hljs-keyword">return</span> example_batch | |
| <span class="hljs-meta">>>> </span>dataset.set_transform(train_transforms) | |
| <span class="hljs-meta">>>> </span>image = np.array(dataset[index][<span class="hljs-string">"pixel_values"</span>]) | |
| <span class="hljs-meta">>>> </span>mask = np.array(dataset[index][<span class="hljs-string">"label"</span>]) | |
| <span class="hljs-meta">>>> </span>visualize_seg_mask(image, mask)`,wrap:!1}}),D=new da({props:{source:"https://github.com/huggingface/datasets/blob/main/docs/source/semantic_segmentation.mdx"}}),{c(){j=p("meta"),as=l(),O=p("p"),ts=l(),c(w.$$.fragment),es=l(),c(C.$$.fragment),ls=l(),v=p("p"),v.textContent=Vs,ns=l(),I=p("p"),I.innerHTML=Rs,ps=l(),c(x.$$.fragment),is=l(),k=p("p"),k.innerHTML=Fs,ms=l(),Z=p("p"),Z.innerHTML=Ns,cs=l(),B=p("p"),B.innerHTML=Ss,os=l(),c(_.$$.fragment),rs=l(),$=p("p"),$.textContent=Es,Ms=l(),W=p("ul"),W.innerHTML=Hs,hs=l(),X=p("p"),X.textContent=As,gs=l(),c(Q.$$.fragment),ys=l(),u=p("div"),u.innerHTML=Ls,js=l(),G=p("p"),G.textContent=qs,us=l(),c(Y.$$.fragment),ds=l(),d=p("div"),d.innerHTML=Ks,fs=l(),z=p("p"),z.innerHTML=Ps,Js=l(),V=p("p"),V.textContent=Ds,Us=l(),c(R.$$.fragment),bs=l(),f=p("div"),f.innerHTML=Os,Ts=l(),F=p("p"),F.innerHTML=sa,ws=l(),c(N.$$.fragment),Cs=l(),S=p("p"),S.textContent=aa,vs=l(),c(E.$$.fragment),Is=l(),H=p("p"),H.innerHTML=ta,xs=l(),c(A.$$.fragment),ks=l(),L=p("p"),L.innerHTML=ea,Zs=l(),c(q.$$.fragment),Bs=l(),J=p("div"),J.innerHTML=la,_s=l(),K=p("p"),K.innerHTML=na,$s=l(),c(P.$$.fragment),Ws=l(),U=p("div"),U.innerHTML=pa,Xs=l(),b=p("blockquote"),b.innerHTML=ia,Qs=l(),c(D.$$.fragment),Gs=l(),ss=p("p"),this.h()},l(s){const a=ga("svelte-u9bgzb",document.head);j=i(a,"META",{name:!0,content:!0}),a.forEach(t),as=n(s),O=i(s,"P",{}),ma(O).forEach(t),ts=n(s),o(w.$$.fragment,s),es=n(s),o(C.$$.fragment,s),ls=n(s),v=i(s,"P",{"data-svelte-h":!0}),m(v)!=="svelte-fw4ret"&&(v.textContent=Vs),ns=n(s),I=i(s,"P",{"data-svelte-h":!0}),m(I)!=="svelte-1qtuikq"&&(I.innerHTML=Rs),ps=n(s),o(x.$$.fragment,s),is=n(s),k=i(s,"P",{"data-svelte-h":!0}),m(k)!=="svelte-180f5nb"&&(k.innerHTML=Fs),ms=n(s),Z=i(s,"P",{"data-svelte-h":!0}),m(Z)!=="svelte-1jjf6cy"&&(Z.innerHTML=Ns),cs=n(s),B=i(s,"P",{"data-svelte-h":!0}),m(B)!=="svelte-pju1x0"&&(B.innerHTML=Ss),os=n(s),o(_.$$.fragment,s),rs=n(s),$=i(s,"P",{"data-svelte-h":!0}),m($)!=="svelte-jjwn46"&&($.textContent=Es),Ms=n(s),W=i(s,"UL",{"data-svelte-h":!0}),m(W)!=="svelte-1r68wni"&&(W.innerHTML=Hs),hs=n(s),X=i(s,"P",{"data-svelte-h":!0}),m(X)!=="svelte-15dthpv"&&(X.textContent=As),gs=n(s),o(Q.$$.fragment,s),ys=n(s),u=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(u)!=="svelte-1337354"&&(u.innerHTML=Ls),js=n(s),G=i(s,"P",{"data-svelte-h":!0}),m(G)!=="svelte-qlholw"&&(G.textContent=qs),us=n(s),o(Y.$$.fragment,s),ds=n(s),d=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(d)!=="svelte-ru2vd9"&&(d.innerHTML=Ks),fs=n(s),z=i(s,"P",{"data-svelte-h":!0}),m(z)!=="svelte-vzaie7"&&(z.innerHTML=Ps),Js=n(s),V=i(s,"P",{"data-svelte-h":!0}),m(V)!=="svelte-vvbf2j"&&(V.textContent=Ds),Us=n(s),o(R.$$.fragment,s),bs=n(s),f=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(f)!=="svelte-1unth95"&&(f.innerHTML=Os),Ts=n(s),F=i(s,"P",{"data-svelte-h":!0}),m(F)!=="svelte-c3rxqx"&&(F.innerHTML=sa),ws=n(s),o(N.$$.fragment,s),Cs=n(s),S=i(s,"P",{"data-svelte-h":!0}),m(S)!=="svelte-50733g"&&(S.textContent=aa),vs=n(s),o(E.$$.fragment,s),Is=n(s),H=i(s,"P",{"data-svelte-h":!0}),m(H)!=="svelte-pgazmt"&&(H.innerHTML=ta),xs=n(s),o(A.$$.fragment,s),ks=n(s),L=i(s,"P",{"data-svelte-h":!0}),m(L)!=="svelte-11iow8s"&&(L.innerHTML=ea),Zs=n(s),o(q.$$.fragment,s),Bs=n(s),J=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(J)!=="svelte-rz0i83"&&(J.innerHTML=la),_s=n(s),K=i(s,"P",{"data-svelte-h":!0}),m(K)!=="svelte-o9kxh2"&&(K.innerHTML=na),$s=n(s),o(P.$$.fragment,s),Ws=n(s),U=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(U)!=="svelte-jb5bqb"&&(U.innerHTML=pa),Xs=n(s),b=i(s,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),m(b)!=="svelte-57s756"&&(b.innerHTML=ia),Qs=n(s),o(D.$$.fragment,s),Gs=n(s),ss=i(s,"P",{}),ma(ss).forEach(t),this.h()},h(){T(j,"name","hf:doc:metadata"),T(j,"content",Ja),T(u,"class","flex justify-center"),T(d,"class","flex justify-center"),T(f,"class","flex justify-center"),T(J,"class","flex justify-center"),T(U,"class","flex justify-center"),T(b,"class","tip")},m(s,a){ya(document.head,j),e(s,as,a),e(s,O,a),e(s,ts,a),r(w,s,a),e(s,es,a),r(C,s,a),e(s,ls,a),e(s,v,a),e(s,ns,a),e(s,I,a),e(s,ps,a),r(x,s,a),e(s,is,a),e(s,k,a),e(s,ms,a),e(s,Z,a),e(s,cs,a),e(s,B,a),e(s,os,a),r(_,s,a),e(s,rs,a),e(s,$,a),e(s,Ms,a),e(s,W,a),e(s,hs,a),e(s,X,a),e(s,gs,a),r(Q,s,a),e(s,ys,a),e(s,u,a),e(s,js,a),e(s,G,a),e(s,us,a),r(Y,s,a),e(s,ds,a),e(s,d,a),e(s,fs,a),e(s,z,a),e(s,Js,a),e(s,V,a),e(s,Us,a),r(R,s,a),e(s,bs,a),e(s,f,a),e(s,Ts,a),e(s,F,a),e(s,ws,a),r(N,s,a),e(s,Cs,a),e(s,S,a),e(s,vs,a),r(E,s,a),e(s,Is,a),e(s,H,a),e(s,xs,a),r(A,s,a),e(s,ks,a),e(s,L,a),e(s,Zs,a),r(q,s,a),e(s,Bs,a),e(s,J,a),e(s,_s,a),e(s,K,a),e(s,$s,a),r(P,s,a),e(s,Ws,a),e(s,U,a),e(s,Xs,a),e(s,b,a),e(s,Qs,a),r(D,s,a),e(s,Gs,a),e(s,ss,a),Ys=!0},p:oa,i(s){Ys||(M(w.$$.fragment,s),M(C.$$.fragment,s),M(x.$$.fragment,s),M(_.$$.fragment,s),M(Q.$$.fragment,s),M(Y.$$.fragment,s),M(R.$$.fragment,s),M(N.$$.fragment,s),M(E.$$.fragment,s),M(A.$$.fragment,s),M(q.$$.fragment,s),M(P.$$.fragment,s),M(D.$$.fragment,s),Ys=!0)},o(s){h(w.$$.fragment,s),h(C.$$.fragment,s),h(x.$$.fragment,s),h(_.$$.fragment,s),h(Q.$$.fragment,s),h(Y.$$.fragment,s),h(R.$$.fragment,s),h(N.$$.fragment,s),h(E.$$.fragment,s),h(A.$$.fragment,s),h(q.$$.fragment,s),h(P.$$.fragment,s),h(D.$$.fragment,s),Ys=!1},d(s){s&&(t(as),t(O),t(ts),t(es),t(ls),t(v),t(ns),t(I),t(ps),t(is),t(k),t(ms),t(Z),t(cs),t(B),t(os),t(rs),t($),t(Ms),t(W),t(hs),t(X),t(gs),t(ys),t(u),t(js),t(G),t(us),t(ds),t(d),t(fs),t(z),t(Js),t(V),t(Us),t(bs),t(f),t(Ts),t(F),t(ws),t(Cs),t(S),t(vs),t(Is),t(H),t(xs),t(ks),t(L),t(Zs),t(Bs),t(J),t(_s),t(K),t($s),t(Ws),t(U),t(Xs),t(b),t(Qs),t(Gs),t(ss)),t(j),g(w,s),g(C,s),g(x,s),g(_,s),g(Q,s),g(Y,s),g(R,s),g(N,s),g(E,s),g(A,s),g(q,s),g(P,s),g(D,s)}}}const Ja='{"title":"Semantic segmentation","local":"semantic-segmentation","sections":[],"depth":1}';function Ua(zs){return ra(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class va extends Ma{constructor(j){super(),ha(this,j,Ua,fa,ca,{})}}export{va as component}; | |
Xet Storage Details
- Size:
- 23 kB
- Xet hash:
- 51fb3b67e99755bc1de5db6574268123728c1c3e42739f9561d23ea4844ec259
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.