Buckets:
| import{s as Ce,n as Ze,o as Ie}from"../chunks/scheduler.6e0d5ff7.js";import{S as Ne,i as We,g as i,s as a,r as o,E as Xe,h as p,f as e,c as n,j as he,u as m,x as M,k as je,y as Re,a as s,v as c,d as r,t as u,w as f}from"../chunks/index.d7c1b260.js";import{C as w}from"../chunks/CodeBlock.09a08494.js";import{H as Zt,E as ve}from"../chunks/EditOnGithub.733546da.js";function Ve($l){let y,It,jt,Nt,U,Wt,J,xl=`<a href="https://arxiv.org/abs/2212.04488" rel="nofollow">커스텀 Diffusion</a>은 피사체의 이미지 몇 장(4~5장)만 주어지면 Stable Diffusion처럼 text-to-image 모델을 커스터마이징하는 방법입니다. | |
| ‘train_custom_diffusion.py’ 스크립트는 학습 과정을 구현하고 이를 Stable Diffusion에 맞게 조정하는 방법을 보여줍니다.`,Xt,d,Fl='이 교육 사례는 <a href="https://nupurkmr9.github.io/" rel="nofollow">Nupur Kumari</a>가 제공하였습니다. (Custom Diffusion의 저자 중 한명).',Rt,T,vt,b,Vt,_,Bl="스크립트를 실행하기 전에 라이브러리의 학습 dependencies를 설치해야 합니다:",Et,h,Ll="<strong>중요</strong>",gt,j,zl="예제 스크립트의 최신 버전을 성공적으로 실행하려면 <strong>소스로부터 설치</strong>하는 것을 매우 권장하며, 예제 스크립트를 자주 업데이트하는 만큼 일부 예제별 요구 사항을 설치하고 설치를 최신 상태로 유지하는 것이 좋습니다. 이를 위해 새 가상 환경에서 다음 단계를 실행하세요:",Gt,C,$t,Z,Yl='<a href="https://github.com/huggingface/diffusers/tree/main/examples/custom_diffusion" rel="nofollow">example folder</a>로 cd하여 이동하세요.',xt,I,Ft,N,kl="이제 실행",Bt,W,Lt,X,Sl='그리고 <a href="https://github.com/huggingface/accelerate/" rel="nofollow">🤗Accelerate</a> 환경을 초기화:',zt,R,Yt,v,Ql="또는 사용자 환경에 대한 질문에 답하지 않고 기본 가속 구성을 사용하려면 다음과 같이 하세요.",kt,V,St,E,Al="또는 사용 중인 환경이 대화형 셸을 지원하지 않는 경우(예: jupyter notebook)",Qt,g,At,G,Ht,$,Hl='이제 데이터셋을 가져옵니다. <a href="https://www.cs.cmu.edu/~custom-diffusion/assets/data.zip" rel="nofollow">여기</a>에서 데이터셋을 다운로드하고 압축을 풉니다. 직접 데이터셋을 사용하려면 <a href="create_dataset">학습용 데이터셋 생성하기</a> 가이드를 참고하세요.',qt,x,ql="또한 ‘clip-retrieval’을 사용하여 200개의 실제 이미지를 수집하고, regularization으로서 이를 학습 데이터셋의 타겟 이미지와 결합합니다. 이렇게 하면 주어진 타겟 이미지에 대한 과적합을 방지할 수 있습니다. 다음 플래그를 사용하면 <code>prior_loss_weight=1.</code>로 <code>prior_preservation</code>, <code>real_prior</code> regularization을 활성화할 수 있습니다.\n클래스_프롬프트<code>는 대상 이미지와 동일한 카테고리 이름이어야 합니다. 수집된 실제 이미지에는 </code>class_prompt<code>와 유사한 텍스트 캡션이 있습니다. 검색된 이미지는 </code>class_data_dir<code>에 저장됩니다. 생성된 이미지를 regularization으로 사용하기 위해 </code>real_prior`를 비활성화할 수 있습니다. 실제 이미지를 수집하려면 훈련 전에 이 명령을 먼저 사용하십시오.",Dt,F,Pt,B,Dl='<strong><strong><em>참고: <a href="https://huggingface.co/stabilityai/stable-diffusion-2" rel="nofollow">stable-diffusion-2</a> 768x768 모델을 사용하는 경우 ‘해상도’를 768로 변경하세요.</em></strong></strong>',Ot,L,Pl="스크립트는 모델 체크포인트와 <code>pytorch_custom_diffusion_weights.bin</code> 파일을 생성하여 저장소에 저장합니다.",Kt,z,tl,Y,Ol='<strong>더 낮은 VRAM 요구 사항(GPU당 16GB)으로 더 빠르게 훈련하려면 <code>--enable_xformers_memory_efficient_attention</code>을 사용하세요. 설치 방법은 <a href="https://github.com/facebookresearch/xformers" rel="nofollow">가이드</a>를 따르세요.</strong>',ll,k,Kl="가중치 및 편향(<code>wandb</code>)을 사용하여 실험을 추적하고 중간 결과를 저장하려면(강력히 권장합니다) 다음 단계를 따르세요:",el,S,te="<li><code>wandb</code> 설치: <code>pip install wandb</code>.</li> <li>로그인 : <code>wandb login</code>.</li> <li>그런 다음 트레이닝을 시작하는 동안 <code>validation_prompt</code>를 지정하고 <code>report_to</code>를 <code>wandb</code>로 설정합니다. 다음과 같은 관련 인수를 구성할 수도 있습니다:<ul><li><code>num_validation_images</code></li> <li><code>validation_steps</code></li></ul></li>",sl,Q,al,A,le='다음은 <a href="https://wandb.ai/sayakpaul/custom-diffusion/runs/26ghrcau" rel="nofollow">Weights and Biases page</a>의 예시이며, 여러 학습 세부 정보와 함께 중간 결과들을 확인할 수 있습니다.',nl,H,ee='<code>--push_to_hub</code>를 지정하면 학습된 파라미터가 허깅 페이스 허브의 리포지토리에 푸시됩니다. 다음은 <a href="https://huggingface.co/sayakpaul/custom-diffusion-cat" rel="nofollow">예제 리포지토리</a>입니다.',il,q,se="### 멀티 컨셉에 대한 학습 🐱🪵",pl,D,ae='<a href="https://github.com/ShivamShrirao/diffusers/blob/main/examples/dreambooth/train_dreambooth.py" rel="nofollow">this</a>와 유사하게 각 컨셉에 대한 정보가 포함된 <a href="https://github.com/adobe-research/custom-diffusion/blob/main/assets/concept_list.json" rel="nofollow">json</a> 파일을 제공합니다.',Ml,P,ne="실제 이미지를 수집하려면 json 파일의 각 컨셉에 대해 이 명령을 실행합니다.",ol,O,ml,K,ie="그럼 우리는 학습시킬 준비가 되었습니다!",cl,tt,rl,lt,pe='다음은 <a href="https://wandb.ai/sayakpaul/custom-diffusion/runs/3990tzkg" rel="nofollow">Weights and Biases page</a>의 예시이며, 다른 학습 세부 정보와 함께 중간 결과들을 확인할 수 있습니다.',ul,et,Me="### 사람 얼굴에 대한 학습",fl,st,oe="사람 얼굴에 대한 파인튜닝을 위해 다음과 같은 설정이 더 효과적이라는 것을 확인했습니다: <code>learning_rate=5e-6</code>, <code>max_train_steps=1000 to 2000</code>, <code>freeze_model=crossattn</code>을 최소 15~20개의 이미지로 설정합니다.",wl,at,me="실제 이미지를 수집하려면 훈련 전에 이 명령을 먼저 사용하십시오.",yl,nt,Ul,it,ce="이제 학습을 시작하세요!",Jl,pt,dl,Mt,re="## 추론",Tl,ot,ue="위 프롬프트를 사용하여 모델을 학습시킨 후에는 아래 프롬프트를 사용하여 추론을 실행할 수 있습니다. 프롬프트에 ‘modifier token’(예: 위 예제에서는 \\<new1>)을 반드시 포함해야 합니다.",bl,mt,_l,ct,fe="허브 리포지토리에서 이러한 매개변수를 직접 로드할 수 있습니다:",hl,rt,jl,ut,we="다음은 여러 컨셉으로 추론을 수행하는 예제입니다:",Cl,ft,Zl,wt,ye="여기서 ‘고양이’와 ‘나무 냄비’는 여러 컨셉을 말합니다.",Il,yt,Ue="### 학습된 체크포인트에서 추론하기",Nl,Ut,Je="<code>--checkpointing_steps</code> 인수를 사용한 경우 학습 과정에서 저장된 전체 체크포인트 중 하나에서 추론을 수행할 수도 있습니다.",Wl,Jt,de="## Grads를 None으로 설정",Xl,dt,Te="더 많은 메모리를 절약하려면 스크립트에 <code>--set_grads_to_none</code> 인수를 전달하세요. 이렇게 하면 성적이 0이 아닌 없음으로 설정됩니다. 그러나 특정 동작이 변경되므로 문제가 발생하면 이 인수를 제거하세요.",Rl,Tt,be='자세한 정보: <a href="https://pytorch.org/docs/stable/generated/torch.optim.Optimizer.zero_grad.html" rel="nofollow">https://pytorch.org/docs/stable/generated/torch.optim.Optimizer.zero_grad.html</a>',vl,bt,Vl,_t,_e='실험에 대한 자세한 내용은 <a href="https://www.cs.cmu.edu/~custom-diffusion/" rel="nofollow">당사 웹페이지</a>를 참조하세요.',El,ht,gl,Ct,Gl;return U=new Zt({props:{title:"커스텀 Diffusion 학습 예제",local:"커스텀-diffusion-학습-예제",headingTag:"h1"}}),T=new Zt({props:{title:"로컬에서 PyTorch로 실행하기",local:"로컬에서-pytorch로-실행하기",headingTag:"h2"}}),b=new Zt({props:{title:"Dependencies 설치하기",local:"dependencies-설치하기",headingTag:"h3"}}),C=new w({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZodWdnaW5nZmFjZSUyRmRpZmZ1c2VycyUwQWNkJTIwZGlmZnVzZXJzJTBBcGlwJTIwaW5zdGFsbCUyMC1lJTIwLg==",highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/huggingface/diffusers | |
| <span class="hljs-built_in">cd</span> diffusers | |
| pip install -e .`,wrap:!1}}),I=new w({props:{code:"Y2QlMjBleGFtcGxlcyUyRmN1c3RvbV9kaWZmdXNpb24=",highlighted:'<span class="hljs-built_in">cd</span> examples/custom_diffusion',wrap:!1}}),W=new w({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1yJTIwcmVxdWlyZW1lbnRzLnR4dCUwQXBpcCUyMGluc3RhbGwlMjBjbGlwLXJldHJpZXZhbCUyMA==",highlighted:`pip install -r requirements.txt | |
| pip install clip-retrieval `,wrap:!1}}),R=new w({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZw==",highlighted:"accelerate config",wrap:!1}}),V=new w({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZyUyMGRlZmF1bHQ=",highlighted:"accelerate config default",wrap:!1}}),g=new w({props:{code:"ZnJvbSUyMGFjY2VsZXJhdGUudXRpbHMlMjBpbXBvcnQlMjB3cml0ZV9iYXNpY19jb25maWclMEElMEF3cml0ZV9iYXNpY19jb25maWcoKQ==",highlighted:`<span class="hljs-keyword">from</span> accelerate.utils <span class="hljs-keyword">import</span> write_basic_config | |
| write_basic_config()`,wrap:!1}}),G=new Zt({props:{title:"고양이 예제 😺",local:"고양이-예제-",headingTag:"h3"}}),F=new w({props:{code:"cGlwJTIwaW5zdGFsbCUyMGNsaXAtcmV0cmlldmFsJTBBcHl0aG9uJTIwcmV0cmlldmUucHklMjAtLWNsYXNzX3Byb21wdCUyMGNhdCUyMC0tY2xhc3NfZGF0YV9kaXIlMjByZWFsX3JlZyUyRnNhbXBsZXNfY2F0JTIwLS1udW1fY2xhc3NfaW1hZ2VzJTIwMjAw",highlighted:`pip install clip-retrieval | |
| python retrieve.py --class_prompt <span class="hljs-built_in">cat</span> --class_data_dir real_reg/samples_cat --num_class_images 200`,wrap:!1}}),z=new w({props:{code:"ZXhwb3J0JTIwTU9ERUxfTkFNRSUzRCUyMkNvbXBWaXMlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTQlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aC10by1zYXZlLW1vZGVsJTIyJTBBZXhwb3J0JTIwSU5TVEFOQ0VfRElSJTNEJTIyLiUyRmRhdGElMkZjYXQlMjIlMEElMEFhY2NlbGVyYXRlJTIwbGF1bmNoJTIwdHJhaW5fY3VzdG9tX2RpZmZ1c2lvbi5weSUyMCU1QyUwQSUyMCUyMC0tcHJldHJhaW5lZF9tb2RlbF9uYW1lX29yX3BhdGglM0QlMjRNT0RFTF9OQU1FJTIwJTIwJTVDJTBBJTIwJTIwLS1pbnN0YW5jZV9kYXRhX2RpciUzRCUyNElOU1RBTkNFX0RJUiUyMCU1QyUwQSUyMCUyMC0tb3V0cHV0X2RpciUzRCUyNE9VVFBVVF9ESVIlMjAlNUMlMEElMjAlMjAtLWNsYXNzX2RhdGFfZGlyJTNELiUyRnJlYWxfcmVnJTJGc2FtcGxlc19jYXQlMkYlMjAlNUMlMEElMjAlMjAtLXdpdGhfcHJpb3JfcHJlc2VydmF0aW9uJTIwLS1yZWFsX3ByaW9yJTIwLS1wcmlvcl9sb3NzX3dlaWdodCUzRDEuMCUyMCU1QyUwQSUyMCUyMC0tY2xhc3NfcHJvbXB0JTNEJTIyY2F0JTIyJTIwLS1udW1fY2xhc3NfaW1hZ2VzJTNEMjAwJTIwJTVDJTBBJTIwJTIwLS1pbnN0YW5jZV9wcm9tcHQlM0QlMjJwaG90byUyMG9mJTIwYSUyMCUzQ25ldzElM0UlMjBjYXQlMjIlMjAlMjAlNUMlMEElMjAlMjAtLXJlc29sdXRpb24lM0Q1MTIlMjAlMjAlNUMlMEElMjAlMjAtLXRyYWluX2JhdGNoX3NpemUlM0QyJTIwJTIwJTVDJTBBJTIwJTIwLS1sZWFybmluZ19yYXRlJTNEMWUtNSUyMCUyMCU1QyUwQSUyMCUyMC0tbHJfd2FybXVwX3N0ZXBzJTNEMCUyMCU1QyUwQSUyMCUyMC0tbWF4X3RyYWluX3N0ZXBzJTNEMjUwJTIwJTVDJTBBJTIwJTIwLS1zY2FsZV9sciUyMC0taGZsaXAlMjAlMjAlNUMlMEElMjAlMjAtLW1vZGlmaWVyX3Rva2VuJTIwJTIyJTNDbmV3MSUzRSUyMiUyMCU1QyUwQSUyMCUyMC0tcHVzaF90b19odWI=",highlighted:`<span class="hljs-built_in">export</span> MODEL_NAME=<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span> | |
| <span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">"path-to-save-model"</span> | |
| <span class="hljs-built_in">export</span> INSTANCE_DIR=<span class="hljs-string">"./data/cat"</span> | |
| accelerate launch train_custom_diffusion.py \\ | |
| --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_NAME</span> \\ | |
| --instance_data_dir=<span class="hljs-variable">$INSTANCE_DIR</span> \\ | |
| --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\ | |
| --class_data_dir=./real_reg/samples_cat/ \\ | |
| --with_prior_preservation --real_prior --prior_loss_weight=1.0 \\ | |
| --class_prompt=<span class="hljs-string">"cat"</span> --num_class_images=200 \\ | |
| --instance_prompt=<span class="hljs-string">"photo of a <new1> cat"</span> \\ | |
| --resolution=512 \\ | |
| --train_batch_size=2 \\ | |
| --learning_rate=1e-5 \\ | |
| --lr_warmup_steps=0 \\ | |
| --max_train_steps=250 \\ | |
| --scale_lr --hflip \\ | |
| --modifier_token <span class="hljs-string">"<new1>"</span> \\ | |
| --push_to_hub`,wrap:!1}}),Q=new w({props:{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2N1c3RvbV9kaWZmdXNpb24ucHklMjAlNUMlMEElMjAlMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfTkFNRSUyMCUyMCU1QyUwQSUyMCUyMC0taW5zdGFuY2VfZGF0YV9kaXIlM0QlMjRJTlNUQU5DRV9ESVIlMjAlNUMlMEElMjAlMjAtLW91dHB1dF9kaXIlM0QlMjRPVVRQVVRfRElSJTIwJTVDJTBBJTIwJTIwLS1jbGFzc19kYXRhX2RpciUzRC4lMkZyZWFsX3JlZyUyRnNhbXBsZXNfY2F0JTJGJTIwJTVDJTBBJTIwJTIwLS13aXRoX3ByaW9yX3ByZXNlcnZhdGlvbiUyMC0tcmVhbF9wcmlvciUyMC0tcHJpb3JfbG9zc193ZWlnaHQlM0QxLjAlMjAlNUMlMEElMjAlMjAtLWNsYXNzX3Byb21wdCUzRCUyMmNhdCUyMiUyMC0tbnVtX2NsYXNzX2ltYWdlcyUzRDIwMCUyMCU1QyUwQSUyMCUyMC0taW5zdGFuY2VfcHJvbXB0JTNEJTIycGhvdG8lMjBvZiUyMGElMjAlM0NuZXcxJTNFJTIwY2F0JTIyJTIwJTIwJTVDJTBBJTIwJTIwLS1yZXNvbHV0aW9uJTNENTEyJTIwJTIwJTVDJTBBJTIwJTIwLS10cmFpbl9iYXRjaF9zaXplJTNEMiUyMCUyMCU1QyUwQSUyMCUyMC0tbGVhcm5pbmdfcmF0ZSUzRDFlLTUlMjAlMjAlNUMlMEElMjAlMjAtLWxyX3dhcm11cF9zdGVwcyUzRDAlMjAlNUMlMEElMjAlMjAtLW1heF90cmFpbl9zdGVwcyUzRDI1MCUyMCU1QyUwQSUyMCUyMC0tc2NhbGVfbHIlMjAtLWhmbGlwJTIwJTIwJTVDJTBBJTIwJTIwLS1tb2RpZmllcl90b2tlbiUyMCUyMiUzQ25ldzElM0UlMjIlMjAlNUMlMEElMjAlMjAtLXZhbGlkYXRpb25fcHJvbXB0JTNEJTIyJTNDbmV3MSUzRSUyMGNhdCUyMHNpdHRpbmclMjBpbiUyMGElMjBidWNrZXQlMjIlMjAlNUMlMEElMjAlMjAtLXJlcG9ydF90byUzRCUyMndhbmRiJTIyJTIwJTVDJTBBJTIwJTIwLS1wdXNoX3RvX2h1Yg==",highlighted:`accelerate launch train_custom_diffusion.py \\ | |
| --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_NAME</span> \\ | |
| --instance_data_dir=<span class="hljs-variable">$INSTANCE_DIR</span> \\ | |
| --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\ | |
| --class_data_dir=./real_reg/samples_cat/ \\ | |
| --with_prior_preservation --real_prior --prior_loss_weight=1.0 \\ | |
| --class_prompt=<span class="hljs-string">"cat"</span> --num_class_images=200 \\ | |
| --instance_prompt=<span class="hljs-string">"photo of a <new1> cat"</span> \\ | |
| --resolution=512 \\ | |
| --train_batch_size=2 \\ | |
| --learning_rate=1e-5 \\ | |
| --lr_warmup_steps=0 \\ | |
| --max_train_steps=250 \\ | |
| --scale_lr --hflip \\ | |
| --modifier_token <span class="hljs-string">"<new1>"</span> \\ | |
| --validation_prompt=<span class="hljs-string">"<new1> cat sitting in a bucket"</span> \\ | |
| --report_to=<span class="hljs-string">"wandb"</span> \\ | |
| --push_to_hub`,wrap:!1}}),O=new w({props:{code:"cGlwJTIwaW5zdGFsbCUyMGNsaXAtcmV0cmlldmFsJTBBcHl0aG9uJTIwcmV0cmlldmUucHklMjAtLWNsYXNzX3Byb21wdCUyMCU3QiU3RCUyMC0tY2xhc3NfZGF0YV9kaXIlMjAlN0IlN0QlMjAtLW51bV9jbGFzc19pbWFnZXMlMjAyMDA=",highlighted:`pip install clip-retrieval | |
| python retrieve.py --class_prompt {} --class_data_dir {} --num_class_images 200`,wrap:!1}}),tt=new w({props:{code:"ZXhwb3J0JTIwTU9ERUxfTkFNRSUzRCUyMkNvbXBWaXMlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTQlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aC10by1zYXZlLW1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2N1c3RvbV9kaWZmdXNpb24ucHklMjAlNUMlMEElMjAlMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfTkFNRSUyMCUyMCU1QyUwQSUyMCUyMC0tb3V0cHV0X2RpciUzRCUyNE9VVFBVVF9ESVIlMjAlNUMlMEElMjAlMjAtLWNvbmNlcHRzX2xpc3QlM0QuJTJGY29uY2VwdF9saXN0Lmpzb24lMjAlNUMlMEElMjAlMjAtLXdpdGhfcHJpb3JfcHJlc2VydmF0aW9uJTIwLS1yZWFsX3ByaW9yJTIwLS1wcmlvcl9sb3NzX3dlaWdodCUzRDEuMCUyMCU1QyUwQSUyMCUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMCUyMCU1QyUwQSUyMCUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDIlMjAlMjAlNUMlMEElMjAlMjAtLWxlYXJuaW5nX3JhdGUlM0QxZS01JTIwJTIwJTVDJTBBJTIwJTIwLS1scl93YXJtdXBfc3RlcHMlM0QwJTIwJTVDJTBBJTIwJTIwLS1tYXhfdHJhaW5fc3RlcHMlM0Q1MDAlMjAlNUMlMEElMjAlMjAtLW51bV9jbGFzc19pbWFnZXMlM0QyMDAlMjAlNUMlMEElMjAlMjAtLXNjYWxlX2xyJTIwLS1oZmxpcCUyMCUyMCU1QyUwQSUyMCUyMC0tbW9kaWZpZXJfdG9rZW4lMjAlMjIlM0NuZXcxJTNFJTJCJTNDbmV3MiUzRSUyMiUyMCU1QyUwQSUyMCUyMC0tcHVzaF90b19odWI=",highlighted:`<span class="hljs-built_in">export</span> MODEL_NAME=<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span> | |
| <span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">"path-to-save-model"</span> | |
| accelerate launch train_custom_diffusion.py \\ | |
| --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_NAME</span> \\ | |
| --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\ | |
| --concepts_list=./concept_list.json \\ | |
| --with_prior_preservation --real_prior --prior_loss_weight=1.0 \\ | |
| --resolution=512 \\ | |
| --train_batch_size=2 \\ | |
| --learning_rate=1e-5 \\ | |
| --lr_warmup_steps=0 \\ | |
| --max_train_steps=500 \\ | |
| --num_class_images=200 \\ | |
| --scale_lr --hflip \\ | |
| --modifier_token <span class="hljs-string">"<new1>+<new2>"</span> \\ | |
| --push_to_hub`,wrap:!1}}),nt=new w({props:{code:"cGlwJTIwaW5zdGFsbCUyMGNsaXAtcmV0cmlldmFsJTBBcHl0aG9uJTIwcmV0cmlldmUucHklMjAtLWNsYXNzX3Byb21wdCUyMHBlcnNvbiUyMC0tY2xhc3NfZGF0YV9kaXIlMjByZWFsX3JlZyUyRnNhbXBsZXNfcGVyc29uJTIwLS1udW1fY2xhc3NfaW1hZ2VzJTIwMjAw",highlighted:`pip install clip-retrieval | |
| python retrieve.py --class_prompt person --class_data_dir real_reg/samples_person --num_class_images 200`,wrap:!1}}),pt=new w({props:{code:"ZXhwb3J0JTIwTU9ERUxfTkFNRSUzRCUyMkNvbXBWaXMlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTQlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aC10by1zYXZlLW1vZGVsJTIyJTBBZXhwb3J0JTIwSU5TVEFOQ0VfRElSJTNEJTIycGF0aC10by1pbWFnZXMlMjIlMEElMEFhY2NlbGVyYXRlJTIwbGF1bmNoJTIwdHJhaW5fY3VzdG9tX2RpZmZ1c2lvbi5weSUyMCU1QyUwQSUyMCUyMC0tcHJldHJhaW5lZF9tb2RlbF9uYW1lX29yX3BhdGglM0QlMjRNT0RFTF9OQU1FJTIwJTIwJTVDJTBBJTIwJTIwLS1pbnN0YW5jZV9kYXRhX2RpciUzRCUyNElOU1RBTkNFX0RJUiUyMCU1QyUwQSUyMCUyMC0tb3V0cHV0X2RpciUzRCUyNE9VVFBVVF9ESVIlMjAlNUMlMEElMjAlMjAtLWNsYXNzX2RhdGFfZGlyJTNELiUyRnJlYWxfcmVnJTJGc2FtcGxlc19wZXJzb24lMkYlMjAlNUMlMEElMjAlMjAtLXdpdGhfcHJpb3JfcHJlc2VydmF0aW9uJTIwLS1yZWFsX3ByaW9yJTIwLS1wcmlvcl9sb3NzX3dlaWdodCUzRDEuMCUyMCU1QyUwQSUyMCUyMC0tY2xhc3NfcHJvbXB0JTNEJTIycGVyc29uJTIyJTIwLS1udW1fY2xhc3NfaW1hZ2VzJTNEMjAwJTIwJTVDJTBBJTIwJTIwLS1pbnN0YW5jZV9wcm9tcHQlM0QlMjJwaG90byUyMG9mJTIwYSUyMCUzQ25ldzElM0UlMjBwZXJzb24lMjIlMjAlMjAlNUMlMEElMjAlMjAtLXJlc29sdXRpb24lM0Q1MTIlMjAlMjAlNUMlMEElMjAlMjAtLXRyYWluX2JhdGNoX3NpemUlM0QyJTIwJTIwJTVDJTBBJTIwJTIwLS1sZWFybmluZ19yYXRlJTNENWUtNiUyMCUyMCU1QyUwQSUyMCUyMC0tbHJfd2FybXVwX3N0ZXBzJTNEMCUyMCU1QyUwQSUyMCUyMC0tbWF4X3RyYWluX3N0ZXBzJTNEMTAwMCUyMCU1QyUwQSUyMCUyMC0tc2NhbGVfbHIlMjAtLWhmbGlwJTIwLS1ub2F1ZyUyMCU1QyUwQSUyMCUyMC0tZnJlZXplX21vZGVsJTIwY3Jvc3NhdHRuJTIwJTVDJTBBJTIwJTIwLS1tb2RpZmllcl90b2tlbiUyMCUyMiUzQ25ldzElM0UlMjIlMjAlNUMlMEElMjAlMjAtLWVuYWJsZV94Zm9ybWVyc19tZW1vcnlfZWZmaWNpZW50X2F0dGVudGlvbiUyMCU1QyUwQSUyMCUyMC0tcHVzaF90b19odWI=",highlighted:`<span class="hljs-built_in">export</span> MODEL_NAME=<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span> | |
| <span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">"path-to-save-model"</span> | |
| <span class="hljs-built_in">export</span> INSTANCE_DIR=<span class="hljs-string">"path-to-images"</span> | |
| accelerate launch train_custom_diffusion.py \\ | |
| --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_NAME</span> \\ | |
| --instance_data_dir=<span class="hljs-variable">$INSTANCE_DIR</span> \\ | |
| --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\ | |
| --class_data_dir=./real_reg/samples_person/ \\ | |
| --with_prior_preservation --real_prior --prior_loss_weight=1.0 \\ | |
| --class_prompt=<span class="hljs-string">"person"</span> --num_class_images=200 \\ | |
| --instance_prompt=<span class="hljs-string">"photo of a <new1> person"</span> \\ | |
| --resolution=512 \\ | |
| --train_batch_size=2 \\ | |
| --learning_rate=5e-6 \\ | |
| --lr_warmup_steps=0 \\ | |
| --max_train_steps=1000 \\ | |
| --scale_lr --hflip --noaug \\ | |
| --freeze_model crossattn \\ | |
| --modifier_token <span class="hljs-string">"<new1>"</span> \\ | |
| --enable_xformers_memory_efficient_attention \\ | |
| --push_to_hub`,wrap:!1}}),mt=new w({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEElMEFwaXBlJTIwJTNEJTIwRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMkNvbXBWaXMlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTQlMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYpLnRvKCUyMmN1ZGElMjIpJTBBcGlwZS51bmV0LmxvYWRfYXR0bl9wcm9jcyglMjJwYXRoLXRvLXNhdmUtbW9kZWwlMjIlMkMlMjB3ZWlnaHRfbmFtZSUzRCUyMnB5dG9yY2hfY3VzdG9tX2RpZmZ1c2lvbl93ZWlnaHRzLmJpbiUyMiklMEFwaXBlLmxvYWRfdGV4dHVhbF9pbnZlcnNpb24oJTIycGF0aC10by1zYXZlLW1vZGVsJTIyJTJDJTIwd2VpZ2h0X25hbWUlM0QlMjIlM0NuZXcxJTNFLmJpbiUyMiklMEElMEFpbWFnZSUyMCUzRCUyMHBpcGUoJTBBJTIwJTIwJTIwJTIwJTIyJTNDbmV3MSUzRSUyMGNhdCUyMHNpdHRpbmclMjBpbiUyMGElMjBidWNrZXQlMjIlMkMlMEElMjAlMjAlMjAlMjBudW1faW5mZXJlbmNlX3N0ZXBzJTNEMTAwJTJDJTBBJTIwJTIwJTIwJTIwZ3VpZGFuY2Vfc2NhbGUlM0Q2LjAlMkMlMEElMjAlMjAlMjAlMjBldGElM0QxLjAlMkMlMEEpLmltYWdlcyU1QjAlNUQlMEFpbWFnZS5zYXZlKCUyMmNhdC5wbmclMjIp",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| pipe = DiffusionPipeline.from_pretrained(<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span>, torch_dtype=torch.float16).to(<span class="hljs-string">"cuda"</span>) | |
| pipe.unet.load_attn_procs(<span class="hljs-string">"path-to-save-model"</span>, weight_name=<span class="hljs-string">"pytorch_custom_diffusion_weights.bin"</span>) | |
| pipe.load_textual_inversion(<span class="hljs-string">"path-to-save-model"</span>, weight_name=<span class="hljs-string">"<new1>.bin"</span>) | |
| image = pipe( | |
| <span class="hljs-string">"<new1> cat sitting in a bucket"</span>, | |
| num_inference_steps=<span class="hljs-number">100</span>, | |
| guidance_scale=<span class="hljs-number">6.0</span>, | |
| eta=<span class="hljs-number">1.0</span>, | |
| ).images[<span class="hljs-number">0</span>] | |
| image.save(<span class="hljs-string">"cat.png"</span>)`,wrap:!1}}),rt=new w({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwaHVnZ2luZ2ZhY2VfaHViLnJlcG9jYXJkJTIwaW1wb3J0JTIwUmVwb0NhcmQlMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEElMEFtb2RlbF9pZCUyMCUzRCUyMCUyMnNheWFrcGF1bCUyRmN1c3RvbS1kaWZmdXNpb24tY2F0JTIyJTBBY2FyZCUyMCUzRCUyMFJlcG9DYXJkLmxvYWQobW9kZWxfaWQpJTBBYmFzZV9tb2RlbF9pZCUyMCUzRCUyMGNhcmQuZGF0YS50b19kaWN0KCklNUIlMjJiYXNlX21vZGVsJTIyJTVEJTBBJTBBcGlwZSUyMCUzRCUyMERpZmZ1c2lvblBpcGVsaW5lLmZyb21fcHJldHJhaW5lZChiYXNlX21vZGVsX2lkJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KS50byglMjJjdWRhJTIyKSUwQXBpcGUudW5ldC5sb2FkX2F0dG5fcHJvY3MobW9kZWxfaWQlMkMlMjB3ZWlnaHRfbmFtZSUzRCUyMnB5dG9yY2hfY3VzdG9tX2RpZmZ1c2lvbl93ZWlnaHRzLmJpbiUyMiklMEFwaXBlLmxvYWRfdGV4dHVhbF9pbnZlcnNpb24obW9kZWxfaWQlMkMlMjB3ZWlnaHRfbmFtZSUzRCUyMiUzQ25ldzElM0UuYmluJTIyKSUwQSUwQWltYWdlJTIwJTNEJTIwcGlwZSglMEElMjAlMjAlMjAlMjAlMjIlM0NuZXcxJTNFJTIwY2F0JTIwc2l0dGluZyUyMGluJTIwYSUyMGJ1Y2tldCUyMiUyQyUwQSUyMCUyMCUyMCUyMG51bV9pbmZlcmVuY2Vfc3RlcHMlM0QxMDAlMkMlMEElMjAlMjAlMjAlMjBndWlkYW5jZV9zY2FsZSUzRDYuMCUyQyUwQSUyMCUyMCUyMCUyMGV0YSUzRDEuMCUyQyUwQSkuaW1hZ2VzJTVCMCU1RCUwQWltYWdlLnNhdmUoJTIyY2F0LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> huggingface_hub.repocard <span class="hljs-keyword">import</span> RepoCard | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| model_id = <span class="hljs-string">"sayakpaul/custom-diffusion-cat"</span> | |
| card = RepoCard.load(model_id) | |
| base_model_id = card.data.to_dict()[<span class="hljs-string">"base_model"</span>] | |
| pipe = DiffusionPipeline.from_pretrained(base_model_id, torch_dtype=torch.float16).to(<span class="hljs-string">"cuda"</span>) | |
| pipe.unet.load_attn_procs(model_id, weight_name=<span class="hljs-string">"pytorch_custom_diffusion_weights.bin"</span>) | |
| pipe.load_textual_inversion(model_id, weight_name=<span class="hljs-string">"<new1>.bin"</span>) | |
| image = pipe( | |
| <span class="hljs-string">"<new1> cat sitting in a bucket"</span>, | |
| num_inference_steps=<span class="hljs-number">100</span>, | |
| guidance_scale=<span class="hljs-number">6.0</span>, | |
| eta=<span class="hljs-number">1.0</span>, | |
| ).images[<span class="hljs-number">0</span>] | |
| image.save(<span class="hljs-string">"cat.png"</span>)`,wrap:!1}}),ft=new w({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwaHVnZ2luZ2ZhY2VfaHViLnJlcG9jYXJkJTIwaW1wb3J0JTIwUmVwb0NhcmQlMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEElMEFtb2RlbF9pZCUyMCUzRCUyMCUyMnNheWFrcGF1bCUyRmN1c3RvbS1kaWZmdXNpb24tY2F0LXdvb2Rlbi1wb3QlMjIlMEFjYXJkJTIwJTNEJTIwUmVwb0NhcmQubG9hZChtb2RlbF9pZCklMEFiYXNlX21vZGVsX2lkJTIwJTNEJTIwY2FyZC5kYXRhLnRvX2RpY3QoKSU1QiUyMmJhc2VfbW9kZWwlMjIlNUQlMEElMEFwaXBlJTIwJTNEJTIwRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKGJhc2VfbW9kZWxfaWQlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYpLnRvKCUyMmN1ZGElMjIpJTBBcGlwZS51bmV0LmxvYWRfYXR0bl9wcm9jcyhtb2RlbF9pZCUyQyUyMHdlaWdodF9uYW1lJTNEJTIycHl0b3JjaF9jdXN0b21fZGlmZnVzaW9uX3dlaWdodHMuYmluJTIyKSUwQXBpcGUubG9hZF90ZXh0dWFsX2ludmVyc2lvbihtb2RlbF9pZCUyQyUyMHdlaWdodF9uYW1lJTNEJTIyJTNDbmV3MSUzRS5iaW4lMjIpJTBBcGlwZS5sb2FkX3RleHR1YWxfaW52ZXJzaW9uKG1vZGVsX2lkJTJDJTIwd2VpZ2h0X25hbWUlM0QlMjIlM0NuZXcyJTNFLmJpbiUyMiklMEElMEFpbWFnZSUyMCUzRCUyMHBpcGUoJTBBJTIwJTIwJTIwJTIwJTIydGhlJTIwJTNDbmV3MSUzRSUyMGNhdCUyMHNjdWxwdHVyZSUyMGluJTIwdGhlJTIwc3R5bGUlMjBvZiUyMGElMjAlM0NuZXcyJTNFJTIwd29vZGVuJTIwcG90JTIyJTJDJTBBJTIwJTIwJTIwJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRDEwMCUyQyUwQSUyMCUyMCUyMCUyMGd1aWRhbmNlX3NjYWxlJTNENi4wJTJDJTBBJTIwJTIwJTIwJTIwZXRhJTNEMS4wJTJDJTBBKS5pbWFnZXMlNUIwJTVEJTBBaW1hZ2Uuc2F2ZSglMjJtdWx0aS1zdWJqZWN0LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> huggingface_hub.repocard <span class="hljs-keyword">import</span> RepoCard | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| model_id = <span class="hljs-string">"sayakpaul/custom-diffusion-cat-wooden-pot"</span> | |
| card = RepoCard.load(model_id) | |
| base_model_id = card.data.to_dict()[<span class="hljs-string">"base_model"</span>] | |
| pipe = DiffusionPipeline.from_pretrained(base_model_id, torch_dtype=torch.float16).to(<span class="hljs-string">"cuda"</span>) | |
| pipe.unet.load_attn_procs(model_id, weight_name=<span class="hljs-string">"pytorch_custom_diffusion_weights.bin"</span>) | |
| pipe.load_textual_inversion(model_id, weight_name=<span class="hljs-string">"<new1>.bin"</span>) | |
| pipe.load_textual_inversion(model_id, weight_name=<span class="hljs-string">"<new2>.bin"</span>) | |
| image = pipe( | |
| <span class="hljs-string">"the <new1> cat sculpture in the style of a <new2> wooden pot"</span>, | |
| num_inference_steps=<span class="hljs-number">100</span>, | |
| guidance_scale=<span class="hljs-number">6.0</span>, | |
| eta=<span class="hljs-number">1.0</span>, | |
| ).images[<span class="hljs-number">0</span>] | |
| image.save(<span class="hljs-string">"multi-subject.png"</span>)`,wrap:!1}}),bt=new Zt({props:{title:"실험 결과",local:"실험-결과",headingTag:"h2"}}),ht=new ve({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/ko/training/custom_diffusion.md"}}),{c(){y=i("meta"),It=a(),jt=i("p"),Nt=a(),o(U.$$.fragment),Wt=a(),J=i("p"),J.innerHTML=xl,Xt=a(),d=i("p"),d.innerHTML=Fl,Rt=a(),o(T.$$.fragment),vt=a(),o(b.$$.fragment),Vt=a(),_=i("p"),_.textContent=Bl,Et=a(),h=i("p"),h.innerHTML=Ll,gt=a(),j=i("p"),j.innerHTML=zl,Gt=a(),o(C.$$.fragment),$t=a(),Z=i("p"),Z.innerHTML=Yl,xt=a(),o(I.$$.fragment),Ft=a(),N=i("p"),N.textContent=kl,Bt=a(),o(W.$$.fragment),Lt=a(),X=i("p"),X.innerHTML=Sl,zt=a(),o(R.$$.fragment),Yt=a(),v=i("p"),v.textContent=Ql,kt=a(),o(V.$$.fragment),St=a(),E=i("p"),E.textContent=Al,Qt=a(),o(g.$$.fragment),At=a(),o(G.$$.fragment),Ht=a(),$=i("p"),$.innerHTML=Hl,qt=a(),x=i("p"),x.innerHTML=ql,Dt=a(),o(F.$$.fragment),Pt=a(),B=i("p"),B.innerHTML=Dl,Ot=a(),L=i("p"),L.innerHTML=Pl,Kt=a(),o(z.$$.fragment),tl=a(),Y=i("p"),Y.innerHTML=Ol,ll=a(),k=i("p"),k.innerHTML=Kl,el=a(),S=i("ul"),S.innerHTML=te,sl=a(),o(Q.$$.fragment),al=a(),A=i("p"),A.innerHTML=le,nl=a(),H=i("p"),H.innerHTML=ee,il=a(),q=i("p"),q.textContent=se,pl=a(),D=i("p"),D.innerHTML=ae,Ml=a(),P=i("p"),P.textContent=ne,ol=a(),o(O.$$.fragment),ml=a(),K=i("p"),K.textContent=ie,cl=a(),o(tt.$$.fragment),rl=a(),lt=i("p"),lt.innerHTML=pe,ul=a(),et=i("p"),et.textContent=Me,fl=a(),st=i("p"),st.innerHTML=oe,wl=a(),at=i("p"),at.textContent=me,yl=a(),o(nt.$$.fragment),Ul=a(),it=i("p"),it.textContent=ce,Jl=a(),o(pt.$$.fragment),dl=a(),Mt=i("p"),Mt.textContent=re,Tl=a(),ot=i("p"),ot.textContent=ue,bl=a(),o(mt.$$.fragment),_l=a(),ct=i("p"),ct.textContent=fe,hl=a(),o(rt.$$.fragment),jl=a(),ut=i("p"),ut.textContent=we,Cl=a(),o(ft.$$.fragment),Zl=a(),wt=i("p"),wt.textContent=ye,Il=a(),yt=i("p"),yt.textContent=Ue,Nl=a(),Ut=i("p"),Ut.innerHTML=Je,Wl=a(),Jt=i("p"),Jt.textContent=de,Xl=a(),dt=i("p"),dt.innerHTML=Te,Rl=a(),Tt=i("p"),Tt.innerHTML=be,vl=a(),o(bt.$$.fragment),Vl=a(),_t=i("p"),_t.innerHTML=_e,El=a(),o(ht.$$.fragment),gl=a(),Ct=i("p"),this.h()},l(t){const l=Xe("svelte-u9bgzb",document.head);y=p(l,"META",{name:!0,content:!0}),l.forEach(e),It=n(t),jt=p(t,"P",{}),he(jt).forEach(e),Nt=n(t),m(U.$$.fragment,t),Wt=n(t),J=p(t,"P",{"data-svelte-h":!0}),M(J)!=="svelte-2ebn3g"&&(J.innerHTML=xl),Xt=n(t),d=p(t,"P",{"data-svelte-h":!0}),M(d)!=="svelte-14r9gyk"&&(d.innerHTML=Fl),Rt=n(t),m(T.$$.fragment,t),vt=n(t),m(b.$$.fragment,t),Vt=n(t),_=p(t,"P",{"data-svelte-h":!0}),M(_)!=="svelte-xj6xw"&&(_.textContent=Bl),Et=n(t),h=p(t,"P",{"data-svelte-h":!0}),M(h)!=="svelte-kmsm4y"&&(h.innerHTML=Ll),gt=n(t),j=p(t,"P",{"data-svelte-h":!0}),M(j)!=="svelte-od6hhu"&&(j.innerHTML=zl),Gt=n(t),m(C.$$.fragment,t),$t=n(t),Z=p(t,"P",{"data-svelte-h":!0}),M(Z)!=="svelte-y8wn8i"&&(Z.innerHTML=Yl),xt=n(t),m(I.$$.fragment,t),Ft=n(t),N=p(t,"P",{"data-svelte-h":!0}),M(N)!=="svelte-1vcow5r"&&(N.textContent=kl),Bt=n(t),m(W.$$.fragment,t),Lt=n(t),X=p(t,"P",{"data-svelte-h":!0}),M(X)!=="svelte-1m4i3jt"&&(X.innerHTML=Sl),zt=n(t),m(R.$$.fragment,t),Yt=n(t),v=p(t,"P",{"data-svelte-h":!0}),M(v)!=="svelte-12kxokf"&&(v.textContent=Ql),kt=n(t),m(V.$$.fragment,t),St=n(t),E=p(t,"P",{"data-svelte-h":!0}),M(E)!=="svelte-1094f9w"&&(E.textContent=Al),Qt=n(t),m(g.$$.fragment,t),At=n(t),m(G.$$.fragment,t),Ht=n(t),$=p(t,"P",{"data-svelte-h":!0}),M($)!=="svelte-1hl0glm"&&($.innerHTML=Hl),qt=n(t),x=p(t,"P",{"data-svelte-h":!0}),M(x)!=="svelte-1v0avhc"&&(x.innerHTML=ql),Dt=n(t),m(F.$$.fragment,t),Pt=n(t),B=p(t,"P",{"data-svelte-h":!0}),M(B)!=="svelte-6lkpti"&&(B.innerHTML=Dl),Ot=n(t),L=p(t,"P",{"data-svelte-h":!0}),M(L)!=="svelte-sf3x1d"&&(L.innerHTML=Pl),Kt=n(t),m(z.$$.fragment,t),tl=n(t),Y=p(t,"P",{"data-svelte-h":!0}),M(Y)!=="svelte-cfu7qy"&&(Y.innerHTML=Ol),ll=n(t),k=p(t,"P",{"data-svelte-h":!0}),M(k)!=="svelte-1cdkqys"&&(k.innerHTML=Kl),el=n(t),S=p(t,"UL",{"data-svelte-h":!0}),M(S)!=="svelte-12o1b3w"&&(S.innerHTML=te),sl=n(t),m(Q.$$.fragment,t),al=n(t),A=p(t,"P",{"data-svelte-h":!0}),M(A)!=="svelte-a7kx4s"&&(A.innerHTML=le),nl=n(t),H=p(t,"P",{"data-svelte-h":!0}),M(H)!=="svelte-1jkha3u"&&(H.innerHTML=ee),il=n(t),q=p(t,"P",{"data-svelte-h":!0}),M(q)!=="svelte-u6gu1f"&&(q.textContent=se),pl=n(t),D=p(t,"P",{"data-svelte-h":!0}),M(D)!=="svelte-dvorqa"&&(D.innerHTML=ae),Ml=n(t),P=p(t,"P",{"data-svelte-h":!0}),M(P)!=="svelte-t8ps6z"&&(P.textContent=ne),ol=n(t),m(O.$$.fragment,t),ml=n(t),K=p(t,"P",{"data-svelte-h":!0}),M(K)!=="svelte-1ls580o"&&(K.textContent=ie),cl=n(t),m(tt.$$.fragment,t),rl=n(t),lt=p(t,"P",{"data-svelte-h":!0}),M(lt)!=="svelte-9w5zdp"&&(lt.innerHTML=pe),ul=n(t),et=p(t,"P",{"data-svelte-h":!0}),M(et)!=="svelte-13b46v7"&&(et.textContent=Me),fl=n(t),st=p(t,"P",{"data-svelte-h":!0}),M(st)!=="svelte-x3ps4s"&&(st.innerHTML=oe),wl=n(t),at=p(t,"P",{"data-svelte-h":!0}),M(at)!=="svelte-1baklot"&&(at.textContent=me),yl=n(t),m(nt.$$.fragment,t),Ul=n(t),it=p(t,"P",{"data-svelte-h":!0}),M(it)!=="svelte-1hae69m"&&(it.textContent=ce),Jl=n(t),m(pt.$$.fragment,t),dl=n(t),Mt=p(t,"P",{"data-svelte-h":!0}),M(Mt)!=="svelte-6ophbq"&&(Mt.textContent=re),Tl=n(t),ot=p(t,"P",{"data-svelte-h":!0}),M(ot)!=="svelte-1fnfhx0"&&(ot.textContent=ue),bl=n(t),m(mt.$$.fragment,t),_l=n(t),ct=p(t,"P",{"data-svelte-h":!0}),M(ct)!=="svelte-1kgsue9"&&(ct.textContent=fe),hl=n(t),m(rt.$$.fragment,t),jl=n(t),ut=p(t,"P",{"data-svelte-h":!0}),M(ut)!=="svelte-1rk20g1"&&(ut.textContent=we),Cl=n(t),m(ft.$$.fragment,t),Zl=n(t),wt=p(t,"P",{"data-svelte-h":!0}),M(wt)!=="svelte-d3qkpz"&&(wt.textContent=ye),Il=n(t),yt=p(t,"P",{"data-svelte-h":!0}),M(yt)!=="svelte-1uapciv"&&(yt.textContent=Ue),Nl=n(t),Ut=p(t,"P",{"data-svelte-h":!0}),M(Ut)!=="svelte-1fnklw"&&(Ut.innerHTML=Je),Wl=n(t),Jt=p(t,"P",{"data-svelte-h":!0}),M(Jt)!=="svelte-1wb3jg4"&&(Jt.textContent=de),Xl=n(t),dt=p(t,"P",{"data-svelte-h":!0}),M(dt)!=="svelte-eyi1ip"&&(dt.innerHTML=Te),Rl=n(t),Tt=p(t,"P",{"data-svelte-h":!0}),M(Tt)!=="svelte-1q8lr5q"&&(Tt.innerHTML=be),vl=n(t),m(bt.$$.fragment,t),Vl=n(t),_t=p(t,"P",{"data-svelte-h":!0}),M(_t)!=="svelte-2odux4"&&(_t.innerHTML=_e),El=n(t),m(ht.$$.fragment,t),gl=n(t),Ct=p(t,"P",{}),he(Ct).forEach(e),this.h()},h(){je(y,"name","hf:doc:metadata"),je(y,"content",Ee)},m(t,l){Re(document.head,y),s(t,It,l),s(t,jt,l),s(t,Nt,l),c(U,t,l),s(t,Wt,l),s(t,J,l),s(t,Xt,l),s(t,d,l),s(t,Rt,l),c(T,t,l),s(t,vt,l),c(b,t,l),s(t,Vt,l),s(t,_,l),s(t,Et,l),s(t,h,l),s(t,gt,l),s(t,j,l),s(t,Gt,l),c(C,t,l),s(t,$t,l),s(t,Z,l),s(t,xt,l),c(I,t,l),s(t,Ft,l),s(t,N,l),s(t,Bt,l),c(W,t,l),s(t,Lt,l),s(t,X,l),s(t,zt,l),c(R,t,l),s(t,Yt,l),s(t,v,l),s(t,kt,l),c(V,t,l),s(t,St,l),s(t,E,l),s(t,Qt,l),c(g,t,l),s(t,At,l),c(G,t,l),s(t,Ht,l),s(t,$,l),s(t,qt,l),s(t,x,l),s(t,Dt,l),c(F,t,l),s(t,Pt,l),s(t,B,l),s(t,Ot,l),s(t,L,l),s(t,Kt,l),c(z,t,l),s(t,tl,l),s(t,Y,l),s(t,ll,l),s(t,k,l),s(t,el,l),s(t,S,l),s(t,sl,l),c(Q,t,l),s(t,al,l),s(t,A,l),s(t,nl,l),s(t,H,l),s(t,il,l),s(t,q,l),s(t,pl,l),s(t,D,l),s(t,Ml,l),s(t,P,l),s(t,ol,l),c(O,t,l),s(t,ml,l),s(t,K,l),s(t,cl,l),c(tt,t,l),s(t,rl,l),s(t,lt,l),s(t,ul,l),s(t,et,l),s(t,fl,l),s(t,st,l),s(t,wl,l),s(t,at,l),s(t,yl,l),c(nt,t,l),s(t,Ul,l),s(t,it,l),s(t,Jl,l),c(pt,t,l),s(t,dl,l),s(t,Mt,l),s(t,Tl,l),s(t,ot,l),s(t,bl,l),c(mt,t,l),s(t,_l,l),s(t,ct,l),s(t,hl,l),c(rt,t,l),s(t,jl,l),s(t,ut,l),s(t,Cl,l),c(ft,t,l),s(t,Zl,l),s(t,wt,l),s(t,Il,l),s(t,yt,l),s(t,Nl,l),s(t,Ut,l),s(t,Wl,l),s(t,Jt,l),s(t,Xl,l),s(t,dt,l),s(t,Rl,l),s(t,Tt,l),s(t,vl,l),c(bt,t,l),s(t,Vl,l),s(t,_t,l),s(t,El,l),c(ht,t,l),s(t,gl,l),s(t,Ct,l),Gl=!0},p:Ze,i(t){Gl||(r(U.$$.fragment,t),r(T.$$.fragment,t),r(b.$$.fragment,t),r(C.$$.fragment,t),r(I.$$.fragment,t),r(W.$$.fragment,t),r(R.$$.fragment,t),r(V.$$.fragment,t),r(g.$$.fragment,t),r(G.$$.fragment,t),r(F.$$.fragment,t),r(z.$$.fragment,t),r(Q.$$.fragment,t),r(O.$$.fragment,t),r(tt.$$.fragment,t),r(nt.$$.fragment,t),r(pt.$$.fragment,t),r(mt.$$.fragment,t),r(rt.$$.fragment,t),r(ft.$$.fragment,t),r(bt.$$.fragment,t),r(ht.$$.fragment,t),Gl=!0)},o(t){u(U.$$.fragment,t),u(T.$$.fragment,t),u(b.$$.fragment,t),u(C.$$.fragment,t),u(I.$$.fragment,t),u(W.$$.fragment,t),u(R.$$.fragment,t),u(V.$$.fragment,t),u(g.$$.fragment,t),u(G.$$.fragment,t),u(F.$$.fragment,t),u(z.$$.fragment,t),u(Q.$$.fragment,t),u(O.$$.fragment,t),u(tt.$$.fragment,t),u(nt.$$.fragment,t),u(pt.$$.fragment,t),u(mt.$$.fragment,t),u(rt.$$.fragment,t),u(ft.$$.fragment,t),u(bt.$$.fragment,t),u(ht.$$.fragment,t),Gl=!1},d(t){t&&(e(It),e(jt),e(Nt),e(Wt),e(J),e(Xt),e(d),e(Rt),e(vt),e(Vt),e(_),e(Et),e(h),e(gt),e(j),e(Gt),e($t),e(Z),e(xt),e(Ft),e(N),e(Bt),e(Lt),e(X),e(zt),e(Yt),e(v),e(kt),e(St),e(E),e(Qt),e(At),e(Ht),e($),e(qt),e(x),e(Dt),e(Pt),e(B),e(Ot),e(L),e(Kt),e(tl),e(Y),e(ll),e(k),e(el),e(S),e(sl),e(al),e(A),e(nl),e(H),e(il),e(q),e(pl),e(D),e(Ml),e(P),e(ol),e(ml),e(K),e(cl),e(rl),e(lt),e(ul),e(et),e(fl),e(st),e(wl),e(at),e(yl),e(Ul),e(it),e(Jl),e(dl),e(Mt),e(Tl),e(ot),e(bl),e(_l),e(ct),e(hl),e(jl),e(ut),e(Cl),e(Zl),e(wt),e(Il),e(yt),e(Nl),e(Ut),e(Wl),e(Jt),e(Xl),e(dt),e(Rl),e(Tt),e(vl),e(Vl),e(_t),e(El),e(gl),e(Ct)),e(y),f(U,t),f(T,t),f(b,t),f(C,t),f(I,t),f(W,t),f(R,t),f(V,t),f(g,t),f(G,t),f(F,t),f(z,t),f(Q,t),f(O,t),f(tt,t),f(nt,t),f(pt,t),f(mt,t),f(rt,t),f(ft,t),f(bt,t),f(ht,t)}}}const Ee='{"title":"커스텀 Diffusion 학습 예제","local":"커스텀-diffusion-학습-예제","sections":[{"title":"로컬에서 PyTorch로 실행하기","local":"로컬에서-pytorch로-실행하기","sections":[{"title":"Dependencies 설치하기","local":"dependencies-설치하기","sections":[],"depth":3},{"title":"고양이 예제 😺","local":"고양이-예제-","sections":[],"depth":3}],"depth":2},{"title":"실험 결과","local":"실험-결과","sections":[],"depth":2}],"depth":1}';function ge($l){return Ie(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Be extends Ne{constructor(y){super(),We(this,y,ge,Ve,Ce,{})}}export{Be as component}; | |
Xet Storage Details
- Size:
- 37.4 kB
- Xet hash:
- 9ecf44b3bffed15216e890a7d7506c52c8cef99380916cda00d09972383dc14d
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.