Buckets:
| import"../chunks/DsnmJJEf.js";import{i as Q,h as j,C as f,H as t,a,E as C,s as m}from"../chunks/CFM6C53a.js";import{p as V,o as _,s as l,f as I,a as y,b as w,c as g,n as k}from"../chunks/CNc7KuUZ.js";const Z='{"title":"학습을 위한 데이터셋 만들기","local":"학습을-위한-데이터셋-만들기","sections":[{"title":"폴더 형태로 데이터셋 구축하기","local":"폴더-형태로-데이터셋-구축하기","sections":[],"depth":2},{"title":"Hub에 데이터 올리기","local":"hub에-데이터-올리기","sections":[],"depth":2},{"title":"다음 단계","local":"다음-단계","sections":[],"depth":2}],"depth":1}';var F=g('<meta name="hf:doc:metadata"/>'),b=g(`<p></p> <!> <!> <p><a href="https://huggingface.co/datasets?task_categories=task_categories:text-to-image&sort=downloads" rel="nofollow">Hub</a> 에는 모델 교육을 위한 많은 데이터셋이 있지만, | |
| 관심이 있거나 사용하고 싶은 데이터셋을 찾을 수 없는 경우 🤗 <a href="https://huggingface.co/docs/datasets" rel="nofollow">Datasets</a> 라이브러리를 사용하여 데이터셋을 만들 수 있습니다. | |
| 데이터셋 구조는 모델을 학습하려는 작업에 따라 달라집니다. | |
| 가장 기본적인 데이터셋 구조는 unconditional 이미지 생성과 같은 작업을 위한 이미지 디렉토리입니다. | |
| 또 다른 데이터셋 구조는 이미지 디렉토리와 text-to-image 생성과 같은 작업에 해당하는 텍스트 캡션이 포함된 텍스트 파일일 수 있습니다.</p> <p>이 가이드에는 파인 튜닝할 데이터셋을 만드는 두 가지 방법을 소개합니다:</p> <ul><li>이미지 폴더를 <code>--train_data_dir</code> 인수에 제공합니다.</li> <li>데이터셋을 Hub에 업로드하고 데이터셋 리포지토리 id를 <code>--dataset_name</code> 인수에 전달합니다.</li></ul> <blockquote class="tip"><p>💡 학습에 사용할 이미지 데이터셋을 만드는 방법에 대한 자세한 내용은 <a href="https://huggingface.co/docs/datasets/image_dataset" rel="nofollow">이미지 데이터셋 만들기</a> 가이드를 참고하세요.</p></blockquote> <!> <p>Unconditional 생성을 위해 이미지 폴더로 자신의 데이터셋을 구축할 수 있습니다. | |
| 학습 스크립트는 🤗 Datasets의 <a href="https://huggingface.co/docs/datasets/en/image_dataset#imagefolder" rel="nofollow">ImageFolder</a> 빌더를 사용하여 | |
| 자동으로 폴더에서 데이터셋을 구축합니다. 디렉토리 구조는 다음과 같아야 합니다 :</p> <!> <p>데이터셋 디렉터리의 경로를 <code>--train_data_dir</code> 인수로 전달한 다음 학습을 시작할 수 있습니다:</p> <!> <!> <blockquote class="tip"><p>💡 데이터셋을 만들고 Hub에 업로드하는 것에 대한 자세한 내용은 <a href="https://huggingface.co/blog/image-search-datasets" rel="nofollow">🤗 Datasets을 사용한 이미지 검색</a> 게시물을 참고하세요.</p></blockquote> <p>PIL 인코딩된 이미지가 포함된 <code>이미지</code> 열을 생성하는 <a href="https://huggingface.co/docs/datasets/image_load#imagefolder" rel="nofollow">이미지 폴더</a> 기능을 사용하여 데이터셋 생성을 시작합니다.</p> <p><code>data_dir</code> 또는 <code>data_files</code> 매개 변수를 사용하여 데이터셋의 위치를 지정할 수 있습니다. <code>data_files</code> 매개변수는 특정 파일을 <code>train</code> 이나 <code>test</code> 로 분리한 데이터셋에 매핑하는 것을 지원합니다:</p> <!> <p>[push_to_hub(<a href="https://huggingface.co/docs/datasets/v2.13.1/en/package_reference/main_classes#datasets.Dataset.push_to_hub" rel="nofollow">https://huggingface.co/docs/datasets/v2.13.1/en/package_reference/main_classes#datasets.Dataset.push_to_hub</a>) 을 사용해서 Hub에 데이터셋을 업로드 합니다:</p> <!> <p>이제 데이터셋 이름을 <code>--dataset_name</code> 인수에 전달하여 데이터셋을 학습에 사용할 수 있습니다:</p> <!> <!> <p>데이터셋을 생성했으니 이제 학습 스크립트의 <code>train_data_dir</code> (데이터셋이 로컬이면) 혹은 <code>dataset_name</code> (Hub에 데이터셋을 올렸으면) 인수에 연결할 수 있습니다.</p> <p>다음 단계에서는 데이터셋을 사용하여 <a href="https://huggingface.co/docs/diffusers/v0.18.2/en/training/unconditional_training" rel="nofollow">unconditional 생성</a> 또는 <a href="https://huggingface.co/docs/diffusers/training/text2image" rel="nofollow">텍스트-이미지 생성</a>을 위한 모델을 학습시켜보세요!</p> <!> <p></p>`,1);function X(T,u){V(u,!1),_(()=>{new URLSearchParams(window.location.search).get("fw")}),Q();var s=b();j("kg0lsn",J=>{var r=F();m(r,"content",Z),y(J,r)});var e=l(I(s),2);f(e,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"});var o=l(e,2);t(o,{title:"학습을 위한 데이터셋 만들기",local:"학습을-위한-데이터셋-만들기",headingTag:"h1"});var n=l(o,10);t(n,{title:"폴더 형태로 데이터셋 구축하기",local:"폴더-형태로-데이터셋-구축하기",headingTag:"h2"});var U=l(n,4);a(U,{code:"ZGF0YV9kaXIlMkZ4eHgucG5nJTBBZGF0YV9kaXIlMkZ4eHkucG5nJTBBZGF0YV9kaXIlMkYlNUIuLi4lNUQlMkZ4eHoucG5n",highlighted:`data_dir/xxx.png | |
| data_dir/xxy.png | |
| data_dir/[...]/xxz.png`,lang:"bash",wrap:!1});var i=l(U,4);a(i,{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX3VuY29uZGl0aW9uYWwucHklMjAlNUMlMEElMjAlMjAlMjAlMjAlMjMlMjBhcmd1bWVudCVFQiVBMSU5QyUyMCVFRCU4RiVCNCVFQiU4RCU5NCUyMCVFQyVBNyU4MCVFQyVBMCU5NSVFRCU5NSU5OCVFQSVCOCVCMCUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tdHJhaW5fZGF0YV9kaXIlMjAlM0NwYXRoLXRvLXRyYWluLWRpcmVjdG9yeSUzRSUyMCU1QyUwQSUyMCUyMCUyMCUyMCUzQ290aGVyLWFyZ3VtZW50cyUzRQ==",highlighted:`accelerate launch train_unconditional.py \\ | |
| <span class="hljs-comment"># argument로 폴더 지정하기 \\</span> | |
| --train_data_dir <path-to-train-directory> \\ | |
| <other-arguments>`,lang:"bash",wrap:!1});var M=l(i,2);t(M,{title:"Hub에 데이터 올리기",local:"hub에-데이터-올리기",headingTag:"h2"});var d=l(M,8);a(d,{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBJTIzJTIwJUVDJTk4JTg4JUVDJThCJTlDJTIwMSUzQSUyMCVFQiVBMSU5QyVFQyVCQiVBQyUyMCVFRCU4RiVCNCVFQiU4RCU5NCUwQWRhdGFzZXQlMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIyaW1hZ2Vmb2xkZXIlMjIlMkMlMjBkYXRhX2RpciUzRCUyMnBhdGhfdG9feW91cl9mb2xkZXIlMjIpJTBBJTBBJTIzJTIwJUVDJTk4JTg4JUVDJThCJTlDJTIwMiUzQSUyMCVFQiVBMSU5QyVFQyVCQiVBQyUyMCVFRCU4QyU4QyVFQyU5RCVCQyUyMCglRUMlQTclODAlRUMlOUIlOTAlMjAlRUQlOEYlQUMlRUIlQTclQjclMjAlM0ElMjB0YXIlMkMlMjBnemlwJTJDJTIwemlwJTJDJTIweHolMkMlMjByYXIlMkMlMjB6c3RkKSUwQWRhdGFzZXQlMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIyaW1hZ2Vmb2xkZXIlMjIlMkMlMjBkYXRhX2ZpbGVzJTNEJTIycGF0aF90b196aXBfZmlsZSUyMiklMEElMEElMjMlMjAlRUMlOTglODglRUMlOEIlOUMlMjAzJTNBJTIwJUVDJTlCJTkwJUVBJUIyJUE5JTIwJUVEJThDJThDJUVDJTlEJUJDJTIwKCVFQyVBNyU4MCVFQyU5QiU5MCUyMCVFRCU4RiVBQyVFQiVBNyVCNyUyMCUzQSUyMHRhciUyQyUyMGd6aXAlMkMlMjB6aXAlMkMlMjB4eiUyQyUyMHJhciUyQyUyMHpzdGQpJTBBZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMEElMjAlMjAlMjAlMjAlMjJpbWFnZWZvbGRlciUyMiUyQyUwQSUyMCUyMCUyMCUyMGRhdGFfZmlsZXMlM0QlMjJodHRwcyUzQSUyRiUyRmRvd25sb2FkLm1pY3Jvc29mdC5jb20lMkZkb3dubG9hZCUyRjMlMkZFJTJGMSUyRjNFMUMzRjIxLUVDREItNDg2OS04MzY4LTZERUJBNzdCOTE5RiUyRmthZ2dsZWNhdHNhbmRkb2dzXzMzNjdhLnppcCUyMiUyQyUwQSklMEElMEElMjMlMjAlRUMlOTglODglRUMlOEIlOUMlMjA0JTNBJTIwJUVDJTk3JUFDJUVCJTlGJUFDJUVBJUIwJTlDJUVCJUExJTlDJTIwJUVCJUI2JTg0JUVEJTk1JUEwJTBBZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMEElMjAlMjAlMjAlMjAlMjJpbWFnZWZvbGRlciUyMiUyQyUyMGRhdGFfZmlsZXMlM0QlN0IlMjJ0cmFpbiUyMiUzQSUyMCU1QiUyMnBhdGglMkZ0byUyRmZpbGUxJTIyJTJDJTIwJTIycGF0aCUyRnRvJTJGZmlsZTIlMjIlNUQlMkMlMjAlMjJ0ZXN0JTIyJTNBJTIwJTVCJTIycGF0aCUyRnRvJTJGZmlsZTMlMjIlMkMlMjAlMjJwYXRoJTJGdG8lMkZmaWxlNCUyMiU1RCU3RCUwQSk=",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset | |
| <span class="hljs-comment"># 예시 1: 로컬 폴더</span> | |
| dataset = load_dataset(<span class="hljs-string">"imagefolder"</span>, data_dir=<span class="hljs-string">"path_to_your_folder"</span>) | |
| <span class="hljs-comment"># 예시 2: 로컬 파일 (지원 포맷 : tar, gzip, zip, xz, rar, zstd)</span> | |
| dataset = load_dataset(<span class="hljs-string">"imagefolder"</span>, data_files=<span class="hljs-string">"path_to_zip_file"</span>) | |
| <span class="hljs-comment"># 예시 3: 원격 파일 (지원 포맷 : tar, gzip, zip, xz, rar, zstd)</span> | |
| dataset = load_dataset( | |
| <span class="hljs-string">"imagefolder"</span>, | |
| data_files=<span class="hljs-string">"https://download.microsoft.com/download/3/E/1/3E1C3F21-ECDB-4869-8368-6DEBA77B919F/kagglecatsanddogs_3367a.zip"</span>, | |
| ) | |
| <span class="hljs-comment"># 예시 4: 여러개로 분할</span> | |
| dataset = load_dataset( | |
| <span class="hljs-string">"imagefolder"</span>, data_files={<span class="hljs-string">"train"</span>: [<span class="hljs-string">"path/to/file1"</span>, <span class="hljs-string">"path/to/file2"</span>], <span class="hljs-string">"test"</span>: [<span class="hljs-string">"path/to/file3"</span>, <span class="hljs-string">"path/to/file4"</span>]} | |
| )`,lang:"python",wrap:!1});var c=l(d,4);a(c,{code:"JTIzJTIwJUVEJTg0JUIwJUVCJUFGJUI4JUVCJTg0JTkwJUVDJTk3JTkwJUVDJTg0JTlDJTIwaGYlMjBhdXRoJTIwbG9naW4lMjAlRUMlQkIlQTQlRUIlQTclQTglRUIlOTMlOUMlRUIlQTUlQkMlMjAlRUMlOUQlQjQlRUIlQUYlQjglMjAlRUMlOEIlQTQlRUQlOTYlODklRUQlOTYlODglRUIlOEIlQTQlRUElQjMlQTAlMjAlRUElQjAlODAlRUMlQTAlOTUlRUQlOTUlQTklRUIlOEIlODglRUIlOEIlQTQlMEFkYXRhc2V0LnB1c2hfdG9faHViKCUyMm5hbWVfb2ZfeW91cl9kYXRhc2V0JTIyKSUwQSUwQSUyMyUyMCVFQSVCMCU5QyVFQyU5RCVCOCUyMHJlcG8lRUIlQTElOUMlMjBwdXNoJTIwJUVEJTk1JTk4JUVBJUIzJUEwJTIwJUVDJThCJUI2JUVCJThCJUE0JUVCJUE5JUI0JTJDJTIwJTYwcHJpdmF0ZSUzRFRydWUlNjAlMjAlRUMlOUQlODQlMjAlRUMlQjYlOTQlRUElQjAlODAlRUQlOTUlOTglRUMlODQlQjglRUMlOUElOTQlM0ElMEFkYXRhc2V0LnB1c2hfdG9faHViKCUyMm5hbWVfb2ZfeW91cl9kYXRhc2V0JTIyJTJDJTIwcHJpdmF0ZSUzRFRydWUp",highlighted:`<span class="hljs-comment"># 터미널에서 hf auth login 커맨드를 이미 실행했다고 가정합니다</span> | |
| dataset.push_to_hub(<span class="hljs-string">"name_of_your_dataset"</span>) | |
| <span class="hljs-comment"># 개인 repo로 push 하고 싶다면, \`private=True\` 을 추가하세요:</span> | |
| dataset.push_to_hub(<span class="hljs-string">"name_of_your_dataset"</span>, private=<span class="hljs-literal">True</span>)`,lang:"python",wrap:!1});var p=l(c,4);a(p,{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEJTIyZnAxNiUyMiUyMCUyMHRyYWluX3RleHRfdG9faW1hZ2UucHklMjAlNUMlMEElMjAlMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTIyc3RhYmxlLWRpZmZ1c2lvbi12MS01JTJGc3RhYmxlLWRpZmZ1c2lvbi12MS01JTIyJTIwJTVDJTBBJTIwJTIwLS1kYXRhc2V0X25hbWUlM0QlMjJuYW1lX29mX3lvdXJfZGF0YXNldCUyMiUyMCU1QyUwQSUyMCUyMCUzQ290aGVyLWFyZ3VtZW50cyUzRQ==",highlighted:`accelerate launch --mixed_precision=<span class="hljs-string">"fp16"</span> train_text_to_image.py \\ | |
| --pretrained_model_name_or_path=<span class="hljs-string">"stable-diffusion-v1-5/stable-diffusion-v1-5"</span> \\ | |
| --dataset_name=<span class="hljs-string">"name_of_your_dataset"</span> \\ | |
| <other-arguments>`,lang:"bash",wrap:!1});var h=l(p,2);t(h,{title:"다음 단계",local:"다음-단계",headingTag:"h2"});var R=l(h,6);C(R,{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/ko/training/create_dataset.md"}),k(2),y(T,s),w()}export{X as component}; | |
Xet Storage Details
- Size:
- 11.6 kB
- Xet hash:
- bad40bfece208861560b67d85b10b25d3a37792233f5528a09b3dca418bf8a97
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.