Spaces:
Runtime error
Runtime error
import streamlit as st | |
from PIL import Image | |
import torch | |
from diffusers import DiffusionPipeline # تأكد من استخدام مكتبة متوافقة مع النموذج الجديد | |
import numpy as np | |
import io | |
# إعداد الصفحة | |
st.set_page_config(page_title="3D Mesh Generation", page_icon="🖼️") | |
# عنوان الصفحة | |
st.title("3D Mesh Generation from Image") | |
# تعليمات | |
st.write("Upload an image to generate a 3D mesh.") | |
# تحميل النموذج | |
def load_model(): | |
model_id = "your_new_model_id_here" # استبدل بـ ID النموذج الجديد | |
pipe = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to("cuda") | |
return pipe | |
pipe = load_model() | |
# إدخال المستخدم | |
uploaded_image = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"]) | |
if uploaded_image is not None: | |
image = Image.open(uploaded_image).convert("RGB") | |
st.image(image, caption='Uploaded Image', use_column_width=True) | |
if st.button('Generate 3D Mesh'): | |
# تحويل الصورة إلى تنسور | |
image_tensor = torch.tensor(np.array(image)).float().unsqueeze(0).permute(0, 3, 1, 2).to("cuda") / 255.0 | |
# توليد الشبكة ثلاثية الأبعاد | |
with st.spinner("Generating 3D mesh..."): | |
mesh = pipe(image_tensor).images # تأكد من أن هذا هو الاستخدام الصحيح للنموذج | |
st.success("3D mesh generated successfully!") | |
# عرض النتيجة | |
st.write("### 3D Mesh Preview") | |
st.image(mesh[0], caption="Generated 3D Mesh", use_column_width=True) | |
# تنزيل النموذج | |
mesh_bytes = io.BytesIO() | |
mesh[0].save(mesh_bytes, format="png") # استخدم الصيغة المناسبة هنا | |
st.download_button(label="Download 3D Mesh", data=mesh_bytes.getvalue(), file_name="generated_mesh.png", mime="image/png") | |
# تقديم بعض المعلومات حول النموذج | |
st.write(""" | |
### About the Model: | |
This model generates 3D meshes from single images | |