Buckets:
| import{s as sl,o as tl,n as al}from"../chunks/scheduler.94020406.js";import{S as nl,i as pl,g as p,s as a,r as c,E as il,h as i,f as s,c as n,j as ll,u as r,x as o,k as ee,y as ol,a as t,v as M,d as u,t as d,w as f}from"../chunks/index.a08c8d92.js";import{T as ml}from"../chunks/Tip.3b0aeee8.js";import{C as y}from"../chunks/CodeBlock.b23cf525.js";import{D as cl}from"../chunks/DocNotebookDropdown.d8a25975.js";import{H as Qe,E as rl}from"../chunks/EditOnGithub.b1bceb47.js";function Ml(le){let m,T="선택적으로 <code>export_to_obj()</code> 함수를 사용하여 메시 출력을 <code>obj</code> 파일로 저장할 수 있습니다. 다양한 형식으로 메시 출력을 저장할 수 있어 다운스트림에서 더욱 유연하게 사용할 수 있습니다!";return{c(){m=p("p"),m.innerHTML=T},l(h){m=i(h,"P",{"data-svelte-h":!0}),o(m)!=="svelte-1t83wc3"&&(m.innerHTML=T)},m(h,O){t(h,m,O)},p:al,d(h){h&&s(m)}}}function ul(le){let m,T,h,O,w,se,j,te,Z,Ee="Shap-E는 비디오 게임 개발, 인테리어 디자인, 건축에 사용할 수 있는 3D 에셋을 생성하기 위한 conditional 모델입니다. 대규모 3D 에셋 데이터셋을 학습되었고, 각 오브젝트의 더 많은 뷰를 렌더링하고 4K point cloud 대신 16K를 생성하도록 후처리합니다. Shap-E 모델은 두 단계로 학습됩니다:",ae,I,xe="<li>인코더가 3D 에셋의 포인트 클라우드와 렌더링된 뷰를 받아들이고 에셋을 나타내는 implicit functions의 파라미터를 출력합니다.</li> <li>인코더가 생성한 latents를 바탕으로 diffusion 모델을 훈련하여 neural radiance fields(NeRF) 또는 textured 3D 메시를 생성하여 다운스트림 애플리케이션에서 3D 에셋을 더 쉽게 렌더링하고 사용할 수 있도록 합니다.</li>",ne,$,Xe="이 가이드에서는 Shap-E를 사용하여 나만의 3D 에셋을 생성하는 방법을 보입니다!",pe,_,Se="시작하기 전에 다음 라이브러리가 설치되어 있는지 확인하세요:",ie,W,oe,C,me,k,Ne="3D 객체의 gif를 생성하려면 텍스트 프롬프트를 <code>ShapEPipeline</code>에 전달합니다. 파이프라인은 3D 객체를 생성하는 데 사용되는 이미지 프레임 리스트를 생성합니다.",ce,G,re,B,Ve="이제 <code>export_to_gif()</code> 함수를 사용하여 이미지 프레임 리스트를 3D 객체의 gif로 변환합니다.",Me,v,ue,g,qe='<div><img class="rounded-xl" src="https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/shap_e/firecracker_out.gif"/> <figcaption class="mt-2 text-center text-sm text-gray-500">prompt = "A firecracker"</figcaption></div> <div><img class="rounded-xl" src="https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/shap_e/cake_out.gif"/> <figcaption class="mt-2 text-center text-sm text-gray-500">prompt = "A birthday cupcake"</figcaption></div>',de,R,fe,Q,Ye='다른 이미지로부터 3D 개체를 생성하려면 <code>ShapEImg2ImgPipeline</code>을 사용합니다. 기존 이미지를 사용하거나 완전히 새로운 이미지를 생성할 수 있습니다. <a href="../api/pipelines/kandinsky">Kandinsky 2.1</a> 모델을 사용하여 새 이미지를 생성해 보겠습니다.',he,E,ye,x,ze="치즈버거를 <code>ShapEImg2ImgPipeline</code>에 전달하여 3D representation을 생성합니다.",ge,X,Je,J,He='<div><img class="rounded-xl" src="https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/shap_e/burger_in.png"/> <figcaption class="mt-2 text-center text-sm text-gray-500">cheeseburger</figcaption></div> <div><img class="rounded-xl" src="https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/shap_e/burger_out.gif"/> <figcaption class="mt-2 text-center text-sm text-gray-500">3D cheeseburger</figcaption></div>',Ue,S,be,N,Fe='Shap-E는 다운스트림 애플리케이션에 렌더링할 textured 메시 출력을 생성할 수도 있는 유연한 모델입니다. 이 예제에서는 🤗 Datasets 라이브러리에서 <a href="https://huggingface.co/docs/hub/datasets-viewer#dataset-preview" rel="nofollow">Dataset viewer</a>를 사용해 메시 시각화를 지원하는 <code>glb</code> 파일로 변환합니다.',Te,V,De="<code>output_type</code> 매개변수를 <code>"mesh"</code>로 지정함으로써 <code>ShapEPipeline</code>과 <code>ShapEImg2ImgPipeline</code> 모두에 대한 메시 출력을 생성할 수 있습니다:",we,q,je,Y,Le="메시 출력을 <code>ply</code> 파일로 저장하려면 <code>export_to_ply()</code> 함수를 사용합니다:",Ze,U,Ie,z,$e,H,Ae="그 다음 trimesh 라이브러리를 사용하여 <code>ply</code> 파일을 <code>glb</code> 파일로 변환할 수 있습니다:",_e,F,We,D,Pe="기본적으로 메시 출력은 아래쪽 시점에 초점이 맞춰져 있지만 회전 변환을 적용하여 기본 시점을 변경할 수 있습니다:",Ce,L,ke,A,Oe="메시 파일을 데이터셋 레포지토리에 업로드해 Dataset viewer로 시각화하세요!",Ge,b,Ke='<img class="rounded-xl" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/3D-cake.gif"/>',Be,P,ve,K,Re;return w=new Qe({props:{title:"Shap-E",local:"shap-e",headingTag:"h1"}}),j=new cl({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/ko/shap-e.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/ko/pytorch/shap-e.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/ko/tensorflow/shap-e.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/ko/shap-e.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/ko/pytorch/shap-e.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/ko/tensorflow/shap-e.ipynb"}]}}),W=new y({props:{code:"JTIzJTIwQ29sYWIlRUMlOTclOTAlRUMlODQlOUMlMjAlRUQlOTUlODQlRUMlOUElOTQlRUQlOTUlOUMlMjAlRUIlOUQlQkMlRUMlOUQlQjQlRUIlQjglOEMlRUIlOUYlQUMlRUIlQTYlQUMlRUIlQTUlQkMlMjAlRUMlODQlQTQlRUMlQjklOTglRUQlOTUlOTglRUElQjglQjAlMjAlRUMlOUMlODQlRUQlOTUlQjQlMjAlRUMlQTMlQkMlRUMlODQlOUQlRUMlOUQlODQlMjAlRUMlQTAlOUMlRUMlOTklQjglRUQlOTUlOTglRUMlODQlQjglRUMlOUElOTQlMEElMjMhcGlwJTIwaW5zdGFsbCUyMC1xJTIwZGlmZnVzZXJzJTIwdHJhbnNmb3JtZXJzJTIwYWNjZWxlcmF0ZSUyMHRyaW1lc2g=",highlighted:`<span class="hljs-comment"># Colab에서 필요한 라이브러리를 설치하기 위해 주석을 제외하세요</span> | |
| <span class="hljs-comment">#!pip install -q diffusers transformers accelerate trimesh</span>`,wrap:!1}}),C=new Qe({props:{title:"Text-to-3D",local:"text-to-3d",headingTag:"h2"}}),G=new y({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwU2hhcEVQaXBlbGluZSUwQSUwQWRldmljZSUyMCUzRCUyMHRvcmNoLmRldmljZSglMjJjdWRhJTIyJTIwaWYlMjB0b3JjaC5jdWRhLmlzX2F2YWlsYWJsZSgpJTIwZWxzZSUyMCUyMmNwdSUyMiklMEElMEFwaXBlJTIwJTNEJTIwU2hhcEVQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyb3BlbmFpJTJGc2hhcC1lJTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2JTJDJTIwdmFyaWFudCUzRCUyMmZwMTYlMjIpJTBBcGlwZSUyMCUzRCUyMHBpcGUudG8oZGV2aWNlKSUwQSUwQWd1aWRhbmNlX3NjYWxlJTIwJTNEJTIwMTUuMCUwQXByb21wdCUyMCUzRCUyMCU1QiUyMkElMjBmaXJlY3JhY2tlciUyMiUyQyUyMCUyMkElMjBiaXJ0aGRheSUyMGN1cGNha2UlMjIlNUQlMEElMEFpbWFnZXMlMjAlM0QlMjBwaXBlKCUwQSUyMCUyMCUyMCUyMHByb21wdCUyQyUwQSUyMCUyMCUyMCUyMGd1aWRhbmNlX3NjYWxlJTNEZ3VpZGFuY2Vfc2NhbGUlMkMlMEElMjAlMjAlMjAlMjBudW1faW5mZXJlbmNlX3N0ZXBzJTNENjQlMkMlMEElMjAlMjAlMjAlMjBmcmFtZV9zaXplJTNEMjU2JTJDJTBBKS5pbWFnZXM=",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ShapEPipeline | |
| device = torch.device(<span class="hljs-string">"cuda"</span> <span class="hljs-keyword">if</span> torch.cuda.is_available() <span class="hljs-keyword">else</span> <span class="hljs-string">"cpu"</span>) | |
| pipe = ShapEPipeline.from_pretrained(<span class="hljs-string">"openai/shap-e"</span>, torch_dtype=torch.float16, variant=<span class="hljs-string">"fp16"</span>) | |
| pipe = pipe.to(device) | |
| guidance_scale = <span class="hljs-number">15.0</span> | |
| prompt = [<span class="hljs-string">"A firecracker"</span>, <span class="hljs-string">"A birthday cupcake"</span>] | |
| images = pipe( | |
| prompt, | |
| guidance_scale=guidance_scale, | |
| num_inference_steps=<span class="hljs-number">64</span>, | |
| frame_size=<span class="hljs-number">256</span>, | |
| ).images`,wrap:!1}}),v=new y({props:{code:"ZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGV4cG9ydF90b19naWYlMEElMEFleHBvcnRfdG9fZ2lmKGltYWdlcyU1QjAlNUQlMkMlMjAlMjJmaXJlY3JhY2tlcl8zZC5naWYlMjIpJTBBZXhwb3J0X3RvX2dpZihpbWFnZXMlNUIxJTVEJTJDJTIwJTIyY2FrZV8zZC5naWYlMjIp",highlighted:`<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> export_to_gif | |
| export_to_gif(images[<span class="hljs-number">0</span>], <span class="hljs-string">"firecracker_3d.gif"</span>) | |
| export_to_gif(images[<span class="hljs-number">1</span>], <span class="hljs-string">"cake_3d.gif"</span>)`,wrap:!1}}),R=new Qe({props:{title:"Image-to-3D",local:"image-to-3d",headingTag:"h2"}}),E=new y({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBaW1wb3J0JTIwdG9yY2glMEElMEFwcmlvcl9waXBlbGluZSUyMCUzRCUyMERpZmZ1c2lvblBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMjJrYW5kaW5za3ktY29tbXVuaXR5JTJGa2FuZGluc2t5LTItMS1wcmlvciUyMiUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUyMHVzZV9zYWZldGVuc29ycyUzRFRydWUpLnRvKCUyMmN1ZGElMjIpJTBBcGlwZWxpbmUlMjAlM0QlMjBEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIya2FuZGluc2t5LWNvbW11bml0eSUyRmthbmRpbnNreS0yLTElMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKS50byglMjJjdWRhJTIyKSUwQSUwQXByb21wdCUyMCUzRCUyMCUyMkElMjBjaGVlc2VidXJnZXIlMkMlMjB3aGl0ZSUyMGJhY2tncm91bmQlMjIlMEElMEFpbWFnZV9lbWJlZHMlMkMlMjBuZWdhdGl2ZV9pbWFnZV9lbWJlZHMlMjAlM0QlMjBwcmlvcl9waXBlbGluZShwcm9tcHQlMkMlMjBndWlkYW5jZV9zY2FsZSUzRDEuMCkudG9fdHVwbGUoKSUwQWltYWdlJTIwJTNEJTIwcGlwZWxpbmUoJTBBJTIwJTIwJTIwJTIwcHJvbXB0JTJDJTBBJTIwJTIwJTIwJTIwaW1hZ2VfZW1iZWRzJTNEaW1hZ2VfZW1iZWRzJTJDJTBBJTIwJTIwJTIwJTIwbmVnYXRpdmVfaW1hZ2VfZW1iZWRzJTNEbmVnYXRpdmVfaW1hZ2VfZW1iZWRzJTJDJTBBKS5pbWFnZXMlNUIwJTVEJTBBJTBBaW1hZ2Uuc2F2ZSglMjJidXJnZXIucG5nJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| <span class="hljs-keyword">import</span> torch | |
| prior_pipeline = DiffusionPipeline.from_pretrained(<span class="hljs-string">"kandinsky-community/kandinsky-2-1-prior"</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>).to(<span class="hljs-string">"cuda"</span>) | |
| pipeline = DiffusionPipeline.from_pretrained(<span class="hljs-string">"kandinsky-community/kandinsky-2-1"</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>).to(<span class="hljs-string">"cuda"</span>) | |
| prompt = <span class="hljs-string">"A cheeseburger, white background"</span> | |
| image_embeds, negative_image_embeds = prior_pipeline(prompt, guidance_scale=<span class="hljs-number">1.0</span>).to_tuple() | |
| image = pipeline( | |
| prompt, | |
| image_embeds=image_embeds, | |
| negative_image_embeds=negative_image_embeds, | |
| ).images[<span class="hljs-number">0</span>] | |
| image.save(<span class="hljs-string">"burger.png"</span>)`,wrap:!1}}),X=new y({props:{code:"ZnJvbSUyMFBJTCUyMGltcG9ydCUyMEltYWdlJTBBZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFNoYXBFSW1nMkltZ1BpcGVsaW5lJTBBZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGV4cG9ydF90b19naWYlMEElMEFwaXBlJTIwJTNEJTIwU2hhcEVJbWcySW1nUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMm9wZW5haSUyRnNoYXAtZS1pbWcyaW1nJTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2JTJDJTIwdmFyaWFudCUzRCUyMmZwMTYlMjIpLnRvKCUyMmN1ZGElMjIpJTBBJTBBZ3VpZGFuY2Vfc2NhbGUlMjAlM0QlMjAzLjAlMEFpbWFnZSUyMCUzRCUyMEltYWdlLm9wZW4oJTIyYnVyZ2VyLnBuZyUyMikucmVzaXplKCgyNTYlMkMlMjAyNTYpKSUwQSUwQWltYWdlcyUyMCUzRCUyMHBpcGUoJTBBJTIwJTIwJTIwJTIwaW1hZ2UlMkMlMEElMjAlMjAlMjAlMjBndWlkYW5jZV9zY2FsZSUzRGd1aWRhbmNlX3NjYWxlJTJDJTBBJTIwJTIwJTIwJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRDY0JTJDJTBBJTIwJTIwJTIwJTIwZnJhbWVfc2l6ZSUzRDI1NiUyQyUwQSkuaW1hZ2VzJTBBJTBBZ2lmX3BhdGglMjAlM0QlMjBleHBvcnRfdG9fZ2lmKGltYWdlcyU1QjAlNUQlMkMlMjAlMjJidXJnZXJfM2QuZ2lmJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ShapEImg2ImgPipeline | |
| <span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> export_to_gif | |
| pipe = ShapEImg2ImgPipeline.from_pretrained(<span class="hljs-string">"openai/shap-e-img2img"</span>, torch_dtype=torch.float16, variant=<span class="hljs-string">"fp16"</span>).to(<span class="hljs-string">"cuda"</span>) | |
| guidance_scale = <span class="hljs-number">3.0</span> | |
| image = Image.<span class="hljs-built_in">open</span>(<span class="hljs-string">"burger.png"</span>).resize((<span class="hljs-number">256</span>, <span class="hljs-number">256</span>)) | |
| images = pipe( | |
| image, | |
| guidance_scale=guidance_scale, | |
| num_inference_steps=<span class="hljs-number">64</span>, | |
| frame_size=<span class="hljs-number">256</span>, | |
| ).images | |
| gif_path = export_to_gif(images[<span class="hljs-number">0</span>], <span class="hljs-string">"burger_3d.gif"</span>)`,wrap:!1}}),S=new Qe({props:{title:"메시 생성하기",local:"메시-생성하기",headingTag:"h2"}}),q=new y({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwU2hhcEVQaXBlbGluZSUwQSUwQWRldmljZSUyMCUzRCUyMHRvcmNoLmRldmljZSglMjJjdWRhJTIyJTIwaWYlMjB0b3JjaC5jdWRhLmlzX2F2YWlsYWJsZSgpJTIwZWxzZSUyMCUyMmNwdSUyMiklMEElMEFwaXBlJTIwJTNEJTIwU2hhcEVQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyb3BlbmFpJTJGc2hhcC1lJTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2JTJDJTIwdmFyaWFudCUzRCUyMmZwMTYlMjIpJTBBcGlwZSUyMCUzRCUyMHBpcGUudG8oZGV2aWNlKSUwQSUwQWd1aWRhbmNlX3NjYWxlJTIwJTNEJTIwMTUuMCUwQXByb21wdCUyMCUzRCUyMCUyMkElMjBiaXJ0aGRheSUyMGN1cGNha2UlMjIlMEElMEFpbWFnZXMlMjAlM0QlMjBwaXBlKHByb21wdCUyQyUyMGd1aWRhbmNlX3NjYWxlJTNEZ3VpZGFuY2Vfc2NhbGUlMkMlMjBudW1faW5mZXJlbmNlX3N0ZXBzJTNENjQlMkMlMjBmcmFtZV9zaXplJTNEMjU2JTJDJTIwb3V0cHV0X3R5cGUlM0QlMjJtZXNoJTIyKS5pbWFnZXM=",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ShapEPipeline | |
| device = torch.device(<span class="hljs-string">"cuda"</span> <span class="hljs-keyword">if</span> torch.cuda.is_available() <span class="hljs-keyword">else</span> <span class="hljs-string">"cpu"</span>) | |
| pipe = ShapEPipeline.from_pretrained(<span class="hljs-string">"openai/shap-e"</span>, torch_dtype=torch.float16, variant=<span class="hljs-string">"fp16"</span>) | |
| pipe = pipe.to(device) | |
| guidance_scale = <span class="hljs-number">15.0</span> | |
| prompt = <span class="hljs-string">"A birthday cupcake"</span> | |
| images = pipe(prompt, guidance_scale=guidance_scale, num_inference_steps=<span class="hljs-number">64</span>, frame_size=<span class="hljs-number">256</span>, output_type=<span class="hljs-string">"mesh"</span>).images`,wrap:!1}}),U=new ml({props:{$$slots:{default:[Ml]},$$scope:{ctx:le}}}),z=new y({props:{code:"ZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGV4cG9ydF90b19wbHklMEElMEFwbHlfcGF0aCUyMCUzRCUyMGV4cG9ydF90b19wbHkoaW1hZ2VzJTVCMCU1RCUyQyUyMCUyMjNkX2Nha2UucGx5JTIyKSUwQXByaW50KGYlMjJTYXZlZCUyMHRvJTIwZm9sZGVyJTNBJTIwJTdCcGx5X3BhdGglN0QlMjIp",highlighted:`<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> export_to_ply | |
| ply_path = export_to_ply(images[<span class="hljs-number">0</span>], <span class="hljs-string">"3d_cake.ply"</span>) | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f"Saved to folder: <span class="hljs-subst">{ply_path}</span>"</span>)`,wrap:!1}}),F=new y({props:{code:"aW1wb3J0JTIwdHJpbWVzaCUwQSUwQW1lc2glMjAlM0QlMjB0cmltZXNoLmxvYWQoJTIyM2RfY2FrZS5wbHklMjIpJTBBbWVzaF9leHBvcnQlMjAlM0QlMjBtZXNoLmV4cG9ydCglMjIzZF9jYWtlLmdsYiUyMiUyQyUyMGZpbGVfdHlwZSUzRCUyMmdsYiUyMik=",highlighted:`<span class="hljs-keyword">import</span> trimesh | |
| mesh = trimesh.load(<span class="hljs-string">"3d_cake.ply"</span>) | |
| mesh_export = mesh.export(<span class="hljs-string">"3d_cake.glb"</span>, file_type=<span class="hljs-string">"glb"</span>)`,wrap:!1}}),L=new y({props:{code:"aW1wb3J0JTIwdHJpbWVzaCUwQWltcG9ydCUyMG51bXB5JTIwYXMlMjBucCUwQSUwQW1lc2glMjAlM0QlMjB0cmltZXNoLmxvYWQoJTIyM2RfY2FrZS5wbHklMjIpJTBBcm90JTIwJTNEJTIwdHJpbWVzaC50cmFuc2Zvcm1hdGlvbnMucm90YXRpb25fbWF0cml4KC1ucC5waSUyMCUyRiUyMDIlMkMlMjAlNUIxJTJDJTIwMCUyQyUyMDAlNUQpJTBBbWVzaCUyMCUzRCUyMG1lc2guYXBwbHlfdHJhbnNmb3JtKHJvdCklMEFtZXNoX2V4cG9ydCUyMCUzRCUyMG1lc2guZXhwb3J0KCUyMjNkX2Nha2UuZ2xiJTIyJTJDJTIwZmlsZV90eXBlJTNEJTIyZ2xiJTIyKQ==",highlighted:`<span class="hljs-keyword">import</span> trimesh | |
| <span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np | |
| mesh = trimesh.load(<span class="hljs-string">"3d_cake.ply"</span>) | |
| rot = trimesh.transformations.rotation_matrix(-np.pi / <span class="hljs-number">2</span>, [<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>]) | |
| mesh = mesh.apply_transform(rot) | |
| mesh_export = mesh.export(<span class="hljs-string">"3d_cake.glb"</span>, file_type=<span class="hljs-string">"glb"</span>)`,wrap:!1}}),P=new rl({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/ko/using-diffusers/shap-e.md"}}),{c(){m=p("meta"),T=a(),h=p("p"),O=a(),c(w.$$.fragment),se=a(),c(j.$$.fragment),te=a(),Z=p("p"),Z.textContent=Ee,ae=a(),I=p("ol"),I.innerHTML=xe,ne=a(),$=p("p"),$.textContent=Xe,pe=a(),_=p("p"),_.textContent=Se,ie=a(),c(W.$$.fragment),oe=a(),c(C.$$.fragment),me=a(),k=p("p"),k.innerHTML=Ne,ce=a(),c(G.$$.fragment),re=a(),B=p("p"),B.innerHTML=Ve,Me=a(),c(v.$$.fragment),ue=a(),g=p("div"),g.innerHTML=qe,de=a(),c(R.$$.fragment),fe=a(),Q=p("p"),Q.innerHTML=Ye,he=a(),c(E.$$.fragment),ye=a(),x=p("p"),x.innerHTML=ze,ge=a(),c(X.$$.fragment),Je=a(),J=p("div"),J.innerHTML=He,Ue=a(),c(S.$$.fragment),be=a(),N=p("p"),N.innerHTML=Fe,Te=a(),V=p("p"),V.innerHTML=De,we=a(),c(q.$$.fragment),je=a(),Y=p("p"),Y.innerHTML=Le,Ze=a(),c(U.$$.fragment),Ie=a(),c(z.$$.fragment),$e=a(),H=p("p"),H.innerHTML=Ae,_e=a(),c(F.$$.fragment),We=a(),D=p("p"),D.textContent=Pe,Ce=a(),c(L.$$.fragment),ke=a(),A=p("p"),A.textContent=Oe,Ge=a(),b=p("div"),b.innerHTML=Ke,Be=a(),c(P.$$.fragment),ve=a(),K=p("p"),this.h()},l(e){const l=il("svelte-u9bgzb",document.head);m=i(l,"META",{name:!0,content:!0}),l.forEach(s),T=n(e),h=i(e,"P",{}),ll(h).forEach(s),O=n(e),r(w.$$.fragment,e),se=n(e),r(j.$$.fragment,e),te=n(e),Z=i(e,"P",{"data-svelte-h":!0}),o(Z)!=="svelte-zs4zs6"&&(Z.textContent=Ee),ae=n(e),I=i(e,"OL",{"data-svelte-h":!0}),o(I)!=="svelte-pt3on6"&&(I.innerHTML=xe),ne=n(e),$=i(e,"P",{"data-svelte-h":!0}),o($)!=="svelte-7ilqi1"&&($.textContent=Xe),pe=n(e),_=i(e,"P",{"data-svelte-h":!0}),o(_)!=="svelte-1dydg7a"&&(_.textContent=Se),ie=n(e),r(W.$$.fragment,e),oe=n(e),r(C.$$.fragment,e),me=n(e),k=i(e,"P",{"data-svelte-h":!0}),o(k)!=="svelte-7ui8bs"&&(k.innerHTML=Ne),ce=n(e),r(G.$$.fragment,e),re=n(e),B=i(e,"P",{"data-svelte-h":!0}),o(B)!=="svelte-3i7c5d"&&(B.innerHTML=Ve),Me=n(e),r(v.$$.fragment,e),ue=n(e),g=i(e,"DIV",{class:!0,"data-svelte-h":!0}),o(g)!=="svelte-1lcwzvo"&&(g.innerHTML=qe),de=n(e),r(R.$$.fragment,e),fe=n(e),Q=i(e,"P",{"data-svelte-h":!0}),o(Q)!=="svelte-zh5lrx"&&(Q.innerHTML=Ye),he=n(e),r(E.$$.fragment,e),ye=n(e),x=i(e,"P",{"data-svelte-h":!0}),o(x)!=="svelte-trza7d"&&(x.innerHTML=ze),ge=n(e),r(X.$$.fragment,e),Je=n(e),J=i(e,"DIV",{class:!0,"data-svelte-h":!0}),o(J)!=="svelte-xd6lpk"&&(J.innerHTML=He),Ue=n(e),r(S.$$.fragment,e),be=n(e),N=i(e,"P",{"data-svelte-h":!0}),o(N)!=="svelte-93q6g2"&&(N.innerHTML=Fe),Te=n(e),V=i(e,"P",{"data-svelte-h":!0}),o(V)!=="svelte-bhrjpc"&&(V.innerHTML=De),we=n(e),r(q.$$.fragment,e),je=n(e),Y=i(e,"P",{"data-svelte-h":!0}),o(Y)!=="svelte-1bddlk0"&&(Y.innerHTML=Le),Ze=n(e),r(U.$$.fragment,e),Ie=n(e),r(z.$$.fragment,e),$e=n(e),H=i(e,"P",{"data-svelte-h":!0}),o(H)!=="svelte-1rt84c4"&&(H.innerHTML=Ae),_e=n(e),r(F.$$.fragment,e),We=n(e),D=i(e,"P",{"data-svelte-h":!0}),o(D)!=="svelte-wux7n"&&(D.textContent=Pe),Ce=n(e),r(L.$$.fragment,e),ke=n(e),A=i(e,"P",{"data-svelte-h":!0}),o(A)!=="svelte-9rl27g"&&(A.textContent=Oe),Ge=n(e),b=i(e,"DIV",{class:!0,"data-svelte-h":!0}),o(b)!=="svelte-1dmju3n"&&(b.innerHTML=Ke),Be=n(e),r(P.$$.fragment,e),ve=n(e),K=i(e,"P",{}),ll(K).forEach(s),this.h()},h(){ee(m,"name","hf:doc:metadata"),ee(m,"content",dl),ee(g,"class","flex gap-4"),ee(J,"class","flex gap-4"),ee(b,"class","flex justify-center")},m(e,l){ol(document.head,m),t(e,T,l),t(e,h,l),t(e,O,l),M(w,e,l),t(e,se,l),M(j,e,l),t(e,te,l),t(e,Z,l),t(e,ae,l),t(e,I,l),t(e,ne,l),t(e,$,l),t(e,pe,l),t(e,_,l),t(e,ie,l),M(W,e,l),t(e,oe,l),M(C,e,l),t(e,me,l),t(e,k,l),t(e,ce,l),M(G,e,l),t(e,re,l),t(e,B,l),t(e,Me,l),M(v,e,l),t(e,ue,l),t(e,g,l),t(e,de,l),M(R,e,l),t(e,fe,l),t(e,Q,l),t(e,he,l),M(E,e,l),t(e,ye,l),t(e,x,l),t(e,ge,l),M(X,e,l),t(e,Je,l),t(e,J,l),t(e,Ue,l),M(S,e,l),t(e,be,l),t(e,N,l),t(e,Te,l),t(e,V,l),t(e,we,l),M(q,e,l),t(e,je,l),t(e,Y,l),t(e,Ze,l),M(U,e,l),t(e,Ie,l),M(z,e,l),t(e,$e,l),t(e,H,l),t(e,_e,l),M(F,e,l),t(e,We,l),t(e,D,l),t(e,Ce,l),M(L,e,l),t(e,ke,l),t(e,A,l),t(e,Ge,l),t(e,b,l),t(e,Be,l),M(P,e,l),t(e,ve,l),t(e,K,l),Re=!0},p(e,[l]){const el={};l&2&&(el.$$scope={dirty:l,ctx:e}),U.$set(el)},i(e){Re||(u(w.$$.fragment,e),u(j.$$.fragment,e),u(W.$$.fragment,e),u(C.$$.fragment,e),u(G.$$.fragment,e),u(v.$$.fragment,e),u(R.$$.fragment,e),u(E.$$.fragment,e),u(X.$$.fragment,e),u(S.$$.fragment,e),u(q.$$.fragment,e),u(U.$$.fragment,e),u(z.$$.fragment,e),u(F.$$.fragment,e),u(L.$$.fragment,e),u(P.$$.fragment,e),Re=!0)},o(e){d(w.$$.fragment,e),d(j.$$.fragment,e),d(W.$$.fragment,e),d(C.$$.fragment,e),d(G.$$.fragment,e),d(v.$$.fragment,e),d(R.$$.fragment,e),d(E.$$.fragment,e),d(X.$$.fragment,e),d(S.$$.fragment,e),d(q.$$.fragment,e),d(U.$$.fragment,e),d(z.$$.fragment,e),d(F.$$.fragment,e),d(L.$$.fragment,e),d(P.$$.fragment,e),Re=!1},d(e){e&&(s(T),s(h),s(O),s(se),s(te),s(Z),s(ae),s(I),s(ne),s($),s(pe),s(_),s(ie),s(oe),s(me),s(k),s(ce),s(re),s(B),s(Me),s(ue),s(g),s(de),s(fe),s(Q),s(he),s(ye),s(x),s(ge),s(Je),s(J),s(Ue),s(be),s(N),s(Te),s(V),s(we),s(je),s(Y),s(Ze),s(Ie),s($e),s(H),s(_e),s(We),s(D),s(Ce),s(ke),s(A),s(Ge),s(b),s(Be),s(ve),s(K)),s(m),f(w,e),f(j,e),f(W,e),f(C,e),f(G,e),f(v,e),f(R,e),f(E,e),f(X,e),f(S,e),f(q,e),f(U,e),f(z,e),f(F,e),f(L,e),f(P,e)}}}const dl='{"title":"Shap-E","local":"shap-e","sections":[{"title":"Text-to-3D","local":"text-to-3d","sections":[],"depth":2},{"title":"Image-to-3D","local":"image-to-3d","sections":[],"depth":2},{"title":"메시 생성하기","local":"메시-생성하기","sections":[],"depth":2}],"depth":1}';function fl(le){return tl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Tl extends nl{constructor(m){super(),pl(this,m,fl,ul,sl,{})}}export{Tl as component}; | |
Xet Storage Details
- Size:
- 23.6 kB
- Xet hash:
- e6c5647577087cad9975cba313b39cbcc32f1f89f9e15b856a97474acbfe2fc4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.