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()