Testing / app.py
DonImages's picture
Update app.py
96a3b09 verified
raw
history blame
1.59 kB
import gradio as gr
import json
import os
import time # For simulating progress
# Paths
image_folder = "Images/" # Folder containing the images
metadata_file = "descriptions.json" # JSON file with image descriptions
# Load metadata
with open(metadata_file, "r") as f:
metadata = json.load(f)
# Placeholder function for training LoRA with progress tracking
def train_lora_with_progress(image_folder, metadata, progress=gr.Progress()):
dataset = []
num_images = len(metadata)
completed = 0
# Start processing images
for image_name, description in metadata.items():
image_path = os.path.join(image_folder, image_name)
if os.path.exists(image_path): # Ensure the image file exists
dataset.append({"image": image_path, "description": description})
completed += 1
progress(completed / num_images, f"Processed {completed}/{num_images} images: {image_name}")
time.sleep(0.5) # Simulating processing time
else:
progress(completed / num_images, f"Warning: {image_name} not found in {image_folder}")
# Placeholder for training logic
return f"Training completed with {len(dataset)} valid images."
# Define Gradio app
def start_training():
return train_lora_with_progress(image_folder, metadata)
# Gradio interface
demo = gr.Interface(
fn=start_training,
inputs=None,
outputs="text",
title="Train LoRA with Progress",
description="Click below to start training with the uploaded images and metadata. Progress will be displayed live."
)
demo.launch()