Test and failed to run

#1
by pro895 - opened

Can you give me the python code with gradio and the path specified because it didn't work for me?
my code :

import tensorflow as tf
import numpy as np
import imageio
import gradio as gr

# تحميل النماذج من المسارات المحددة
generator_7 = tf.keras.models.load_model("C:/Users/ben/Downloads/0005/a-yo-image-v2.0/ayo_generator_frame_7")
generator_8 = tf.keras.models.load_model("C:/Users/ben/Downloads/0005/a-yo-image-v2.0/ayo_generator_frame_8")
generator_9 = tf.keras.models.load_model("C:/Users/ben/Downloads/0005/a-yo-image-v2.0/ayo_generator_frame_9")
# يمكنك تحميل النماذج الأخرى بنفس الطريقة إذا لزم الأمر

# اختيار أحد النماذج بناءً على متطلباتك أو على مدخلات المستخدم
def get_generator(frame_number):
    if frame_number == 7:
        return generator_7
    elif frame_number == 8:
        return generator_8
    elif frame_number == 9:
        return generator_9
    else:
        # افتراضياً اختر النموذج 7 إذا كان الرقم غير معرف
        return generator_7

def preprocess_image(image):
    # تحويل الصورة من PIL إلى numpy array
    image = np.array(image)
    
    # تغيير حجم الصورة إلى 128x128 وتحويلها إلى نطاق [-1, 1]
    image = tf.image.resize(image, [128, 128])
    image = (tf.cast(image, tf.float32) / 127.5) - 1
    
    # إضافة بُعد لـ batch
    return tf.expand_dims(image, axis=0)

def generate_frames(generator, input_image, num_frames):
    frames = []
    for i in range(num_frames):
        frame = generator(input_image, tf.constant([i]))  # توليد إطار
        frames.append(frame)
    return frames

def create_gif(frames):
    gif_path = '/tmp/generated_animation.gif'
    with imageio.get_writer(gif_path, mode='I') as writer:
        for frame in frames:
            frame_np = (frame.numpy().squeeze() * 127.5 + 127.5).astype(np.uint8)
            writer.append_data(frame_np)
    return gif_path

def generate_gif(input_image, num_frames):
    # معالجة الصورة المدخلة
    input_image = preprocess_image(input_image)
    
    # اختيار النموذج المناسب
    generator = get_generator(num_frames)
    
    # توليد الإطارات باستخدام النموذج
    frames = generate_frames(generator, input_image, num_frames)
    
    # إنشاء وحفظ GIF
    gif_path = create_gif(frames)
    return gif_path

# إعداد واجهة Gradio
iface = gr.Interface(
    fn=generate_gif,
    inputs=[
        gr.Image(type="pil", label="تحميل صورة (128x128)"),
        gr.Slider(minimum=5, maximum=20, step=1, value=10, label="عدد الإطارات")
    ],
    outputs=gr.Image(type="filepath", label="الـ GIF الناتج"),
    title="مولد GIF - Ayo_Generator",
    description="تطبيق بسيط لتحويل صورة ثابتة إلى حركة GIF باستخدام نموذج GAN."
)

# تشغيل الواجهة
iface.launch()

Sign up or log in to comment