Buckets:
| import{s as al,n as nl,o as pl}from"../chunks/scheduler.23542ac5.js";import{S as il,i as ol,e as p,s as a,c as m,h as ml,a as i,d as s,b as n,f as tl,g as c,j as o,k as O,l as cl,m as t,n as r,t as M,o as u,p as d}from"../chunks/index.9b1f405b.js";import{C as rl,H as xe,E as Ml}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.afe7c064.js";import{C as y}from"../chunks/CodeBlock.ebc0d48f.js";import{D as ul}from"../chunks/DocNotebookDropdown.68a629d2.js";function dl(Ee){let f,ee,P,le,b,se,T,te,w,ae,j,Xe="Shap-E는 비디오 게임 개발, 인테리어 디자인, 건축에 사용할 수 있는 3D 에셋을 생성하기 위한 conditional 모델입니다. 대규모 3D 에셋 데이터셋을 학습되었고, 각 오브젝트의 더 많은 뷰를 렌더링하고 4K point cloud 대신 16K를 생성하도록 후처리합니다. Shap-E 모델은 두 단계로 학습됩니다:",ne,Z,Se="<li>인코더가 3D 에셋의 포인트 클라우드와 렌더링된 뷰를 받아들이고 에셋을 나타내는 implicit functions의 파라미터를 출력합니다.</li> <li>인코더가 생성한 latents를 바탕으로 diffusion 모델을 훈련하여 neural radiance fields(NeRF) 또는 textured 3D 메시를 생성하여 다운스트림 애플리케이션에서 3D 에셋을 더 쉽게 렌더링하고 사용할 수 있도록 합니다.</li>",pe,I,Ve="이 가이드에서는 Shap-E를 사용하여 나만의 3D 에셋을 생성하는 방법을 보입니다!",ie,W,Ne="시작하기 전에 다음 라이브러리가 설치되어 있는지 확인하세요:",oe,_,me,C,ce,k,qe="3D 객체의 gif를 생성하려면 텍스트 프롬프트를 <code>ShapEPipeline</code>에 전달합니다. 파이프라인은 3D 객체를 생성하는 데 사용되는 이미지 프레임 리스트를 생성합니다.",re,$,Me,G,Ye="이제 <code>export_to_gif()</code> 함수를 사용하여 이미지 프레임 리스트를 3D 객체의 gif로 변환합니다.",ue,B,de,h,ze='<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>',fe,v,ye,R,He='다른 이미지로부터 3D 개체를 생성하려면 <code>ShapEImg2ImgPipeline</code>을 사용합니다. 기존 이미지를 사용하거나 완전히 새로운 이미지를 생성할 수 있습니다. <a href="../api/pipelines/kandinsky">Kandinsky 2.1</a> 모델을 사용하여 새 이미지를 생성해 보겠습니다.',he,Q,ge,x,Fe="치즈버거를 <code>ShapEImg2ImgPipeline</code>에 전달하여 3D representation을 생성합니다.",Je,E,Ue,g,De='<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>',be,X,Te,S,Le='Shap-E는 다운스트림 애플리케이션에 렌더링할 textured 메시 출력을 생성할 수도 있는 유연한 모델입니다. 이 예제에서는 🤗 Datasets 라이브러리에서 <a href="https://huggingface.co/docs/hub/datasets-viewer#dataset-preview" rel="nofollow">Dataset viewer</a>를 사용해 메시 시각화를 지원하는 <code>glb</code> 파일로 변환합니다.',we,V,Ae="<code>output_type</code> 매개변수를 <code>"mesh"</code>로 지정함으로써 <code>ShapEPipeline</code>과 <code>ShapEImg2ImgPipeline</code> 모두에 대한 메시 출력을 생성할 수 있습니다:",je,N,Ze,q,Oe="메시 출력을 <code>ply</code> 파일로 저장하려면 <code>export_to_ply()</code> 함수를 사용합니다:",Ie,J,Pe="<p>선택적으로 <code>export_to_obj()</code> 함수를 사용하여 메시 출력을 <code>obj</code> 파일로 저장할 수 있습니다. 다양한 형식으로 메시 출력을 저장할 수 있어 다운스트림에서 더욱 유연하게 사용할 수 있습니다!</p>",We,Y,_e,z,Ke="그 다음 trimesh 라이브러리를 사용하여 <code>ply</code> 파일을 <code>glb</code> 파일로 변환할 수 있습니다:",Ce,H,ke,F,el="기본적으로 메시 출력은 아래쪽 시점에 초점이 맞춰져 있지만 회전 변환을 적용하여 기본 시점을 변경할 수 있습니다:",$e,D,Ge,L,ll="메시 파일을 데이터셋 레포지토리에 업로드해 Dataset viewer로 시각화하세요!",Be,U,sl='<img class="rounded-xl" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/3D-cake.gif"/>',ve,A,Re,K,Qe;return b=new rl({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),T=new ul({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;",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 xe({props:{title:"Shap-E",local:"shap-e",headingTag:"h1"}}),_=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 xe({props:{title:"Text-to-3D",local:"text-to-3d",headingTag:"h2"}}),$=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}}),B=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}}),v=new xe({props:{title:"Image-to-3D",local:"image-to-3d",headingTag:"h2"}}),Q=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}}),E=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}}),X=new xe({props:{title:"메시 생성하기",local:"메시-생성하기",headingTag:"h2"}}),N=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}}),Y=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}}),H=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}}),D=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}}),A=new Ml({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/ko/using-diffusers/shap-e.md"}}),{c(){f=p("meta"),ee=a(),P=p("p"),le=a(),m(b.$$.fragment),se=a(),m(T.$$.fragment),te=a(),m(w.$$.fragment),ae=a(),j=p("p"),j.textContent=Xe,ne=a(),Z=p("ol"),Z.innerHTML=Se,pe=a(),I=p("p"),I.textContent=Ve,ie=a(),W=p("p"),W.textContent=Ne,oe=a(),m(_.$$.fragment),me=a(),m(C.$$.fragment),ce=a(),k=p("p"),k.innerHTML=qe,re=a(),m($.$$.fragment),Me=a(),G=p("p"),G.innerHTML=Ye,ue=a(),m(B.$$.fragment),de=a(),h=p("div"),h.innerHTML=ze,fe=a(),m(v.$$.fragment),ye=a(),R=p("p"),R.innerHTML=He,he=a(),m(Q.$$.fragment),ge=a(),x=p("p"),x.innerHTML=Fe,Je=a(),m(E.$$.fragment),Ue=a(),g=p("div"),g.innerHTML=De,be=a(),m(X.$$.fragment),Te=a(),S=p("p"),S.innerHTML=Le,we=a(),V=p("p"),V.innerHTML=Ae,je=a(),m(N.$$.fragment),Ze=a(),q=p("p"),q.innerHTML=Oe,Ie=a(),J=p("blockquote"),J.innerHTML=Pe,We=a(),m(Y.$$.fragment),_e=a(),z=p("p"),z.innerHTML=Ke,Ce=a(),m(H.$$.fragment),ke=a(),F=p("p"),F.textContent=el,$e=a(),m(D.$$.fragment),Ge=a(),L=p("p"),L.textContent=ll,Be=a(),U=p("div"),U.innerHTML=sl,ve=a(),m(A.$$.fragment),Re=a(),K=p("p"),this.h()},l(e){const l=ml("svelte-u9bgzb",document.head);f=i(l,"META",{name:!0,content:!0}),l.forEach(s),ee=n(e),P=i(e,"P",{}),tl(P).forEach(s),le=n(e),c(b.$$.fragment,e),se=n(e),c(T.$$.fragment,e),te=n(e),c(w.$$.fragment,e),ae=n(e),j=i(e,"P",{"data-svelte-h":!0}),o(j)!=="svelte-zs4zs6"&&(j.textContent=Xe),ne=n(e),Z=i(e,"OL",{"data-svelte-h":!0}),o(Z)!=="svelte-pt3on6"&&(Z.innerHTML=Se),pe=n(e),I=i(e,"P",{"data-svelte-h":!0}),o(I)!=="svelte-7ilqi1"&&(I.textContent=Ve),ie=n(e),W=i(e,"P",{"data-svelte-h":!0}),o(W)!=="svelte-1dydg7a"&&(W.textContent=Ne),oe=n(e),c(_.$$.fragment,e),me=n(e),c(C.$$.fragment,e),ce=n(e),k=i(e,"P",{"data-svelte-h":!0}),o(k)!=="svelte-7ui8bs"&&(k.innerHTML=qe),re=n(e),c($.$$.fragment,e),Me=n(e),G=i(e,"P",{"data-svelte-h":!0}),o(G)!=="svelte-3i7c5d"&&(G.innerHTML=Ye),ue=n(e),c(B.$$.fragment,e),de=n(e),h=i(e,"DIV",{class:!0,"data-svelte-h":!0}),o(h)!=="svelte-1lcwzvo"&&(h.innerHTML=ze),fe=n(e),c(v.$$.fragment,e),ye=n(e),R=i(e,"P",{"data-svelte-h":!0}),o(R)!=="svelte-zh5lrx"&&(R.innerHTML=He),he=n(e),c(Q.$$.fragment,e),ge=n(e),x=i(e,"P",{"data-svelte-h":!0}),o(x)!=="svelte-trza7d"&&(x.innerHTML=Fe),Je=n(e),c(E.$$.fragment,e),Ue=n(e),g=i(e,"DIV",{class:!0,"data-svelte-h":!0}),o(g)!=="svelte-xd6lpk"&&(g.innerHTML=De),be=n(e),c(X.$$.fragment,e),Te=n(e),S=i(e,"P",{"data-svelte-h":!0}),o(S)!=="svelte-93q6g2"&&(S.innerHTML=Le),we=n(e),V=i(e,"P",{"data-svelte-h":!0}),o(V)!=="svelte-bhrjpc"&&(V.innerHTML=Ae),je=n(e),c(N.$$.fragment,e),Ze=n(e),q=i(e,"P",{"data-svelte-h":!0}),o(q)!=="svelte-1bddlk0"&&(q.innerHTML=Oe),Ie=n(e),J=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),o(J)!=="svelte-1gugdg"&&(J.innerHTML=Pe),We=n(e),c(Y.$$.fragment,e),_e=n(e),z=i(e,"P",{"data-svelte-h":!0}),o(z)!=="svelte-1rt84c4"&&(z.innerHTML=Ke),Ce=n(e),c(H.$$.fragment,e),ke=n(e),F=i(e,"P",{"data-svelte-h":!0}),o(F)!=="svelte-wux7n"&&(F.textContent=el),$e=n(e),c(D.$$.fragment,e),Ge=n(e),L=i(e,"P",{"data-svelte-h":!0}),o(L)!=="svelte-9rl27g"&&(L.textContent=ll),Be=n(e),U=i(e,"DIV",{class:!0,"data-svelte-h":!0}),o(U)!=="svelte-1dmju3n"&&(U.innerHTML=sl),ve=n(e),c(A.$$.fragment,e),Re=n(e),K=i(e,"P",{}),tl(K).forEach(s),this.h()},h(){O(f,"name","hf:doc:metadata"),O(f,"content",fl),O(h,"class","flex gap-4"),O(g,"class","flex gap-4"),O(J,"class","tip"),O(U,"class","flex justify-center")},m(e,l){cl(document.head,f),t(e,ee,l),t(e,P,l),t(e,le,l),r(b,e,l),t(e,se,l),r(T,e,l),t(e,te,l),r(w,e,l),t(e,ae,l),t(e,j,l),t(e,ne,l),t(e,Z,l),t(e,pe,l),t(e,I,l),t(e,ie,l),t(e,W,l),t(e,oe,l),r(_,e,l),t(e,me,l),r(C,e,l),t(e,ce,l),t(e,k,l),t(e,re,l),r($,e,l),t(e,Me,l),t(e,G,l),t(e,ue,l),r(B,e,l),t(e,de,l),t(e,h,l),t(e,fe,l),r(v,e,l),t(e,ye,l),t(e,R,l),t(e,he,l),r(Q,e,l),t(e,ge,l),t(e,x,l),t(e,Je,l),r(E,e,l),t(e,Ue,l),t(e,g,l),t(e,be,l),r(X,e,l),t(e,Te,l),t(e,S,l),t(e,we,l),t(e,V,l),t(e,je,l),r(N,e,l),t(e,Ze,l),t(e,q,l),t(e,Ie,l),t(e,J,l),t(e,We,l),r(Y,e,l),t(e,_e,l),t(e,z,l),t(e,Ce,l),r(H,e,l),t(e,ke,l),t(e,F,l),t(e,$e,l),r(D,e,l),t(e,Ge,l),t(e,L,l),t(e,Be,l),t(e,U,l),t(e,ve,l),r(A,e,l),t(e,Re,l),t(e,K,l),Qe=!0},p:nl,i(e){Qe||(M(b.$$.fragment,e),M(T.$$.fragment,e),M(w.$$.fragment,e),M(_.$$.fragment,e),M(C.$$.fragment,e),M($.$$.fragment,e),M(B.$$.fragment,e),M(v.$$.fragment,e),M(Q.$$.fragment,e),M(E.$$.fragment,e),M(X.$$.fragment,e),M(N.$$.fragment,e),M(Y.$$.fragment,e),M(H.$$.fragment,e),M(D.$$.fragment,e),M(A.$$.fragment,e),Qe=!0)},o(e){u(b.$$.fragment,e),u(T.$$.fragment,e),u(w.$$.fragment,e),u(_.$$.fragment,e),u(C.$$.fragment,e),u($.$$.fragment,e),u(B.$$.fragment,e),u(v.$$.fragment,e),u(Q.$$.fragment,e),u(E.$$.fragment,e),u(X.$$.fragment,e),u(N.$$.fragment,e),u(Y.$$.fragment,e),u(H.$$.fragment,e),u(D.$$.fragment,e),u(A.$$.fragment,e),Qe=!1},d(e){e&&(s(ee),s(P),s(le),s(se),s(te),s(ae),s(j),s(ne),s(Z),s(pe),s(I),s(ie),s(W),s(oe),s(me),s(ce),s(k),s(re),s(Me),s(G),s(ue),s(de),s(h),s(fe),s(ye),s(R),s(he),s(ge),s(x),s(Je),s(Ue),s(g),s(be),s(Te),s(S),s(we),s(V),s(je),s(Ze),s(q),s(Ie),s(J),s(We),s(_e),s(z),s(Ce),s(ke),s(F),s($e),s(Ge),s(L),s(Be),s(U),s(ve),s(Re),s(K)),s(f),d(b,e),d(T,e),d(w,e),d(_,e),d(C,e),d($,e),d(B,e),d(v,e),d(Q,e),d(E,e),d(X,e),d(N,e),d(Y,e),d(H,e),d(D,e),d(A,e)}}}const fl='{"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 yl(Ee){return pl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Tl extends il{constructor(f){super(),ol(this,f,yl,dl,al,{})}}export{Tl as component}; | |
Xet Storage Details
- Size:
- 23.6 kB
- Xet hash:
- 3a0ee4a0f2b798a4a990a17c6d1c812f3f05d43cbd71b28ce10a816afba363db
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.