import{s as Fe,n as De,o as qe}from"../chunks/scheduler.bdbef820.js";import{S as Le,i as Ae,g as p,s as a,r as o,A as Pe,h as i,f as s,c as n,j as Ye,u as m,x as T,k as Se,y as Ke,a as l,v as r,d as J,t as c,w as u}from"../chunks/index.33f81d56.js";import{C as b}from"../chunks/CodeBlock.362b34a4.js";import{D as Oe}from"../chunks/DocNotebookDropdown.d5db5928.js";import{H as ke,E as et}from"../chunks/EditOnGithub.a9246e21.js";function tt(Ve){let f,L,D,A,w,P,M,K,g,We=`이미지 특징 추출은 주어진 이미지에서 의미론적으로 의미 있는 특징을 추출하는 작업입니다. 이는 이미지 유사성 및 이미지 검색 등 다양한 사용 사례가 있습니다.
게다가 대부분의 컴퓨터 비전 모델은 이미지 특징 추출에 사용할 수 있으며, 여기서 작업 특화 헤드(이미지 분류, 물체 감지 등)를 제거하고 특징을 얻을 수 있습니다. 이러한 특징은 가장자리 감지, 모서리 감지 등 고차원 수준에서 매우 유용합니다.
또한 모델의 깊이에 따라 실제 세계에 대한 정보(예: 고양이가 어떻게 생겼는지)를 포함할 수도 있습니다. 따라서 이러한 출력은 특정 데이터 세트에 대한 새로운 분류기를 훈련하는 데 사용할 수 있습니다.`,O,d,Ce="이 가이드에서는:",ee,y,_e="<li><code>image-feature-extraction</code> 파이프라인을 활용하여 간단한 이미지 유사성 시스템을 구축하는 방법을 배웁니다.</li> <li>기본 모델 추론으로 동일한 작업을 수행합니다.</li>",te,h,se,U,ve="물고기 그물 위에 앉아 있는 두 장의 고양이 사진이 있습니다. 이 중 하나는 생성된 이미지입니다.",le,$,ae,I,xe='파이프라인을 실행해 봅시다. 먼저 파이프라인을 초기화하세요. 모델을 지정하지 않으면, 파이프라인은 자동으로 <a href="google/vit-base-patch16-224">google/vit-base-patch16-224</a> 모델로 초기화됩니다. 유사도를 계산하려면 <code>pool</code>을 True로 설정하세요.',ne,j,pe,Z,Be="<code>pipe</code>를 사용하여 추론하려면 두 이미지를 모두 전달하세요.",ie,k,oe,V,Ee="출력에는 두 이미지의 풀링된(pooled) 임베딩이 포함되어 있습니다.",me,W,re,C,Ne="유사도 점수를 얻으려면, 이들을 유사도 함수에 전달해야 합니다.",Je,_,ce,v,Re="풀링 이전의 마지막 은닉 상태를 얻고 싶다면, <code>pool</code> 매개변수에 아무 값도 전달하지 마세요. 또한, 기본값은 <code>False</code>로 설정되어 있습니다. 이 은닉 상태는 모델의 특징을 기반으로 새로운 분류기나 모델을 훈련시키는 데 유용합니다.",ue,x,Te,B,He="아직 출력이 풀링되지 않았기 때문에, 첫 번째 차원은 배치 크기이고 마지막 두 차원은 임베딩 형태인 마지막 은닉 상태를 얻을 수 있습니다.",be,E,fe,N,we,R,Ge="transformers의 <code>AutoModel</code> 클래스를 사용하여 특징을 얻을 수도 있습니다. <code>AutoModel</code>은 작업 특화 헤드 없이 모든 transformers 모델을 로드할 수 있으며, 이를 통해 특징을 추출할 수 있습니다.",Me,H,ge,G,ze="추론을 위한 간단한 함수를 작성해 보겠습니다. 먼저 입력값을 <code>processor</code>에 전달한 다음, 그 출력값을 <code>model</code>에 전달할 것입니다.",de,z,ye,Q,Qe="이 함수에 이미지를 직접 전달하여 임베딩을 얻을 수 있습니다.",he,X,Ue,Y,Xe="그리고 이 임베딩을 사용하여 다시 유사도를 계산할 수 있습니다.",$e,S,Ie,F,je,q,Ze;return w=new ke({props:{title:"이미지 특징 추출",local:"image-feature-extraction",headingTag:"h1"}}),M=new Oe({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/ko/image_feature_extraction.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ko/pytorch/image_feature_extraction.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ko/tensorflow/image_feature_extraction.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ko/image_feature_extraction.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ko/pytorch/image_feature_extraction.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ko/tensorflow/image_feature_extraction.ipynb"}]}}),h=new ke({props:{title:"image-feature-extraction 파이프라인을 이용한 이미지 유사성",local:"image-similarity-using-image-feature-extraction-pipeline",headingTag:"h2"}}),$=new b({props:{code:"ZnJvbSUyMFBJTCUyMGltcG9ydCUyMEltYWdlJTBBaW1wb3J0JTIwcmVxdWVzdHMlMEElMEFpbWdfdXJscyUyMCUzRCUyMCU1QiUyMmh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZkYXRhc2V0cyUyRmh1Z2dpbmdmYWNlJTJGZG9jdW1lbnRhdGlvbi1pbWFnZXMlMkZyZXNvbHZlJTJGbWFpbiUyRmNhdHMucG5nJTIyJTJDJTIwJTIyaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmRhdGFzZXRzJTJGaHVnZ2luZ2ZhY2UlMkZkb2N1bWVudGF0aW9uLWltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGY2F0cy5qcGVnJTIyJTVEJTBBaW1hZ2VfcmVhbCUyMCUzRCUyMEltYWdlLm9wZW4ocmVxdWVzdHMuZ2V0KGltZ191cmxzJTVCMCU1RCUyQyUyMHN0cmVhbSUzRFRydWUpLnJhdykuY29udmVydCglMjJSR0IlMjIpJTBBaW1hZ2VfZ2VuJTIwJTNEJTIwSW1hZ2Uub3BlbihyZXF1ZXN0cy5nZXQoaW1nX3VybHMlNUIxJTVEJTJDJTIwc3RyZWFtJTNEVHJ1ZSkucmF3KS5jb252ZXJ0KCUyMlJHQiUyMik=",highlighted:`<span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image
<span class="hljs-keyword">import</span> requests

img_urls = [<span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/cats.png&quot;</span>, <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/cats.jpeg&quot;</span>]
image_real = Image.<span class="hljs-built_in">open</span>(requests.get(img_urls[<span class="hljs-number">0</span>], stream=<span class="hljs-literal">True</span>).raw).convert(<span class="hljs-string">&quot;RGB&quot;</span>)
image_gen = Image.<span class="hljs-built_in">open</span>(requests.get(img_urls[<span class="hljs-number">1</span>], stream=<span class="hljs-literal">True</span>).raw).convert(<span class="hljs-string">&quot;RGB&quot;</span>)`,wrap:!1}}),j=new b({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwcGlwZWxpbmUlMEElMEFERVZJQ0UlMjAlM0QlMjB0b3JjaC5kZXZpY2UoJ2N1ZGEnJTIwaWYlMjB0b3JjaC5jdWRhLmlzX2F2YWlsYWJsZSgpJTIwZWxzZSUyMCdjcHUnKSUwQXBpcGUlMjAlM0QlMjBwaXBlbGluZSh0YXNrJTNEJTIyaW1hZ2UtZmVhdHVyZS1leHRyYWN0aW9uJTIyJTJDJTIwbW9kZWxfbmFtZSUzRCUyMmdvb2dsZSUyRnZpdC1iYXNlLXBhdGNoMTYtMzg0JTIyJTJDJTIwZGV2aWNlJTNEREVWSUNFJTJDJTIwcG9vbCUzRFRydWUp",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

DEVICE = torch.device(<span class="hljs-string">&#x27;cuda&#x27;</span> <span class="hljs-keyword">if</span> torch.cuda.is_available() <span class="hljs-keyword">else</span> <span class="hljs-string">&#x27;cpu&#x27;</span>)
pipe = pipeline(task=<span class="hljs-string">&quot;image-feature-extraction&quot;</span>, model_name=<span class="hljs-string">&quot;google/vit-base-patch16-384&quot;</span>, device=DEVICE, pool=<span class="hljs-literal">True</span>)`,wrap:!1}}),k=new b({props:{code:"b3V0cHV0cyUyMCUzRCUyMHBpcGUoJTVCaW1hZ2VfcmVhbCUyQyUyMGltYWdlX2dlbiU1RCk=",highlighted:"outputs = pipe([image_real, image_gen])",wrap:!1}}),W=new b({props:{code:"JTIzJTIwJUVCJThCJUE4JUVDJTlEJUJDJTIwJUVDJUI2JTlDJUVCJUEwJUE1JUVDJTlEJTk4JTIwJUVBJUI4JUI4JUVDJTlEJUI0JTIwJUVBJUI1JUFDJUVEJTk1JTk4JUVBJUI4JUIwJTBBcHJpbnQobGVuKG91dHB1dHMlNUIwJTVEJTVCMCU1RCkpJTBBJTIzJTIwJUVDJUI2JTlDJUVCJUEwJUE1JTIwJUVBJUIyJUIwJUVBJUIzJUJDJTIwJUVEJTkxJTlDJUVDJThCJTlDJUVEJTk1JTk4JUVBJUI4JUIwJTBBcHJpbnQob3V0cHV0cyklMEElMEElMjMlMjA3NjglMEElMjMlMjAlNUIlNUIlNUItMC4wMzkwOTIzNjkzNzc2MTMwNyUyQyUyMDAuNDMzODE2NzAxMTczNzgyMzUlMkMlMjAtMC4wNjkxMzI1NTkwMDE0NDU3NyUyQw==",highlighted:`<span class="hljs-comment"># 단일 출력의 길이 구하기</span>
<span class="hljs-built_in">print</span>(<span class="hljs-built_in">len</span>(outputs[<span class="hljs-number">0</span>][<span class="hljs-number">0</span>]))
<span class="hljs-comment"># 출력 결과 표시하기</span>
<span class="hljs-built_in">print</span>(outputs)

<span class="hljs-comment"># 768</span>
<span class="hljs-comment"># [[[-0.03909236937761307, 0.43381670117378235, -0.06913255900144577,</span>`,wrap:!1}}),_=new b({props:{code:"ZnJvbSUyMHRvcmNoLm5uLmZ1bmN0aW9uYWwlMjBpbXBvcnQlMjBjb3NpbmVfc2ltaWxhcml0eSUwQSUwQXNpbWlsYXJpdHlfc2NvcmUlMjAlM0QlMjBjb3NpbmVfc2ltaWxhcml0eSh0b3JjaC5UZW5zb3Iob3V0cHV0cyU1QjAlNUQpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdG9yY2guVGVuc29yKG91dHB1dHMlNUIxJTVEKSUyQyUyMGRpbSUzRDEpJTBBJTBBcHJpbnQoc2ltaWxhcml0eV9zY29yZSklMEElMEElMjMlMjB0ZW5zb3IoJTVCMC42MDQzJTVEKQ==",highlighted:`<span class="hljs-keyword">from</span> torch.nn.functional <span class="hljs-keyword">import</span> cosine_similarity

similarity_score = cosine_similarity(torch.Tensor(outputs[<span class="hljs-number">0</span>]),
                                     torch.Tensor(outputs[<span class="hljs-number">1</span>]), dim=<span class="hljs-number">1</span>)

<span class="hljs-built_in">print</span>(similarity_score)

<span class="hljs-comment"># tensor([0.6043])</span>`,wrap:!1}}),x=new b({props:{code:"cGlwZSUyMCUzRCUyMHBpcGVsaW5lKHRhc2slM0QlMjJpbWFnZS1mZWF0dXJlLWV4dHJhY3Rpb24lMjIlMkMlMjBtb2RlbF9uYW1lJTNEJTIyZ29vZ2xlJTJGdml0LWJhc2UtcGF0Y2gxNi0yMjQlMjIlMkMlMjBkZXZpY2UlM0RERVZJQ0UpJTBBb3V0cHV0JTIwJTNEJTIwcGlwZShpbWFnZV9yZWFsKQ==",highlighted:`pipe = pipeline(task=<span class="hljs-string">&quot;image-feature-extraction&quot;</span>, model_name=<span class="hljs-string">&quot;google/vit-base-patch16-224&quot;</span>, device=DEVICE)
output = pipe(image_real)`,wrap:!1}}),E=new b({props:{code:"aW1wb3J0JTIwbnVtcHklMjBhcyUyMG5wJTBBcHJpbnQobnAuYXJyYXkob3V0cHV0cykuc2hhcGUpJTBBJTIzJTIwKDElMkMlMjAxOTclMkMlMjA3Njgp",highlighted:`<span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np
<span class="hljs-built_in">print</span>(np.array(outputs).shape)
<span class="hljs-comment"># (1, 197, 768)</span>`,wrap:!1}}),N=new ke({props:{title:"AutoModel 을 사용하여 특징과 유사성 얻기",local:"getting-features-and-similarities-using-automodel",headingTag:"h2"}}),H=new b({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9JbWFnZVByb2Nlc3NvciUyQyUyMEF1dG9Nb2RlbCUwQSUwQXByb2Nlc3NvciUyMCUzRCUyMEF1dG9JbWFnZVByb2Nlc3Nvci5mcm9tX3ByZXRyYWluZWQoJTIyZ29vZ2xlJTJGdml0LWJhc2UtcGF0Y2gxNi0yMjQlMjIpJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMmdvb2dsZSUyRnZpdC1iYXNlLXBhdGNoMTYtMjI0JTIyKS50byhERVZJQ0Up",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoImageProcessor, AutoModel

processor = AutoImageProcessor.from_pretrained(<span class="hljs-string">&quot;google/vit-base-patch16-224&quot;</span>)
model = AutoModel.from_pretrained(<span class="hljs-string">&quot;google/vit-base-patch16-224&quot;</span>).to(DEVICE)`,wrap:!1}}),z=new b({props:{code:"ZGVmJTIwaW5mZXIoaW1hZ2UpJTNBJTBBJTIwJTIwaW5wdXRzJTIwJTNEJTIwcHJvY2Vzc29yKGltYWdlJTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMikudG8oREVWSUNFKSUwQSUyMCUyMG91dHB1dHMlMjAlM0QlMjBtb2RlbCgqKmlucHV0cyklMEElMjAlMjByZXR1cm4lMjBvdXRwdXRzLnBvb2xlcl9vdXRwdXQ=",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">infer</span>(<span class="hljs-params">image</span>):
  inputs = processor(image, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>).to(DEVICE)
  outputs = model(**inputs)
  <span class="hljs-keyword">return</span> outputs.pooler_output`,wrap:!1}}),X=new b({props:{code:"ZW1iZWRfcmVhbCUyMCUzRCUyMGluZmVyKGltYWdlX3JlYWwpJTBBZW1iZWRfZ2VuJTIwJTNEJTIwaW5mZXIoaW1hZ2VfZ2VuKQ==",highlighted:`embed_real = infer(image_real)
embed_gen = infer(image_gen)`,wrap:!1}}),S=new b({props:{code:"ZnJvbSUyMHRvcmNoLm5uLmZ1bmN0aW9uYWwlMjBpbXBvcnQlMjBjb3NpbmVfc2ltaWxhcml0eSUwQSUwQXNpbWlsYXJpdHlfc2NvcmUlMjAlM0QlMjBjb3NpbmVfc2ltaWxhcml0eShlbWJlZF9yZWFsJTJDJTIwZW1iZWRfZ2VuJTJDJTIwZGltJTNEMSklMEFwcmludChzaW1pbGFyaXR5X3Njb3JlKSUwQSUwQSUyMyUyMHRlbnNvciglNUIwLjYwNjElNUQlMkMlMjBkZXZpY2UlM0QnY3VkYSUzQTAnJTJDJTIwZ3JhZF9mbiUzRCUzQ1N1bUJhY2t3YXJkMSUzRSk=",highlighted:`<span class="hljs-keyword">from</span> torch.nn.functional <span class="hljs-keyword">import</span> cosine_similarity

similarity_score = cosine_similarity(embed_real, embed_gen, dim=<span class="hljs-number">1</span>)
<span class="hljs-built_in">print</span>(similarity_score)

<span class="hljs-comment"># tensor([0.6061], device=&#x27;cuda:0&#x27;, grad_fn=&lt;SumBackward1&gt;)</span>`,wrap:!1}}),F=new et({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ko/tasks/image_feature_extraction.md"}}),{c(){f=p("meta"),L=a(),D=p("p"),A=a(),o(w.$$.fragment),P=a(),o(M.$$.fragment),K=a(),g=p("p"),g.textContent=We,O=a(),d=p("p"),d.textContent=Ce,ee=a(),y=p("ul"),y.innerHTML=_e,te=a(),o(h.$$.fragment),se=a(),U=p("p"),U.textContent=ve,le=a(),o($.$$.fragment),ae=a(),I=p("p"),I.innerHTML=xe,ne=a(),o(j.$$.fragment),pe=a(),Z=p("p"),Z.innerHTML=Be,ie=a(),o(k.$$.fragment),oe=a(),V=p("p"),V.textContent=Ee,me=a(),o(W.$$.fragment),re=a(),C=p("p"),C.textContent=Ne,Je=a(),o(_.$$.fragment),ce=a(),v=p("p"),v.innerHTML=Re,ue=a(),o(x.$$.fragment),Te=a(),B=p("p"),B.textContent=He,be=a(),o(E.$$.fragment),fe=a(),o(N.$$.fragment),we=a(),R=p("p"),R.innerHTML=Ge,Me=a(),o(H.$$.fragment),ge=a(),G=p("p"),G.innerHTML=ze,de=a(),o(z.$$.fragment),ye=a(),Q=p("p"),Q.textContent=Qe,he=a(),o(X.$$.fragment),Ue=a(),Y=p("p"),Y.textContent=Xe,$e=a(),o(S.$$.fragment),Ie=a(),o(F.$$.fragment),je=a(),q=p("p"),this.h()},l(e){const t=Pe("svelte-u9bgzb",document.head);f=i(t,"META",{name:!0,content:!0}),t.forEach(s),L=n(e),D=i(e,"P",{}),Ye(D).forEach(s),A=n(e),m(w.$$.fragment,e),P=n(e),m(M.$$.fragment,e),K=n(e),g=i(e,"P",{"data-svelte-h":!0}),T(g)!=="svelte-1vt6q7k"&&(g.textContent=We),O=n(e),d=i(e,"P",{"data-svelte-h":!0}),T(d)!=="svelte-1726yuy"&&(d.textContent=Ce),ee=n(e),y=i(e,"UL",{"data-svelte-h":!0}),T(y)!=="svelte-1nqtv9s"&&(y.innerHTML=_e),te=n(e),m(h.$$.fragment,e),se=n(e),U=i(e,"P",{"data-svelte-h":!0}),T(U)!=="svelte-1id1irs"&&(U.textContent=ve),le=n(e),m($.$$.fragment,e),ae=n(e),I=i(e,"P",{"data-svelte-h":!0}),T(I)!=="svelte-1ydo688"&&(I.innerHTML=xe),ne=n(e),m(j.$$.fragment,e),pe=n(e),Z=i(e,"P",{"data-svelte-h":!0}),T(Z)!=="svelte-123f7i0"&&(Z.innerHTML=Be),ie=n(e),m(k.$$.fragment,e),oe=n(e),V=i(e,"P",{"data-svelte-h":!0}),T(V)!=="svelte-11yg842"&&(V.textContent=Ee),me=n(e),m(W.$$.fragment,e),re=n(e),C=i(e,"P",{"data-svelte-h":!0}),T(C)!=="svelte-g3oteq"&&(C.textContent=Ne),Je=n(e),m(_.$$.fragment,e),ce=n(e),v=i(e,"P",{"data-svelte-h":!0}),T(v)!=="svelte-1t773by"&&(v.innerHTML=Re),ue=n(e),m(x.$$.fragment,e),Te=n(e),B=i(e,"P",{"data-svelte-h":!0}),T(B)!=="svelte-1gqm4lc"&&(B.textContent=He),be=n(e),m(E.$$.fragment,e),fe=n(e),m(N.$$.fragment,e),we=n(e),R=i(e,"P",{"data-svelte-h":!0}),T(R)!=="svelte-nu0ph0"&&(R.innerHTML=Ge),Me=n(e),m(H.$$.fragment,e),ge=n(e),G=i(e,"P",{"data-svelte-h":!0}),T(G)!=="svelte-1fnffdx"&&(G.innerHTML=ze),de=n(e),m(z.$$.fragment,e),ye=n(e),Q=i(e,"P",{"data-svelte-h":!0}),T(Q)!=="svelte-1630srz"&&(Q.textContent=Qe),he=n(e),m(X.$$.fragment,e),Ue=n(e),Y=i(e,"P",{"data-svelte-h":!0}),T(Y)!=="svelte-s0jrer"&&(Y.textContent=Xe),$e=n(e),m(S.$$.fragment,e),Ie=n(e),m(F.$$.fragment,e),je=n(e),q=i(e,"P",{}),Ye(q).forEach(s),this.h()},h(){Se(f,"name","hf:doc:metadata"),Se(f,"content",st)},m(e,t){Ke(document.head,f),l(e,L,t),l(e,D,t),l(e,A,t),r(w,e,t),l(e,P,t),r(M,e,t),l(e,K,t),l(e,g,t),l(e,O,t),l(e,d,t),l(e,ee,t),l(e,y,t),l(e,te,t),r(h,e,t),l(e,se,t),l(e,U,t),l(e,le,t),r($,e,t),l(e,ae,t),l(e,I,t),l(e,ne,t),r(j,e,t),l(e,pe,t),l(e,Z,t),l(e,ie,t),r(k,e,t),l(e,oe,t),l(e,V,t),l(e,me,t),r(W,e,t),l(e,re,t),l(e,C,t),l(e,Je,t),r(_,e,t),l(e,ce,t),l(e,v,t),l(e,ue,t),r(x,e,t),l(e,Te,t),l(e,B,t),l(e,be,t),r(E,e,t),l(e,fe,t),r(N,e,t),l(e,we,t),l(e,R,t),l(e,Me,t),r(H,e,t),l(e,ge,t),l(e,G,t),l(e,de,t),r(z,e,t),l(e,ye,t),l(e,Q,t),l(e,he,t),r(X,e,t),l(e,Ue,t),l(e,Y,t),l(e,$e,t),r(S,e,t),l(e,Ie,t),r(F,e,t),l(e,je,t),l(e,q,t),Ze=!0},p:De,i(e){Ze||(J(w.$$.fragment,e),J(M.$$.fragment,e),J(h.$$.fragment,e),J($.$$.fragment,e),J(j.$$.fragment,e),J(k.$$.fragment,e),J(W.$$.fragment,e),J(_.$$.fragment,e),J(x.$$.fragment,e),J(E.$$.fragment,e),J(N.$$.fragment,e),J(H.$$.fragment,e),J(z.$$.fragment,e),J(X.$$.fragment,e),J(S.$$.fragment,e),J(F.$$.fragment,e),Ze=!0)},o(e){c(w.$$.fragment,e),c(M.$$.fragment,e),c(h.$$.fragment,e),c($.$$.fragment,e),c(j.$$.fragment,e),c(k.$$.fragment,e),c(W.$$.fragment,e),c(_.$$.fragment,e),c(x.$$.fragment,e),c(E.$$.fragment,e),c(N.$$.fragment,e),c(H.$$.fragment,e),c(z.$$.fragment,e),c(X.$$.fragment,e),c(S.$$.fragment,e),c(F.$$.fragment,e),Ze=!1},d(e){e&&(s(L),s(D),s(A),s(P),s(K),s(g),s(O),s(d),s(ee),s(y),s(te),s(se),s(U),s(le),s(ae),s(I),s(ne),s(pe),s(Z),s(ie),s(oe),s(V),s(me),s(re),s(C),s(Je),s(ce),s(v),s(ue),s(Te),s(B),s(be),s(fe),s(we),s(R),s(Me),s(ge),s(G),s(de),s(ye),s(Q),s(he),s(Ue),s(Y),s($e),s(Ie),s(je),s(q)),s(f),u(w,e),u(M,e),u(h,e),u($,e),u(j,e),u(k,e),u(W,e),u(_,e),u(x,e),u(E,e),u(N,e),u(H,e),u(z,e),u(X,e),u(S,e),u(F,e)}}}const st='{"title":"이미지 특징 추출","local":"image-feature-extraction","sections":[{"title":"image-feature-extraction 파이프라인을 이용한 이미지 유사성","local":"image-similarity-using-image-feature-extraction-pipeline","sections":[],"depth":2},{"title":"AutoModel 을 사용하여 특징과 유사성 얻기","local":"getting-features-and-similarities-using-automodel","sections":[],"depth":2}],"depth":1}';function lt(Ve){return qe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class mt extends Le{constructor(f){super(),Ae(this,f,lt,tt,Fe,{})}}export{mt as component};
