import{s as Qt,o as zt,n as Dt}from"../chunks/scheduler.94020406.js";import{S as Et,i as Ot,g as p,s as i,r as f,E as Kt,h as a,f as l,c as n,j as Vt,u as m,x as o,k as qt,y as el,a as s,v as r,d as u,t as d,w as M}from"../chunks/index.a08c8d92.js";import{T as tl}from"../chunks/Tip.3b0aeee8.js";import{C as U}from"../chunks/CodeBlock.f1fae7de.js";import{H as b,E as ll}from"../chunks/getInferenceSnippets.25ca5d9f.js";function sl(ye){let c,C="PyTorch에 내장된 mps 가속기를 사용하여 Apple Silicon Macs에서 diffusers Python 코드베이스를 실행할 수도 있습니다. 이 방법은 [mps 가이드]에 자세히 설명되어 있지만 네이티브 앱과 호환되지 않습니다.";return{c(){c=p("p"),c.innerHTML=C},l(h){c=a(h,"P",{"data-svelte-h":!0}),o(c)!=="svelte-2gy5p"&&(c.innerHTML=C)},m(h,he){s(h,c,he)},p:Dt,d(h){h&&l(c)}}}function il(ye){let c,C,h,he,$,Ue,w,ht='Core ML은 Apple 프레임워크에서 지원하는 모델 형식 및 머신 러닝 라이브러리입니다. macOS 또는 iOS/iPadOS 앱 내에서 Stable Diffusion 모델을 실행하는 데 관심이 있는 경우, 이 가이드에서는 기존 PyTorch 체크포인트를 Core ML 형식으로 변환하고 이를 Python 또는 Swift로 추론에 사용하는 방법을 설명합니다.',Ce,T,bt="Core ML 모델은 Apple 기기에서 사용할 수 있는 모든 컴퓨팅 엔진들, 즉 CPU, GPU, Apple Neural Engine(또는 Apple Silicon Mac 및 최신 iPhone/iPad에서 사용할 수 있는 텐서 최적화 가속기인 ANE)을 활용할 수 있습니다. 모델과 실행 중인 기기에 따라 Core ML은 컴퓨팅 엔진도 혼합하여 사용할 수 있으므로, 예를 들어 모델의 일부가 CPU에서 실행되는 반면 다른 부분은 GPU에서 실행될 수 있습니다.",$e,y,we,g,Te,v,yt="Stable Diffusion 가중치(또는 체크포인트)는 PyTorch 형식으로 저장되기 때문에 네이티브 앱에서 사용하기 위해서는 Core ML 형식으로 변환해야 합니다.",ge,J,Ut='다행히도 Apple 엔지니어들이 diffusers를 기반으로 한 변환 툴을 개발하여 PyTorch 체크포인트를 Core ML로 변환할 수 있습니다.',ve,j,Ct="모델을 변환하기 전에 잠시 시간을 내어 Hugging Face Hub를 살펴보세요. 관심 있는 모델이 이미 Core ML 형식으로 제공되고 있을 가능성이 높습니다:",Je,G,$t='
  • Apple organization에는 Stable Diffusion 버전 1.4, 1.5, 2.0 base 및 2.1 base가 포함되어 있습니다.
  • coreml organization에는 커스텀 DreamBooth가 적용되거나, 파인튜닝된 모델이 포함되어 있습니다.
  • 필터를 사용하여 사용 가능한 모든 Core ML 체크포인트들을 반환합니다.
  • ',je,L,wt='원하는 모델을 찾을 수 없는 경우 Apple의 모델을 Core ML로 변환하기 지침을 따르는 것이 좋습니다.',Ge,_,Le,Z,Tt="Stable Diffusion 모델은 다양한 목적에 따라 다른 Core ML 변형으로 변환할 수 있습니다:",_e,k,gt='
  • 사용되는 어텐션 블록 유형. 어텐션 연산은 이미지 표현의 여러 영역 간의 관계에 ‘주의를 기울이고’ 이미지와 텍스트 표현이 어떻게 연관되어 있는지 이해하는 데 사용됩니다. 어텐션 연산은 컴퓨팅 및 메모리 집약적이므로 다양한 장치의 하드웨어 특성을 고려한 다양한 구현이 존재합니다. Core ML Stable Diffusion 모델의 경우 두 가지 주의 변형이 있습니다:

  • 지원되는 추론 프레임워크

  • ',Ze,B,vt='공식 Core ML Stable Diffusion 모델에는 이러한 변형이 포함되어 있지만 커뮤니티 버전은 다를 수 있습니다:',ke,x,Be,X,Jt="아래와 같이 필요한 변형을 다운로드하여 사용할 수 있습니다.",xe,N,Xe,W,jt="Python에서 Core ML 추론을 실행하려면 다음 라이브러리를 설치하세요:",Ne,P,We,S,Pe,R,Gt="컴파일된 버전은 Swift와만 호환되므로 Python에서 추론을 실행하려면 packages 폴더에 저장된 버전 중 하나를 사용하세요. 원본 또는 split_einsum 어텐션 중 어느 것을 사용할지 선택할 수 있습니다.",Se,H,Lt="다음은 Hub에서 ‘models’라는 디렉토리로 ‘original’ 어텐션 변형을 다운로드하는 방법입니다:",Re,Y,He,I,Ye,F,_t="모델의 snapshot을 다운로드한 후에는 Apple의 Python 스크립트를 사용하여 테스트할 수 있습니다.",Ie,A,Fe,V,Zt="<output-mlpackages-directory>는 위 단계에서 다운로드한 체크포인트를 가리켜야 하며, --compute-unit은 추론을 허용할 하드웨어를 나타냅니다. 이는 다음 옵션 중 하나이어야 합니다: ALL, CPU_AND_GPU, CPU_ONLY, CPU_AND_NE. 선택적 출력 경로와 재현성을 위한 시드를 제공할 수도 있습니다.",Ae,q,kt="추론 스크립트에서는 Stable Diffusion 모델의 원래 버전인 CompVis/stable-diffusion-v1-4를 사용한다고 가정합니다. 다른 모델을 사용하는 경우 추론 명령줄에서 --model-version 옵션을 사용하여 해당 허브 ID를 지정해야 합니다. 이는 이미 지원되는 모델과 사용자가 직접 학습하거나 파인튜닝한 사용자 지정 모델에 적용됩니다.",Ve,Q,Bt='예를 들어, stable-diffusion-v1-5/stable-diffusion-v1-5를 사용하려는 경우입니다:',qe,z,Qe,D,ze,E,xt="Swift에서 추론을 실행하는 것은 모델이 이미 mlmodelc 형식으로 컴파일되어 있기 때문에 Python보다 약간 빠릅니다. 이는 앱이 시작될 때 모델이 불러와지는 것이 눈에 띄지만, 이후 여러 번 실행하면 눈에 띄지 않을 것입니다.",De,O,Ee,K,Xt="Mac에서 Swift에서 추론을 실행하려면 컴파일된 체크포인트 버전 중 하나가 필요합니다. 이전 예제와 유사하지만 컴파일된 변형 중 하나를 사용하여 Python 코드를 로컬로 다운로드하는 것이 좋습니다:",Oe,ee,Ke,te,et,le,Nt="추론을 실행하기 위해서, Apple의 리포지토리를 복제하세요:",tt,se,lt,ie,Wt='그 다음 Apple의 명령어 도구인 Swift 패키지 관리자를 사용합니다:',st,ne,it,pe,Pt="--resource-path에 이전 단계에서 다운로드한 체크포인트 중 하나를 지정해야 하므로 확장자가 .mlmodelc인 컴파일된 Core ML 번들이 포함되어 있는지 확인하시기 바랍니다. --compute-units는 다음 값 중 하나이어야 합니다: all, cpuOnly, cpuAndGPU, cpuAndNeuralEngine.",nt,ae,St='자세한 내용은 Apple의 리포지토리 안의 지침을 참고하시기 바랍니다.',pt,oe,at,fe,Rt="Core ML 모델과 추론 코드는 🧨 Diffusers의 많은 기능, 옵션 및 유연성을 지원하지 않습니다. 다음은 유의해야 할 몇 가지 제한 사항입니다:",ot,me,Ht="
  • Core ML 모델은 추론에만 적합합니다. 학습이나 파인튜닝에는 사용할 수 없습니다.
  • Swift에 포팅된 스케줄러는 Stable Diffusion에서 사용하는 기본 스케줄러와 diffusers 구현에서 Swift로 포팅한 DPMSolverMultistepScheduler 두 개뿐입니다. 이들 중 약 절반의 스텝으로 동일한 품질을 생성하는 DPMSolverMultistepScheduler를 사용하는 것이 좋습니다.
  • 추론 코드에서 네거티브 프롬프트, classifier-free guidance scale 및 image-to-image 작업을 사용할 수 있습니다. depth guidance, ControlNet, latent upscalers와 같은 고급 기능은 아직 사용할 수 없습니다.
  • ",ft,re,Yt='Apple의 변환 및 추론 리포지토리와 자체 swift-coreml-diffusers 리포지토리는 다른 개발자들이 구축할 수 있는 기술적인 데모입니다.',mt,ue,It="누락된 기능이 있다고 생각되면 언제든지 기능을 요청하거나, 더 좋은 방법은 기여 PR을 열어주세요. :)",rt,de,ut,Me,Ft='자체 Apple 하드웨어에서 Stable Diffusion을 실행하는 쉬운 방법 중 하나는 diffusers와 Apple의 변환 및 추론 리포지토리를 기반으로 하는 자체 오픈 소스 Swift 리포지토리를 사용하는 것입니다. 코드를 공부하고 Xcode로 컴파일하여 필요에 맞게 조정할 수 있습니다. 편의를 위해 앱스토어에 독립형 Mac 앱도 있으므로 코드나 IDE를 다루지 않고도 사용할 수 있습니다. 개발자로서 Core ML이 Stable Diffusion 앱을 구축하는 데 가장 적합한 솔루션이라고 판단했다면, 이 가이드의 나머지 부분을 사용하여 프로젝트를 시작할 수 있습니다. 여러분이 무엇을 빌드할지 기대됩니다. :)',dt,ce,Mt,be,ct;return $=new b({props:{title:"Core ML로 Stable Diffusion을 실행하는 방법",local:"core-ml로-stable-diffusion을-실행하는-방법",headingTag:"h1"}}),y=new tl({props:{$$slots:{default:[sl]},$$scope:{ctx:ye}}}),g=new b({props:{title:"Stable Diffusion Core ML 체크포인트",local:"stable-diffusion-core-ml-체크포인트",headingTag:"h2"}}),_=new b({props:{title:"사용할 Core ML 변형(Variant) 선택하기",local:"사용할-core-ml-변형variant-선택하기",headingTag:"h2"}}),x=new U({props:{code:"Y29yZW1sLXN0YWJsZS1kaWZmdXNpb24tdjEtNCUwQSVFMiU5NCU5QyVFMiU5NCU4MCVFMiU5NCU4MCUyMFJFQURNRS5tZCUwQSVFMiU5NCU5QyVFMiU5NCU4MCVFMiU5NCU4MCUyMG9yaWdpbmFsJTBBJUUyJTk0JTgyJTIwJTIwJTIwJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwY29tcGlsZWQlMEElRTIlOTQlODIlMjAlMjAlMjAlRTIlOTQlOTQlRTIlOTQlODAlRTIlOTQlODAlMjBwYWNrYWdlcyUwQSVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMHNwbGl0X2VpbnN1bSUwQSUyMCUyMCUyMCUyMCVFMiU5NCU5QyVFMiU5NCU4MCVFMiU5NCU4MCUyMGNvbXBpbGVkJTBBJTIwJTIwJTIwJTIwJUUyJTk0JTk0JUUyJTk0JTgwJUUyJTk0JTgwJTIwcGFja2FnZXM=",highlighted:`coreml-stable-diffusion-v1-4 ├── README.md ├── original │ ├── compiled │ └── packages └── split_einsum ├── compiled └── packages`,wrap:!1}}),N=new b({props:{title:"Python에서 Core ML 추론",local:"python에서-core-ml-추론",headingTag:"h2"}}),P=new U({props:{code:"cGlwJTIwaW5zdGFsbCUyMGh1Z2dpbmdmYWNlX2h1YiUwQXBpcCUyMGluc3RhbGwlMjBnaXQlMkJodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZhcHBsZSUyRm1sLXN0YWJsZS1kaWZmdXNpb24=",highlighted:`pip install huggingface_hub pip install git+https://github.com/apple/ml-stable-diffusion`,wrap:!1}}),S=new b({props:{title:"모델 체크포인트 다운로드하기",local:"모델-체크포인트-다운로드하기",headingTag:"h3"}}),Y=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMHNuYXBzaG90X2Rvd25sb2FkJTBBZnJvbSUyMHBhdGhsaWIlMjBpbXBvcnQlMjBQYXRoJTBBJTBBcmVwb19pZCUyMCUzRCUyMCUyMmFwcGxlJTJGY29yZW1sLXN0YWJsZS1kaWZmdXNpb24tdjEtNCUyMiUwQXZhcmlhbnQlMjAlM0QlMjAlMjJvcmlnaW5hbCUyRnBhY2thZ2VzJTIyJTBBJTBBbW9kZWxfcGF0aCUyMCUzRCUyMFBhdGgoJTIyLiUyRm1vZGVscyUyMiklMjAlMkYlMjAocmVwb19pZC5zcGxpdCglMjIlMkYlMjIpJTVCLTElNUQlMjAlMkIlMjAlMjJfJTIyJTIwJTJCJTIwdmFyaWFudC5yZXBsYWNlKCUyMiUyRiUyMiUyQyUyMCUyMl8lMjIpKSUwQXNuYXBzaG90X2Rvd25sb2FkKHJlcG9faWQlMkMlMjBhbGxvd19wYXR0ZXJucyUzRGYlMjIlN0J2YXJpYW50JTdEJTJGKiUyMiUyQyUyMGxvY2FsX2RpciUzRG1vZGVsX3BhdGglMkMlMjBsb2NhbF9kaXJfdXNlX3N5bWxpbmtzJTNERmFsc2UpJTBBcHJpbnQoZiUyMk1vZGVsJTIwZG93bmxvYWRlZCUyMGF0JTIwJTdCbW9kZWxfcGF0aCU3RCUyMik=",highlighted:`from huggingface_hub import snapshot_download from pathlib import Path repo_id = "apple/coreml-stable-diffusion-v1-4" variant = "original/packages" model_path = Path("./models") / (repo_id.split("/")[-1] + "_" + variant.replace("/", "_")) snapshot_download(repo_id, allow_patterns=f"{variant}/*", local_dir=model_path, local_dir_use_symlinks=False) print(f"Model downloaded at {model_path}")`,wrap:!1}}),I=new b({props:{title:"추론",local:"python-inference",headingTag:"h3"}}),A=new U({props:{code:"cHl0aG9uJTIwLW0lMjBweXRob25fY29yZW1sX3N0YWJsZV9kaWZmdXNpb24ucGlwZWxpbmUlMjAtLXByb21wdCUyMCUyMmElMjBwaG90byUyMG9mJTIwYW4lMjBhc3Ryb25hdXQlMjByaWRpbmclMjBhJTIwaG9yc2UlMjBvbiUyMG1hcnMlMjIlMjAtaSUyMG1vZGVscyUyRmNvcmVtbC1zdGFibGUtZGlmZnVzaW9uLXYxLTRfb3JpZ2luYWxfcGFja2FnZXMlMjAtbyUyMCUzQyUyRnBhdGglMkZ0byUyRm91dHB1dCUyRmltYWdlJTNFJTIwLS1jb21wdXRlLXVuaXQlMjBDUFVfQU5EX0dQVSUyMC0tc2VlZCUyMDkz",highlighted:"python -m python_coreml_stable_diffusion.pipeline --prompt "a photo of an astronaut riding a horse on mars" -i models/coreml-stable-diffusion-v1-4_original_packages -o </path/to/output/image> --compute-unit CPU_AND_GPU --seed 93",wrap:!1}}),z=new U({props:{code:"cHl0aG9uJTIwLW0lMjBweXRob25fY29yZW1sX3N0YWJsZV9kaWZmdXNpb24ucGlwZWxpbmUlMjAtLXByb21wdCUyMCUyMmElMjBwaG90byUyMG9mJTIwYW4lMjBhc3Ryb25hdXQlMjByaWRpbmclMjBhJTIwaG9yc2UlMjBvbiUyMG1hcnMlMjIlMjAtLWNvbXB1dGUtdW5pdCUyMEFMTCUyMC1vJTIwb3V0cHV0JTIwLS1zZWVkJTIwOTMlMjAtaSUyMG1vZGVscyUyRmNvcmVtbC1zdGFibGUtZGlmZnVzaW9uLXYxLTVfb3JpZ2luYWxfcGFja2FnZXMlMjAtLW1vZGVsLXZlcnNpb24lMjBzdGFibGUtZGlmZnVzaW9uLXYxLTUlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTU=",highlighted:"python -m python_coreml_stable_diffusion.pipeline --prompt "a photo of an astronaut riding a horse on mars" --compute-unit ALL -o output --seed 93 -i models/coreml-stable-diffusion-v1-5_original_packages --model-version stable-diffusion-v1-5/stable-diffusion-v1-5",wrap:!1}}),D=new b({props:{title:"Swift에서 Core ML 추론하기",local:"swift에서-core-ml-추론하기",headingTag:"h2"}}),O=new b({props:{title:"다운로드",local:"다운로드",headingTag:"h3"}}),ee=new U({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMHNuYXBzaG90X2Rvd25sb2FkJTBBZnJvbSUyMHBhdGhsaWIlMjBpbXBvcnQlMjBQYXRoJTBBJTBBcmVwb19pZCUyMCUzRCUyMCUyMmFwcGxlJTJGY29yZW1sLXN0YWJsZS1kaWZmdXNpb24tdjEtNCUyMiUwQXZhcmlhbnQlMjAlM0QlMjAlMjJvcmlnaW5hbCUyRmNvbXBpbGVkJTIyJTBBJTBBbW9kZWxfcGF0aCUyMCUzRCUyMFBhdGgoJTIyLiUyRm1vZGVscyUyMiklMjAlMkYlMjAocmVwb19pZC5zcGxpdCglMjIlMkYlMjIpJTVCLTElNUQlMjAlMkIlMjAlMjJfJTIyJTIwJTJCJTIwdmFyaWFudC5yZXBsYWNlKCUyMiUyRiUyMiUyQyUyMCUyMl8lMjIpKSUwQXNuYXBzaG90X2Rvd25sb2FkKHJlcG9faWQlMkMlMjBhbGxvd19wYXR0ZXJucyUzRGYlMjIlN0J2YXJpYW50JTdEJTJGKiUyMiUyQyUyMGxvY2FsX2RpciUzRG1vZGVsX3BhdGglMkMlMjBsb2NhbF9kaXJfdXNlX3N5bWxpbmtzJTNERmFsc2UpJTBBcHJpbnQoZiUyMk1vZGVsJTIwZG93bmxvYWRlZCUyMGF0JTIwJTdCbW9kZWxfcGF0aCU3RCUyMik=",highlighted:`from huggingface_hub import snapshot_download from pathlib import Path repo_id = "apple/coreml-stable-diffusion-v1-4" variant = "original/compiled" model_path = Path("./models") / (repo_id.split("/")[-1] + "_" + variant.replace("/", "_")) snapshot_download(repo_id, allow_patterns=f"{variant}/*", local_dir=model_path, local_dir_use_symlinks=False) print(f"Model downloaded at {model_path}")`,wrap:!1}}),te=new b({props:{title:"추론",local:"swift-inference",headingTag:"h3"}}),se=new U({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZhcHBsZSUyRm1sLXN0YWJsZS1kaWZmdXNpb24lMEFjZCUyMG1sLXN0YWJsZS1kaWZmdXNpb24=",highlighted:`git clone https://github.com/apple/ml-stable-diffusion cd ml-stable-diffusion`,wrap:!1}}),ne=new U({props:{code:"c3dpZnQlMjBydW4lMjBTdGFibGVEaWZmdXNpb25TYW1wbGUlMjAtLXJlc291cmNlLXBhdGglMjBtb2RlbHMlMkZjb3JlbWwtc3RhYmxlLWRpZmZ1c2lvbi12MS00X29yaWdpbmFsX2NvbXBpbGVkJTIwLS1jb21wdXRlLXVuaXRzJTIwYWxsJTIwJTIyYSUyMHBob3RvJTIwb2YlMjBhbiUyMGFzdHJvbmF1dCUyMHJpZGluZyUyMGElMjBob3JzZSUyMG9uJTIwbWFycyUyMg==",highlighted:'swift run StableDiffusionSample --resource-path models/coreml-stable-diffusion-v1-4_original_compiled --compute-units all "a photo of an astronaut riding a horse on mars"',wrap:!1}}),oe=new b({props:{title:"지원되는 Diffusers 기능",local:"지원되는-diffusers-기능",headingTag:"h2"}}),de=new b({props:{title:"네이티브 Diffusers Swift 앱",local:"네이티브-diffusers-swift-앱",headingTag:"h2"}}),ce=new ll({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/ko/optimization/coreml.md"}}),{c(){c=p("meta"),C=i(),h=p("p"),he=i(),f($.$$.fragment),Ue=i(),w=p("p"),w.innerHTML=ht,Ce=i(),T=p("p"),T.textContent=bt,$e=i(),f(y.$$.fragment),we=i(),f(g.$$.fragment),Te=i(),v=p("p"),v.textContent=yt,ge=i(),J=p("p"),J.innerHTML=Ut,ve=i(),j=p("p"),j.textContent=Ct,Je=i(),G=p("ul"),G.innerHTML=$t,je=i(),L=p("p"),L.innerHTML=wt,Ge=i(),f(_.$$.fragment),Le=i(),Z=p("p"),Z.textContent=Tt,_e=i(),k=p("ul"),k.innerHTML=gt,Ze=i(),B=p("p"),B.innerHTML=vt,ke=i(),f(x.$$.fragment),Be=i(),X=p("p"),X.textContent=Jt,xe=i(),f(N.$$.fragment),Xe=i(),W=p("p"),W.textContent=jt,Ne=i(),f(P.$$.fragment),We=i(),f(S.$$.fragment),Pe=i(),R=p("p"),R.innerHTML=Gt,Se=i(),H=p("p"),H.textContent=Lt,Re=i(),f(Y.$$.fragment),He=i(),f(I.$$.fragment),Ye=i(),F=p("p"),F.textContent=_t,Ie=i(),f(A.$$.fragment),Fe=i(),V=p("p"),V.innerHTML=Zt,Ae=i(),q=p("p"),q.innerHTML=kt,Ve=i(),Q=p("p"),Q.innerHTML=Bt,qe=i(),f(z.$$.fragment),Qe=i(),f(D.$$.fragment),ze=i(),E=p("p"),E.innerHTML=xt,De=i(),f(O.$$.fragment),Ee=i(),K=p("p"),K.innerHTML=Xt,Oe=i(),f(ee.$$.fragment),Ke=i(),f(te.$$.fragment),et=i(),le=p("p"),le.textContent=Nt,tt=i(),f(se.$$.fragment),lt=i(),ie=p("p"),ie.innerHTML=Wt,st=i(),f(ne.$$.fragment),it=i(),pe=p("p"),pe.innerHTML=Pt,nt=i(),ae=p("p"),ae.innerHTML=St,pt=i(),f(oe.$$.fragment),at=i(),fe=p("p"),fe.textContent=Rt,ot=i(),me=p("ul"),me.innerHTML=Ht,ft=i(),re=p("p"),re.innerHTML=Yt,mt=i(),ue=p("p"),ue.textContent=It,rt=i(),f(de.$$.fragment),ut=i(),Me=p("p"),Me.innerHTML=Ft,dt=i(),f(ce.$$.fragment),Mt=i(),be=p("p"),this.h()},l(e){const t=Kt("svelte-u9bgzb",document.head);c=a(t,"META",{name:!0,content:!0}),t.forEach(l),C=n(e),h=a(e,"P",{}),Vt(h).forEach(l),he=n(e),m($.$$.fragment,e),Ue=n(e),w=a(e,"P",{"data-svelte-h":!0}),o(w)!=="svelte-bbaeul"&&(w.innerHTML=ht),Ce=n(e),T=a(e,"P",{"data-svelte-h":!0}),o(T)!=="svelte-25bb3r"&&(T.textContent=bt),$e=n(e),m(y.$$.fragment,e),we=n(e),m(g.$$.fragment,e),Te=n(e),v=a(e,"P",{"data-svelte-h":!0}),o(v)!=="svelte-1n0wpaz"&&(v.textContent=yt),ge=n(e),J=a(e,"P",{"data-svelte-h":!0}),o(J)!=="svelte-11ljk8w"&&(J.innerHTML=Ut),ve=n(e),j=a(e,"P",{"data-svelte-h":!0}),o(j)!=="svelte-1635zp"&&(j.textContent=Ct),Je=n(e),G=a(e,"UL",{"data-svelte-h":!0}),o(G)!=="svelte-q784xv"&&(G.innerHTML=$t),je=n(e),L=a(e,"P",{"data-svelte-h":!0}),o(L)!=="svelte-b7xjel"&&(L.innerHTML=wt),Ge=n(e),m(_.$$.fragment,e),Le=n(e),Z=a(e,"P",{"data-svelte-h":!0}),o(Z)!=="svelte-1t091it"&&(Z.textContent=Tt),_e=n(e),k=a(e,"UL",{"data-svelte-h":!0}),o(k)!=="svelte-1rrqib3"&&(k.innerHTML=gt),Ze=n(e),B=a(e,"P",{"data-svelte-h":!0}),o(B)!=="svelte-1itv6a4"&&(B.innerHTML=vt),ke=n(e),m(x.$$.fragment,e),Be=n(e),X=a(e,"P",{"data-svelte-h":!0}),o(X)!=="svelte-1pm7gvi"&&(X.textContent=Jt),xe=n(e),m(N.$$.fragment,e),Xe=n(e),W=a(e,"P",{"data-svelte-h":!0}),o(W)!=="svelte-106wisv"&&(W.textContent=jt),Ne=n(e),m(P.$$.fragment,e),We=n(e),m(S.$$.fragment,e),Pe=n(e),R=a(e,"P",{"data-svelte-h":!0}),o(R)!=="svelte-18035od"&&(R.innerHTML=Gt),Se=n(e),H=a(e,"P",{"data-svelte-h":!0}),o(H)!=="svelte-1li68th"&&(H.textContent=Lt),Re=n(e),m(Y.$$.fragment,e),He=n(e),m(I.$$.fragment,e),Ye=n(e),F=a(e,"P",{"data-svelte-h":!0}),o(F)!=="svelte-18ld88r"&&(F.textContent=_t),Ie=n(e),m(A.$$.fragment,e),Fe=n(e),V=a(e,"P",{"data-svelte-h":!0}),o(V)!=="svelte-mpzt9a"&&(V.innerHTML=Zt),Ae=n(e),q=a(e,"P",{"data-svelte-h":!0}),o(q)!=="svelte-lf923q"&&(q.innerHTML=kt),Ve=n(e),Q=a(e,"P",{"data-svelte-h":!0}),o(Q)!=="svelte-1rdfmyj"&&(Q.innerHTML=Bt),qe=n(e),m(z.$$.fragment,e),Qe=n(e),m(D.$$.fragment,e),ze=n(e),E=a(e,"P",{"data-svelte-h":!0}),o(E)!=="svelte-ker45t"&&(E.innerHTML=xt),De=n(e),m(O.$$.fragment,e),Ee=n(e),K=a(e,"P",{"data-svelte-h":!0}),o(K)!=="svelte-3a5qkr"&&(K.innerHTML=Xt),Oe=n(e),m(ee.$$.fragment,e),Ke=n(e),m(te.$$.fragment,e),et=n(e),le=a(e,"P",{"data-svelte-h":!0}),o(le)!=="svelte-2e0s68"&&(le.textContent=Nt),tt=n(e),m(se.$$.fragment,e),lt=n(e),ie=a(e,"P",{"data-svelte-h":!0}),o(ie)!=="svelte-1hqru1i"&&(ie.innerHTML=Wt),st=n(e),m(ne.$$.fragment,e),it=n(e),pe=a(e,"P",{"data-svelte-h":!0}),o(pe)!=="svelte-1rrvko7"&&(pe.innerHTML=Pt),nt=n(e),ae=a(e,"P",{"data-svelte-h":!0}),o(ae)!=="svelte-2n9wsh"&&(ae.innerHTML=St),pt=n(e),m(oe.$$.fragment,e),at=n(e),fe=a(e,"P",{"data-svelte-h":!0}),o(fe)!=="svelte-1svsy93"&&(fe.textContent=Rt),ot=n(e),me=a(e,"UL",{"data-svelte-h":!0}),o(me)!=="svelte-upf8t6"&&(me.innerHTML=Ht),ft=n(e),re=a(e,"P",{"data-svelte-h":!0}),o(re)!=="svelte-vgqart"&&(re.innerHTML=Yt),mt=n(e),ue=a(e,"P",{"data-svelte-h":!0}),o(ue)!=="svelte-e71cas"&&(ue.textContent=It),rt=n(e),m(de.$$.fragment,e),ut=n(e),Me=a(e,"P",{"data-svelte-h":!0}),o(Me)!=="svelte-1e0lp79"&&(Me.innerHTML=Ft),dt=n(e),m(ce.$$.fragment,e),Mt=n(e),be=a(e,"P",{}),Vt(be).forEach(l),this.h()},h(){qt(c,"name","hf:doc:metadata"),qt(c,"content",nl)},m(e,t){el(document.head,c),s(e,C,t),s(e,h,t),s(e,he,t),r($,e,t),s(e,Ue,t),s(e,w,t),s(e,Ce,t),s(e,T,t),s(e,$e,t),r(y,e,t),s(e,we,t),r(g,e,t),s(e,Te,t),s(e,v,t),s(e,ge,t),s(e,J,t),s(e,ve,t),s(e,j,t),s(e,Je,t),s(e,G,t),s(e,je,t),s(e,L,t),s(e,Ge,t),r(_,e,t),s(e,Le,t),s(e,Z,t),s(e,_e,t),s(e,k,t),s(e,Ze,t),s(e,B,t),s(e,ke,t),r(x,e,t),s(e,Be,t),s(e,X,t),s(e,xe,t),r(N,e,t),s(e,Xe,t),s(e,W,t),s(e,Ne,t),r(P,e,t),s(e,We,t),r(S,e,t),s(e,Pe,t),s(e,R,t),s(e,Se,t),s(e,H,t),s(e,Re,t),r(Y,e,t),s(e,He,t),r(I,e,t),s(e,Ye,t),s(e,F,t),s(e,Ie,t),r(A,e,t),s(e,Fe,t),s(e,V,t),s(e,Ae,t),s(e,q,t),s(e,Ve,t),s(e,Q,t),s(e,qe,t),r(z,e,t),s(e,Qe,t),r(D,e,t),s(e,ze,t),s(e,E,t),s(e,De,t),r(O,e,t),s(e,Ee,t),s(e,K,t),s(e,Oe,t),r(ee,e,t),s(e,Ke,t),r(te,e,t),s(e,et,t),s(e,le,t),s(e,tt,t),r(se,e,t),s(e,lt,t),s(e,ie,t),s(e,st,t),r(ne,e,t),s(e,it,t),s(e,pe,t),s(e,nt,t),s(e,ae,t),s(e,pt,t),r(oe,e,t),s(e,at,t),s(e,fe,t),s(e,ot,t),s(e,me,t),s(e,ft,t),s(e,re,t),s(e,mt,t),s(e,ue,t),s(e,rt,t),r(de,e,t),s(e,ut,t),s(e,Me,t),s(e,dt,t),r(ce,e,t),s(e,Mt,t),s(e,be,t),ct=!0},p(e,[t]){const At={};t&2&&(At.$$scope={dirty:t,ctx:e}),y.$set(At)},i(e){ct||(u($.$$.fragment,e),u(y.$$.fragment,e),u(g.$$.fragment,e),u(_.$$.fragment,e),u(x.$$.fragment,e),u(N.$$.fragment,e),u(P.$$.fragment,e),u(S.$$.fragment,e),u(Y.$$.fragment,e),u(I.$$.fragment,e),u(A.$$.fragment,e),u(z.$$.fragment,e),u(D.$$.fragment,e),u(O.$$.fragment,e),u(ee.$$.fragment,e),u(te.$$.fragment,e),u(se.$$.fragment,e),u(ne.$$.fragment,e),u(oe.$$.fragment,e),u(de.$$.fragment,e),u(ce.$$.fragment,e),ct=!0)},o(e){d($.$$.fragment,e),d(y.$$.fragment,e),d(g.$$.fragment,e),d(_.$$.fragment,e),d(x.$$.fragment,e),d(N.$$.fragment,e),d(P.$$.fragment,e),d(S.$$.fragment,e),d(Y.$$.fragment,e),d(I.$$.fragment,e),d(A.$$.fragment,e),d(z.$$.fragment,e),d(D.$$.fragment,e),d(O.$$.fragment,e),d(ee.$$.fragment,e),d(te.$$.fragment,e),d(se.$$.fragment,e),d(ne.$$.fragment,e),d(oe.$$.fragment,e),d(de.$$.fragment,e),d(ce.$$.fragment,e),ct=!1},d(e){e&&(l(C),l(h),l(he),l(Ue),l(w),l(Ce),l(T),l($e),l(we),l(Te),l(v),l(ge),l(J),l(ve),l(j),l(Je),l(G),l(je),l(L),l(Ge),l(Le),l(Z),l(_e),l(k),l(Ze),l(B),l(ke),l(Be),l(X),l(xe),l(Xe),l(W),l(Ne),l(We),l(Pe),l(R),l(Se),l(H),l(Re),l(He),l(Ye),l(F),l(Ie),l(Fe),l(V),l(Ae),l(q),l(Ve),l(Q),l(qe),l(Qe),l(ze),l(E),l(De),l(Ee),l(K),l(Oe),l(Ke),l(et),l(le),l(tt),l(lt),l(ie),l(st),l(it),l(pe),l(nt),l(ae),l(pt),l(at),l(fe),l(ot),l(me),l(ft),l(re),l(mt),l(ue),l(rt),l(ut),l(Me),l(dt),l(Mt),l(be)),l(c),M($,e),M(y,e),M(g,e),M(_,e),M(x,e),M(N,e),M(P,e),M(S,e),M(Y,e),M(I,e),M(A,e),M(z,e),M(D,e),M(O,e),M(ee,e),M(te,e),M(se,e),M(ne,e),M(oe,e),M(de,e),M(ce,e)}}}const nl='{"title":"Core ML로 Stable Diffusion을 실행하는 방법","local":"core-ml로-stable-diffusion을-실행하는-방법","sections":[{"title":"Stable Diffusion Core ML 체크포인트","local":"stable-diffusion-core-ml-체크포인트","sections":[],"depth":2},{"title":"사용할 Core ML 변형(Variant) 선택하기","local":"사용할-core-ml-변형variant-선택하기","sections":[],"depth":2},{"title":"Python에서 Core ML 추론","local":"python에서-core-ml-추론","sections":[{"title":"모델 체크포인트 다운로드하기","local":"모델-체크포인트-다운로드하기","sections":[],"depth":3},{"title":"추론","local":"python-inference","sections":[],"depth":3}],"depth":2},{"title":"Swift에서 Core ML 추론하기","local":"swift에서-core-ml-추론하기","sections":[{"title":"다운로드","local":"다운로드","sections":[],"depth":3},{"title":"추론","local":"swift-inference","sections":[],"depth":3}],"depth":2},{"title":"지원되는 Diffusers 기능","local":"지원되는-diffusers-기능","sections":[],"depth":2},{"title":"네이티브 Diffusers Swift 앱","local":"네이티브-diffusers-swift-앱","sections":[],"depth":2}],"depth":1}';function pl(ye){return zt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ul extends Et{constructor(c){super(),Ot(this,c,pl,il,Qt,{})}}export{ul as component};