Buckets:

download
raw
27.3 kB
import{s as ke,n as Fe,o as Le}from"../chunks/scheduler.23542ac5.js";import{S as He,i as Ee,e as a,s as i,c as M,h as Ae,a as p,d as l,b as s,f as Se,g as m,j as c,k as ue,l as ze,m as n,n as u,t as r,o as f,p as d}from"../chunks/index.9b1f405b.js";import{C as Pe,H as mt,E as De}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.cf63af7f.js";import{C as o}from"../chunks/CodeBlock.52437304.js";function qe(re){let U,ft,ut,dt,T,ot,J,Ut,_,fe='<a href="https://huggingface.co/papers/2211.09800" rel="nofollow">InstructPix2Pix</a>는 text-conditioned diffusion 모델이 한 이미지에 편집을 따를 수 있도록 파인튜닝하는 방법입니다. 이 방법을 사용하여 파인튜닝된 모델은 다음을 입력으로 사용합니다:',yt,y,de='<img src="https://huggingface.co/datasets/diffusers/docs-images/resolve/main/evaluation_diffusion_models/edit-instruction.png" alt="instructpix2pix-inputs" width="600/"/>',wt,b,oe="출력은 입력 이미지에 편집 지시가 반영된 “수정된” 이미지입니다:",Tt,w,Ue='<img src="https://huggingface.co/datasets/diffusers/docs-images/resolve/main/output-gs%407-igs%401-steps%4050.png" alt="instructpix2pix-output" width="600/"/>',Jt,h,ye='<code>train_instruct_pix2pix.py</code> 스크립트(<a href="https://github.com/huggingface/diffusers/blob/main/examples/instruct_pix2pix/train_instruct_pix2pix.py" rel="nofollow">여기</a>에서 찾을 수 있습니다.)는 학습 절차를 설명하고 Stable Diffusion에 적용할 수 있는 방법을 보여줍니다.',_t,x,we='*** <code>train_instruct_pix2pix.py</code>는 <a href="https://github.com/timothybrooks/instruct-pix2pix" rel="nofollow">원래 구현</a>에 충실하면서 InstructPix2Pix 학습 절차를 구현하고 있지만, <a href="https://huggingface.co/datasets/fusing/instructpix2pix-1000-samples" rel="nofollow">소규모 데이터셋</a>에서만 테스트를 했습니다. 이는 최종 결과에 영향을 끼칠 수 있습니다. 더 나은 결과를 위해, 더 큰 데이터셋에서 더 길게 학습하는 것을 권장합니다. <a href="https://huggingface.co/datasets/timbrooks/instructpix2pix-clip-filtered" rel="nofollow">여기</a>에서 InstructPix2Pix 학습을 위해 큰 데이터셋을 찾을 수 있습니다.',bt,ht,xt,g,gt,W,Wt,Z,Te="이 스크립트를 실행하기 전에, 라이브러리의 학습 종속성을 설치하세요:",Zt,C,Je="<strong>중요</strong>",Ct,j,_e="최신 버전의 예제 스크립트를 성공적으로 실행하기 위해, <strong>원본으로부터 설치</strong>하는 것과 예제 스크립트를 자주 업데이트하고 예제별 요구사항을 설치하기 때문에 최신 상태로 유지하는 것을 권장합니다. 이를 위해, 새로운 가상 환경에서 다음 스텝을 실행하세요:",jt,$,$t,R,be="cd 명령어로 예제 폴더로 이동하세요.",Rt,I,It,X,he="이제 실행하세요.",Xt,v,vt,N,xe='그리고 <a href="https://github.com/huggingface/accelerate/" rel="nofollow">🤗Accelerate</a> 환경에서 초기화하세요:',Nt,Y,Yt,B,ge="혹은 환경에 대한 질문 없이 기본적인 accelerate 구성을 사용하려면 다음을 실행하세요.",Bt,G,Gt,Q,We="혹은 사용 중인 환경이 notebook과 같은 대화형 쉘은 지원하지 않는 경우는 다음 절차를 따라주세요.",Qt,V,Vt,S,St,k,Ze='이전에 언급했듯이, 학습을 위해 <a href="https://huggingface.co/datasets/fusing/instructpix2pix-1000-samples" rel="nofollow">작은 데이터셋</a>을 사용할 것입니다. 그 데이터셋은 InstructPix2Pix 논문에서 사용된 <a href="https://huggingface.co/datasets/timbrooks/instructpix2pix-clip-filtered" rel="nofollow">원래의 데이터셋</a>보다 작은 버전입니다. 자신의 데이터셋을 사용하기 위해, <a href="create_dataset">학습을 위한 데이터셋 만들기</a> 가이드를 참고하세요.',kt,F,Ce='<code>MODEL_NAME</code> 환경 변수(허브 모델 레포지토리 또는 모델 가중치가 포함된 폴더 경로)를 지정하고 <a href="https://huggingface.co/docs/diffusers/en/api/diffusion_pipeline#diffusers.DiffusionPipeline.from_pretrained.pretrained_model_name_or_path" rel="nofollow"><code>pretrained_model_name_or_path</code></a> 인수에 전달합니다. <code>DATASET_ID</code>에 데이터셋 이름을 지정해야 합니다:',Ft,L,Lt,H,je="지금, 학습을 실행할 수 있습니다. 스크립트는 레포지토리의 하위 폴더의 모든 구성요소(<code>feature_extractor</code>, <code>scheduler</code>, <code>text_encoder</code>, <code>unet</code> 등)를 저장합니다.",Ht,E,Et,A,$e="추가적으로, 가중치와 바이어스를 학습 과정에 모니터링하여 검증 추론을 수행하는 것을 지원합니다. <code>report_to=&quot;wandb&quot;</code>와 이 기능을 사용할 수 있습니다:",At,z,zt,P,Re="모델 디버깅에 유용한 이 평가 방법 권장합니다. 이를 사용하기 위해 <code>wandb</code>를 설치하는 것을 주목해주세요. <code>pip install wandb</code>로 실행해 <code>wandb</code>를 설치할 수 있습니다.",Pt,D,Ie='<a href="https://wandb.ai/sayakpaul/instruct-pix2pix/runs/ctr3kovq" rel="nofollow">여기</a>, 몇 가지 평가 방법과 학습 파라미터를 포함하는 예시를 볼 수 있습니다.',Dt,q,Xe="<strong><em>참고: 원본 논문에서, 저자들은 256x256 이미지 해상도로 학습한 모델로 512x512와 같은 더 큰 해상도로 잘 일반화되는 것을 볼 수 있었습니다. 이는 학습에 사용한 큰 데이터셋을 사용했기 때문입니다.</em></strong>",qt,O,Ot,K,ve='<code>accelerate</code>는 원활한 다수의 GPU로 학습을 가능하게 합니다. <code>accelerate</code>로 분산 학습을 실행하는 <a href="https://huggingface.co/docs/accelerate/basic_tutorials/launch" rel="nofollow">여기</a> 설명을 따라 해 주시기 바랍니다. 예시의 명령어 입니다:',Kt,tt,te,et,ee,lt,Ne="일단 학습이 완료되면, 추론 할 수 있습니다:",le,nt,ne,it,Ye='학습 스크립트를 사용해 얻은 예시의 모델 레포지토리는 여기 <a href="https://huggingface.co/sayakpaul/instruct-pix2pix" rel="nofollow">sayakpaul/instruct-pix2pix</a>에서 확인할 수 있습니다.',ie,st,Be="성능을 위한 속도와 품질을 제어하기 위해 세 가지 파라미터를 사용하는 것이 좋습니다:",se,at,Ge="<li><code>num_inference_steps</code></li> <li><code>image_guidance_scale</code></li> <li><code>guidance_scale</code></li>",ae,pt,Qe='특히, <code>image_guidance_scale</code>와 <code>guidance_scale</code>는 생성된(“수정된”) 이미지에서 큰 영향을 미칠 수 있습니다.(<a href="https://twitter.com/RisingSayak/status/1628392199196151808?s=20" rel="nofollow">여기</a>예시를 참고해주세요.)',pe,ct,Ve='만약 InstructPix2Pix 학습 방법을 사용해 몇 가지 흥미로운 방법을 찾고 있다면, 이 블로그 게시물<a href="https://huggingface.co/blog/instruction-tuning-sd" rel="nofollow">Instruction-tuning Stable Diffusion with InstructPix2Pix</a>을 확인해주세요.',ce,Mt,Me,rt,me;return T=new Pe({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),J=new mt({props:{title:"InstructPix2Pix",local:"instructpix2pix",headingTag:"h1"}}),g=new mt({props:{title:"PyTorch로 로컬에서 실행하기",local:"pytorch로-로컬에서-실행하기",headingTag:"h2"}}),W=new mt({props:{title:"종속성(dependencies) 설치하기",local:"종속성dependencies-설치하기",headingTag:"h3"}}),$=new o({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 .`,lang:"bash",wrap:!1}}),I=new o({props:{code:"Y2QlMjBleGFtcGxlcyUyRmluc3RydWN0X3BpeDJwaXg=",highlighted:'<span class="hljs-built_in">cd</span> examples/instruct_pix2pix',lang:"bash",wrap:!1}}),v=new o({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1yJTIwcmVxdWlyZW1lbnRzLnR4dA==",highlighted:"pip install -r requirements.txt",lang:"bash",wrap:!1}}),Y=new o({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZw==",highlighted:"accelerate config",lang:"bash",wrap:!1}}),G=new o({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZyUyMGRlZmF1bHQ=",highlighted:"accelerate config default",lang:"bash",wrap:!1}}),V=new o({props:{code:"ZnJvbSUyMGFjY2VsZXJhdGUudXRpbHMlMjBpbXBvcnQlMjB3cml0ZV9iYXNpY19jb25maWclMEElMEF3cml0ZV9iYXNpY19jb25maWcoKQ==",highlighted:`<span class="hljs-keyword">from</span> accelerate.utils <span class="hljs-keyword">import</span> write_basic_config
write_basic_config()`,lang:"python",wrap:!1}}),S=new mt({props:{title:"예시",local:"예시",headingTag:"h3"}}),L=new o({props:{code:"ZXhwb3J0JTIwTU9ERUxfTkFNRSUzRCUyMnN0YWJsZS1kaWZmdXNpb24tdjEtNSUyRnN0YWJsZS1kaWZmdXNpb24tdjEtNSUyMiUwQWV4cG9ydCUyMERBVEFTRVRfSUQlM0QlMjJmdXNpbmclMkZpbnN0cnVjdHBpeDJwaXgtMTAwMC1zYW1wbGVzJTIy",highlighted:`<span class="hljs-built_in">export</span> MODEL_NAME=<span class="hljs-string">&quot;stable-diffusion-v1-5/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> DATASET_ID=<span class="hljs-string">&quot;fusing/instructpix2pix-1000-samples&quot;</span>`,lang:"bash",wrap:!1}}),E=new o({props:{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEJTIyZnAxNiUyMiUyMHRyYWluX2luc3RydWN0X3BpeDJwaXgucHklMjAlNUMlMEElMjAlMjAlMjAlMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfTkFNRSUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tZGF0YXNldF9uYW1lJTNEJTI0REFUQVNFVF9JRCUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tZW5hYmxlX3hmb3JtZXJzX21lbW9yeV9lZmZpY2llbnRfYXR0ZW50aW9uJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1yZXNvbHV0aW9uJTNEMjU2JTIwLS1yYW5kb21fZmxpcCUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDQlMjAtLWdyYWRpZW50X2FjY3VtdWxhdGlvbl9zdGVwcyUzRDQlMjAtLWdyYWRpZW50X2NoZWNrcG9pbnRpbmclMjAlNUMlMEElMjAlMjAlMjAlMjAtLW1heF90cmFpbl9zdGVwcyUzRDE1MDAwJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1jaGVja3BvaW50aW5nX3N0ZXBzJTNENTAwMCUyMC0tY2hlY2twb2ludHNfdG90YWxfbGltaXQlM0QxJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1sZWFybmluZ19yYXRlJTNENWUtMDUlMjAtLW1heF9ncmFkX25vcm0lM0QxJTIwLS1scl93YXJtdXBfc3RlcHMlM0QwJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1jb25kaXRpb25pbmdfZHJvcG91dF9wcm9iJTNEMC4wNSUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEZnAxNiUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tc2VlZCUzRDQyJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1wdXNoX3RvX2h1Yg==",highlighted:`accelerate launch --mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span> train_instruct_pix2pix.py \\
--pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_NAME</span> \\
--dataset_name=<span class="hljs-variable">$DATASET_ID</span> \\
--enable_xformers_memory_efficient_attention \\
--resolution=256 --random_flip \\
--train_batch_size=4 --gradient_accumulation_steps=4 --gradient_checkpointing \\
--max_train_steps=15000 \\
--checkpointing_steps=5000 --checkpoints_total_limit=1 \\
--learning_rate=5e-05 --max_grad_norm=1 --lr_warmup_steps=0 \\
--conditioning_dropout_prob=0.05 \\
--mixed_precision=fp16 \\
--seed=42 \\
--push_to_hub`,lang:"bash",wrap:!1}}),z=new o({props:{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEJTIyZnAxNiUyMiUyMHRyYWluX2luc3RydWN0X3BpeDJwaXgucHklMjAlNUMlMEElMjAlMjAlMjAlMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfTkFNRSUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tZGF0YXNldF9uYW1lJTNEJTI0REFUQVNFVF9JRCUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tZW5hYmxlX3hmb3JtZXJzX21lbW9yeV9lZmZpY2llbnRfYXR0ZW50aW9uJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1yZXNvbHV0aW9uJTNEMjU2JTIwLS1yYW5kb21fZmxpcCUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDQlMjAtLWdyYWRpZW50X2FjY3VtdWxhdGlvbl9zdGVwcyUzRDQlMjAtLWdyYWRpZW50X2NoZWNrcG9pbnRpbmclMjAlNUMlMEElMjAlMjAlMjAlMjAtLW1heF90cmFpbl9zdGVwcyUzRDE1MDAwJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1jaGVja3BvaW50aW5nX3N0ZXBzJTNENTAwMCUyMC0tY2hlY2twb2ludHNfdG90YWxfbGltaXQlM0QxJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1sZWFybmluZ19yYXRlJTNENWUtMDUlMjAtLW1heF9ncmFkX25vcm0lM0QxJTIwLS1scl93YXJtdXBfc3RlcHMlM0QwJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1jb25kaXRpb25pbmdfZHJvcG91dF9wcm9iJTNEMC4wNSUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEZnAxNiUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tdmFsX2ltYWdlX3VybCUzRCUyMmh0dHBzJTNBJTJGJTJGaGYuY28lMkZkYXRhc2V0cyUyRmRpZmZ1c2VycyUyRmRpZmZ1c2Vycy1pbWFnZXMtZG9jcyUyRnJlc29sdmUlMkZtYWluJTJGbW91bnRhaW4ucG5nJTIyJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS12YWxpZGF0aW9uX3Byb21wdCUzRCUyMm1ha2UlMjB0aGUlMjBtb3VudGFpbnMlMjBzbm93eSUyMiUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tc2VlZCUzRDQyJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1yZXBvcnRfdG8lM0R3YW5kYiUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tcHVzaF90b19odWI=",highlighted:`accelerate launch --mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span> train_instruct_pix2pix.py \\
--pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_NAME</span> \\
--dataset_name=<span class="hljs-variable">$DATASET_ID</span> \\
--enable_xformers_memory_efficient_attention \\
--resolution=256 --random_flip \\
--train_batch_size=4 --gradient_accumulation_steps=4 --gradient_checkpointing \\
--max_train_steps=15000 \\
--checkpointing_steps=5000 --checkpoints_total_limit=1 \\
--learning_rate=5e-05 --max_grad_norm=1 --lr_warmup_steps=0 \\
--conditioning_dropout_prob=0.05 \\
--mixed_precision=fp16 \\
--val_image_url=<span class="hljs-string">&quot;https://hf.co/datasets/diffusers/diffusers-images-docs/resolve/main/mountain.png&quot;</span> \\
--validation_prompt=<span class="hljs-string">&quot;make the mountains snowy&quot;</span> \\
--seed=42 \\
--report_to=wandb \\
--push_to_hub`,lang:"bash",wrap:!1}}),O=new mt({props:{title:"다수의 GPU로 학습하기",local:"다수의-gpu로-학습하기",headingTag:"h2"}}),tt=new o({props:{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEJTIyZnAxNiUyMiUyMC0tbXVsdGlfZ3B1JTIwdHJhaW5faW5zdHJ1Y3RfcGl4MnBpeC5weSUyMCU1QyUwQSUyMC0tcHJldHJhaW5lZF9tb2RlbF9uYW1lX29yX3BhdGglM0RzdGFibGUtZGlmZnVzaW9uLXYxLTUlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjAlNUMlMEElMjAtLWRhdGFzZXRfbmFtZSUzRHNheWFrcGF1bCUyRmluc3RydWN0cGl4MnBpeC0xMDAwLXNhbXBsZXMlMjAlNUMlMEElMjAtLXVzZV9lbWElMjAlNUMlMEElMjAtLWVuYWJsZV94Zm9ybWVyc19tZW1vcnlfZWZmaWNpZW50X2F0dGVudGlvbiUyMCU1QyUwQSUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMC0tcmFuZG9tX2ZsaXAlMjAlNUMlMEElMjAtLXRyYWluX2JhdGNoX3NpemUlM0Q0JTIwLS1ncmFkaWVudF9hY2N1bXVsYXRpb25fc3RlcHMlM0Q0JTIwLS1ncmFkaWVudF9jaGVja3BvaW50aW5nJTIwJTVDJTBBJTIwLS1tYXhfdHJhaW5fc3RlcHMlM0QxNTAwMCUyMCU1QyUwQSUyMC0tY2hlY2twb2ludGluZ19zdGVwcyUzRDUwMDAlMjAtLWNoZWNrcG9pbnRzX3RvdGFsX2xpbWl0JTNEMSUyMCU1QyUwQSUyMC0tbGVhcm5pbmdfcmF0ZSUzRDVlLTA1JTIwLS1scl93YXJtdXBfc3RlcHMlM0QwJTIwJTVDJTBBJTIwLS1jb25kaXRpb25pbmdfZHJvcG91dF9wcm9iJTNEMC4wNSUyMCU1QyUwQSUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEZnAxNiUyMCU1QyUwQSUyMC0tc2VlZCUzRDQyJTIwJTVDJTBBJTIwLS1wdXNoX3RvX2h1Yg==",highlighted:`accelerate launch --mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span> --multi_gpu train_instruct_pix2pix.py \\
--pretrained_model_name_or_path=stable-diffusion-v1-5/stable-diffusion-v1-5 \\
--dataset_name=sayakpaul/instructpix2pix-1000-samples \\
--use_ema \\
--enable_xformers_memory_efficient_attention \\
--resolution=512 --random_flip \\
--train_batch_size=4 --gradient_accumulation_steps=4 --gradient_checkpointing \\
--max_train_steps=15000 \\
--checkpointing_steps=5000 --checkpoints_total_limit=1 \\
--learning_rate=5e-05 --lr_warmup_steps=0 \\
--conditioning_dropout_prob=0.05 \\
--mixed_precision=fp16 \\
--seed=42 \\
--push_to_hub`,lang:"bash",wrap:!1}}),et=new mt({props:{title:"추론하기",local:"추론하기",headingTag:"h2"}}),nt=new o({props:{code:"aW1wb3J0JTIwUElMJTBBaW1wb3J0JTIwcmVxdWVzdHMlMEFpbXBvcnQlMjB0b3JjaCUwQWZyb20lMjBkaWZmdXNlcnMlMjBpbXBvcnQlMjBTdGFibGVEaWZmdXNpb25JbnN0cnVjdFBpeDJQaXhQaXBlbGluZSUwQSUwQW1vZGVsX2lkJTIwJTNEJTIwJTIyeW91cl9tb2RlbF9pZCUyMiUyMCUyMCUyMyUyMCUzQy0lMjAlRUMlOUQlQjQlRUIlQTUlQkMlMjAlRUMlODglOTglRUMlQTAlOTUlRUQlOTUlOTglRUMlODQlQjglRUMlOUElOTQuJTBBcGlwZSUyMCUzRCUyMFN0YWJsZURpZmZ1c2lvbkluc3RydWN0UGl4MlBpeFBpcGVsaW5lLmZyb21fcHJldHJhaW5lZChtb2RlbF9pZCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNikudG8oJTIyY3VkYSUyMiklMEFnZW5lcmF0b3IlMjAlM0QlMjB0b3JjaC5HZW5lcmF0b3IoJTIyY3VkYSUyMikubWFudWFsX3NlZWQoMCklMEElMEF1cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGZGF0YXNldHMlMkZzYXlha3BhdWwlMkZzYW1wbGUtZGF0YXNldHMlMkZyZXNvbHZlJTJGbWFpbiUyRnRlc3RfcGl4MnBpeF80LnBuZyUyMiUwQSUwQSUwQWRlZiUyMGRvd25sb2FkX2ltYWdlKHVybCklM0ElMEElMjAlMjAlMjBpbWFnZSUyMCUzRCUyMFBJTC5JbWFnZS5vcGVuKHJlcXVlc3RzLmdldCh1cmwlMkMlMjBzdHJlYW0lM0RUcnVlKS5yYXcpJTBBJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjBQSUwuSW1hZ2VPcHMuZXhpZl90cmFuc3Bvc2UoaW1hZ2UpJTBBJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjBpbWFnZS5jb252ZXJ0KCUyMlJHQiUyMiklMEElMjAlMjAlMjByZXR1cm4lMjBpbWFnZSUwQSUwQSUwQWltYWdlJTIwJTNEJTIwZG93bmxvYWRfaW1hZ2UodXJsKSUwQXByb21wdCUyMCUzRCUyMCUyMndpcGUlMjBvdXQlMjB0aGUlMjBsYWtlJTIyJTBBbnVtX2luZmVyZW5jZV9zdGVwcyUyMCUzRCUyMDIwJTBBaW1hZ2VfZ3VpZGFuY2Vfc2NhbGUlMjAlM0QlMjAxLjUlMEFndWlkYW5jZV9zY2FsZSUyMCUzRCUyMDEwJTBBJTBBZWRpdGVkX2ltYWdlJTIwJTNEJTIwcGlwZSglMEElMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjBpbWFnZSUzRGltYWdlJTJDJTBBJTIwJTIwJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRG51bV9pbmZlcmVuY2Vfc3RlcHMlMkMlMEElMjAlMjAlMjBpbWFnZV9ndWlkYW5jZV9zY2FsZSUzRGltYWdlX2d1aWRhbmNlX3NjYWxlJTJDJTBBJTIwJTIwJTIwZ3VpZGFuY2Vfc2NhbGUlM0RndWlkYW5jZV9zY2FsZSUyQyUwQSUyMCUyMCUyMGdlbmVyYXRvciUzRGdlbmVyYXRvciUyQyUwQSkuaW1hZ2VzJTVCMCU1RCUwQWVkaXRlZF9pbWFnZS5zYXZlKCUyMmVkaXRlZF9pbWFnZS5wbmclMjIp",highlighted:`<span class="hljs-keyword">import</span> PIL
<span class="hljs-keyword">import</span> requests
<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionInstructPix2PixPipeline
model_id = <span class="hljs-string">&quot;your_model_id&quot;</span> <span class="hljs-comment"># &lt;- 이를 수정하세요.</span>
pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to(<span class="hljs-string">&quot;cuda&quot;</span>)
generator = torch.Generator(<span class="hljs-string">&quot;cuda&quot;</span>).manual_seed(<span class="hljs-number">0</span>)
url = <span class="hljs-string">&quot;https://huggingface.co/datasets/sayakpaul/sample-datasets/resolve/main/test_pix2pix_4.png&quot;</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">download_image</span>(<span class="hljs-params">url</span>):
image = PIL.Image.<span class="hljs-built_in">open</span>(requests.get(url, stream=<span class="hljs-literal">True</span>).raw)
image = PIL.ImageOps.exif_transpose(image)
image = image.convert(<span class="hljs-string">&quot;RGB&quot;</span>)
<span class="hljs-keyword">return</span> image
image = download_image(url)
prompt = <span class="hljs-string">&quot;wipe out the lake&quot;</span>
num_inference_steps = <span class="hljs-number">20</span>
image_guidance_scale = <span class="hljs-number">1.5</span>
guidance_scale = <span class="hljs-number">10</span>
edited_image = pipe(
prompt,
image=image,
num_inference_steps=num_inference_steps,
image_guidance_scale=image_guidance_scale,
guidance_scale=guidance_scale,
generator=generator,
).images[<span class="hljs-number">0</span>]
edited_image.save(<span class="hljs-string">&quot;edited_image.png&quot;</span>)`,lang:"python",wrap:!1}}),Mt=new De({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/ko/training/instructpix2pix.md"}}),{c(){U=a("meta"),ft=i(),ut=a("p"),dt=i(),M(T.$$.fragment),ot=i(),M(J.$$.fragment),Ut=i(),_=a("p"),_.innerHTML=fe,yt=i(),y=a("p"),y.innerHTML=de,wt=i(),b=a("p"),b.textContent=oe,Tt=i(),w=a("p"),w.innerHTML=Ue,Jt=i(),h=a("p"),h.innerHTML=ye,_t=i(),x=a("p"),x.innerHTML=we,bt=i(),ht=a("hr"),xt=i(),M(g.$$.fragment),gt=i(),M(W.$$.fragment),Wt=i(),Z=a("p"),Z.textContent=Te,Zt=i(),C=a("p"),C.innerHTML=Je,Ct=i(),j=a("p"),j.innerHTML=_e,jt=i(),M($.$$.fragment),$t=i(),R=a("p"),R.textContent=be,Rt=i(),M(I.$$.fragment),It=i(),X=a("p"),X.textContent=he,Xt=i(),M(v.$$.fragment),vt=i(),N=a("p"),N.innerHTML=xe,Nt=i(),M(Y.$$.fragment),Yt=i(),B=a("p"),B.textContent=ge,Bt=i(),M(G.$$.fragment),Gt=i(),Q=a("p"),Q.textContent=We,Qt=i(),M(V.$$.fragment),Vt=i(),M(S.$$.fragment),St=i(),k=a("p"),k.innerHTML=Ze,kt=i(),F=a("p"),F.innerHTML=Ce,Ft=i(),M(L.$$.fragment),Lt=i(),H=a("p"),H.innerHTML=je,Ht=i(),M(E.$$.fragment),Et=i(),A=a("p"),A.innerHTML=$e,At=i(),M(z.$$.fragment),zt=i(),P=a("p"),P.innerHTML=Re,Pt=i(),D=a("p"),D.innerHTML=Ie,Dt=i(),q=a("p"),q.innerHTML=Xe,qt=i(),M(O.$$.fragment),Ot=i(),K=a("p"),K.innerHTML=ve,Kt=i(),M(tt.$$.fragment),te=i(),M(et.$$.fragment),ee=i(),lt=a("p"),lt.textContent=Ne,le=i(),M(nt.$$.fragment),ne=i(),it=a("p"),it.innerHTML=Ye,ie=i(),st=a("p"),st.textContent=Be,se=i(),at=a("ul"),at.innerHTML=Ge,ae=i(),pt=a("p"),pt.innerHTML=Qe,pe=i(),ct=a("p"),ct.innerHTML=Ve,ce=i(),M(Mt.$$.fragment),Me=i(),rt=a("p"),this.h()},l(t){const e=Ae("svelte-u9bgzb",document.head);U=p(e,"META",{name:!0,content:!0}),e.forEach(l),ft=s(t),ut=p(t,"P",{}),Se(ut).forEach(l),dt=s(t),m(T.$$.fragment,t),ot=s(t),m(J.$$.fragment,t),Ut=s(t),_=p(t,"P",{"data-svelte-h":!0}),c(_)!=="svelte-thl7hp"&&(_.innerHTML=fe),yt=s(t),y=p(t,"P",{align:!0,"data-svelte-h":!0}),c(y)!=="svelte-boa587"&&(y.innerHTML=de),wt=s(t),b=p(t,"P",{"data-svelte-h":!0}),c(b)!=="svelte-sx3fp4"&&(b.textContent=oe),Tt=s(t),w=p(t,"P",{align:!0,"data-svelte-h":!0}),c(w)!=="svelte-5k7lrs"&&(w.innerHTML=Ue),Jt=s(t),h=p(t,"P",{"data-svelte-h":!0}),c(h)!=="svelte-1e9auo8"&&(h.innerHTML=ye),_t=s(t),x=p(t,"P",{"data-svelte-h":!0}),c(x)!=="svelte-1r4gmj9"&&(x.innerHTML=we),bt=s(t),ht=p(t,"HR",{}),xt=s(t),m(g.$$.fragment,t),gt=s(t),m(W.$$.fragment,t),Wt=s(t),Z=p(t,"P",{"data-svelte-h":!0}),c(Z)!=="svelte-3oxxid"&&(Z.textContent=Te),Zt=s(t),C=p(t,"P",{"data-svelte-h":!0}),c(C)!=="svelte-kmsm4y"&&(C.innerHTML=Je),Ct=s(t),j=p(t,"P",{"data-svelte-h":!0}),c(j)!=="svelte-7udjz2"&&(j.innerHTML=_e),jt=s(t),m($.$$.fragment,t),$t=s(t),R=p(t,"P",{"data-svelte-h":!0}),c(R)!=="svelte-ptf992"&&(R.textContent=be),Rt=s(t),m(I.$$.fragment,t),It=s(t),X=p(t,"P",{"data-svelte-h":!0}),c(X)!=="svelte-1tdja71"&&(X.textContent=he),Xt=s(t),m(v.$$.fragment,t),vt=s(t),N=p(t,"P",{"data-svelte-h":!0}),c(N)!=="svelte-d5vnul"&&(N.innerHTML=xe),Nt=s(t),m(Y.$$.fragment,t),Yt=s(t),B=p(t,"P",{"data-svelte-h":!0}),c(B)!=="svelte-md9hwf"&&(B.textContent=ge),Bt=s(t),m(G.$$.fragment,t),Gt=s(t),Q=p(t,"P",{"data-svelte-h":!0}),c(Q)!=="svelte-g6s7ey"&&(Q.textContent=We),Qt=s(t),m(V.$$.fragment,t),Vt=s(t),m(S.$$.fragment,t),St=s(t),k=p(t,"P",{"data-svelte-h":!0}),c(k)!=="svelte-ninc34"&&(k.innerHTML=Ze),kt=s(t),F=p(t,"P",{"data-svelte-h":!0}),c(F)!=="svelte-1qxsp6v"&&(F.innerHTML=Ce),Ft=s(t),m(L.$$.fragment,t),Lt=s(t),H=p(t,"P",{"data-svelte-h":!0}),c(H)!=="svelte-xbem7q"&&(H.innerHTML=je),Ht=s(t),m(E.$$.fragment,t),Et=s(t),A=p(t,"P",{"data-svelte-h":!0}),c(A)!=="svelte-8a508b"&&(A.innerHTML=$e),At=s(t),m(z.$$.fragment,t),zt=s(t),P=p(t,"P",{"data-svelte-h":!0}),c(P)!=="svelte-159u2wd"&&(P.innerHTML=Re),Pt=s(t),D=p(t,"P",{"data-svelte-h":!0}),c(D)!=="svelte-1hhmng0"&&(D.innerHTML=Ie),Dt=s(t),q=p(t,"P",{"data-svelte-h":!0}),c(q)!=="svelte-onv5fd"&&(q.innerHTML=Xe),qt=s(t),m(O.$$.fragment,t),Ot=s(t),K=p(t,"P",{"data-svelte-h":!0}),c(K)!=="svelte-1kkgxxt"&&(K.innerHTML=ve),Kt=s(t),m(tt.$$.fragment,t),te=s(t),m(et.$$.fragment,t),ee=s(t),lt=p(t,"P",{"data-svelte-h":!0}),c(lt)!=="svelte-1fgn54t"&&(lt.textContent=Ne),le=s(t),m(nt.$$.fragment,t),ne=s(t),it=p(t,"P",{"data-svelte-h":!0}),c(it)!=="svelte-jtxuis"&&(it.innerHTML=Ye),ie=s(t),st=p(t,"P",{"data-svelte-h":!0}),c(st)!=="svelte-r4bxfr"&&(st.textContent=Be),se=s(t),at=p(t,"UL",{"data-svelte-h":!0}),c(at)!=="svelte-1k7xfoe"&&(at.innerHTML=Ge),ae=s(t),pt=p(t,"P",{"data-svelte-h":!0}),c(pt)!=="svelte-1u94kli"&&(pt.innerHTML=Qe),pe=s(t),ct=p(t,"P",{"data-svelte-h":!0}),c(ct)!=="svelte-123fa67"&&(ct.innerHTML=Ve),ce=s(t),m(Mt.$$.fragment,t),Me=s(t),rt=p(t,"P",{}),Se(rt).forEach(l),this.h()},h(){ue(U,"name","hf:doc:metadata"),ue(U,"content",Oe),ue(y,"align","center"),ue(w,"align","center")},m(t,e){ze(document.head,U),n(t,ft,e),n(t,ut,e),n(t,dt,e),u(T,t,e),n(t,ot,e),u(J,t,e),n(t,Ut,e),n(t,_,e),n(t,yt,e),n(t,y,e),n(t,wt,e),n(t,b,e),n(t,Tt,e),n(t,w,e),n(t,Jt,e),n(t,h,e),n(t,_t,e),n(t,x,e),n(t,bt,e),n(t,ht,e),n(t,xt,e),u(g,t,e),n(t,gt,e),u(W,t,e),n(t,Wt,e),n(t,Z,e),n(t,Zt,e),n(t,C,e),n(t,Ct,e),n(t,j,e),n(t,jt,e),u($,t,e),n(t,$t,e),n(t,R,e),n(t,Rt,e),u(I,t,e),n(t,It,e),n(t,X,e),n(t,Xt,e),u(v,t,e),n(t,vt,e),n(t,N,e),n(t,Nt,e),u(Y,t,e),n(t,Yt,e),n(t,B,e),n(t,Bt,e),u(G,t,e),n(t,Gt,e),n(t,Q,e),n(t,Qt,e),u(V,t,e),n(t,Vt,e),u(S,t,e),n(t,St,e),n(t,k,e),n(t,kt,e),n(t,F,e),n(t,Ft,e),u(L,t,e),n(t,Lt,e),n(t,H,e),n(t,Ht,e),u(E,t,e),n(t,Et,e),n(t,A,e),n(t,At,e),u(z,t,e),n(t,zt,e),n(t,P,e),n(t,Pt,e),n(t,D,e),n(t,Dt,e),n(t,q,e),n(t,qt,e),u(O,t,e),n(t,Ot,e),n(t,K,e),n(t,Kt,e),u(tt,t,e),n(t,te,e),u(et,t,e),n(t,ee,e),n(t,lt,e),n(t,le,e),u(nt,t,e),n(t,ne,e),n(t,it,e),n(t,ie,e),n(t,st,e),n(t,se,e),n(t,at,e),n(t,ae,e),n(t,pt,e),n(t,pe,e),n(t,ct,e),n(t,ce,e),u(Mt,t,e),n(t,Me,e),n(t,rt,e),me=!0},p:Fe,i(t){me||(r(T.$$.fragment,t),r(J.$$.fragment,t),r(g.$$.fragment,t),r(W.$$.fragment,t),r($.$$.fragment,t),r(I.$$.fragment,t),r(v.$$.fragment,t),r(Y.$$.fragment,t),r(G.$$.fragment,t),r(V.$$.fragment,t),r(S.$$.fragment,t),r(L.$$.fragment,t),r(E.$$.fragment,t),r(z.$$.fragment,t),r(O.$$.fragment,t),r(tt.$$.fragment,t),r(et.$$.fragment,t),r(nt.$$.fragment,t),r(Mt.$$.fragment,t),me=!0)},o(t){f(T.$$.fragment,t),f(J.$$.fragment,t),f(g.$$.fragment,t),f(W.$$.fragment,t),f($.$$.fragment,t),f(I.$$.fragment,t),f(v.$$.fragment,t),f(Y.$$.fragment,t),f(G.$$.fragment,t),f(V.$$.fragment,t),f(S.$$.fragment,t),f(L.$$.fragment,t),f(E.$$.fragment,t),f(z.$$.fragment,t),f(O.$$.fragment,t),f(tt.$$.fragment,t),f(et.$$.fragment,t),f(nt.$$.fragment,t),f(Mt.$$.fragment,t),me=!1},d(t){t&&(l(ft),l(ut),l(dt),l(ot),l(Ut),l(_),l(yt),l(y),l(wt),l(b),l(Tt),l(w),l(Jt),l(h),l(_t),l(x),l(bt),l(ht),l(xt),l(gt),l(Wt),l(Z),l(Zt),l(C),l(Ct),l(j),l(jt),l($t),l(R),l(Rt),l(It),l(X),l(Xt),l(vt),l(N),l(Nt),l(Yt),l(B),l(Bt),l(Gt),l(Q),l(Qt),l(Vt),l(St),l(k),l(kt),l(F),l(Ft),l(Lt),l(H),l(Ht),l(Et),l(A),l(At),l(zt),l(P),l(Pt),l(D),l(Dt),l(q),l(qt),l(Ot),l(K),l(Kt),l(te),l(ee),l(lt),l(le),l(ne),l(it),l(ie),l(st),l(se),l(at),l(ae),l(pt),l(pe),l(ct),l(ce),l(Me),l(rt)),l(U),d(T,t),d(J,t),d(g,t),d(W,t),d($,t),d(I,t),d(v,t),d(Y,t),d(G,t),d(V,t),d(S,t),d(L,t),d(E,t),d(z,t),d(O,t),d(tt,t),d(et,t),d(nt,t),d(Mt,t)}}}const Oe='{"title":"InstructPix2Pix","local":"instructpix2pix","sections":[{"title":"PyTorch로 로컬에서 실행하기","local":"pytorch로-로컬에서-실행하기","sections":[{"title":"종속성(dependencies) 설치하기","local":"종속성dependencies-설치하기","sections":[],"depth":3},{"title":"예시","local":"예시","sections":[],"depth":3}],"depth":2},{"title":"다수의 GPU로 학습하기","local":"다수의-gpu로-학습하기","sections":[],"depth":2},{"title":"추론하기","local":"추론하기","sections":[],"depth":2}],"depth":1}';function Ke(re){return Le(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class il extends He{constructor(U){super(),Ee(this,U,Ke,qe,ke,{})}}export{il as component};

Xet Storage Details

Size:
27.3 kB
·
Xet hash:
6c207605cf09eb3eceb43ccf4163babe5828aff3e3ad7c8595d4698964dd7228

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.