Spaces:
Runtime error
Runtime error
import gradio as gr | |
from image_dataset import ImageDataset | |
from image_wgan import ImageWgan | |
import os | |
from os.path import exists | |
from PIL import Image, ImageEnhance | |
import numpy as np | |
import random | |
print(gr.__version__) | |
def init(): | |
generated_samples_folder = "." | |
discriminator_saved_model = "discriminator64.model" | |
generator_saved_model = "generator64.model" | |
latent_space = 100 | |
image_wgan = ImageWgan( | |
image_shape = (4,64,64), | |
latent_space_dimension=latent_space, | |
generator_saved_model=generator_saved_model if exists(generator_saved_model) else None, | |
discriminator_saved_model=discriminator_saved_model if exists(discriminator_saved_model) else None | |
) | |
image_wgan.generate( | |
sample_folder=generated_samples_folder | |
) | |
crop() | |
def crop(): | |
import generator | |
res = 64 | |
if res != 0: | |
results = "generated.png" | |
img = Image.open(results) | |
width,height = img.size | |
top = 2 | |
bottom = 2 | |
for i in range(4): | |
left = (res+2)*i +2 | |
right = width-(res+2)*i | |
imgcrop = img.crop((left,top,left+res,res+2)) | |
imgcrop.save(str(i)+".png") | |
init() | |
def gen(seed=None): | |
if seed is None or seed == "Surprise Me" or seed == "": | |
seed = random.randint(0, 1000000000) | |
else: | |
seed = int(seed) | |
np.random.seed(seed) | |
init() # Initialize and generate samples | |
crop() # Crop the generated images | |
imgArr = [] | |
for i in range(4): | |
img = Image.open(f"{i}.png").convert('RGBA') | |
img = img.resize((64, 64), Image.NEAREST) | |
imgArr.append(img) | |
return imgArr, seed # Return both images and the seed used | |
# Function to handle the input from the interface | |
def handle_input(seed_text, surprise_me): | |
if surprise_me: | |
images, used_seed = gen("Surprise Me") | |
else: | |
images, used_seed = gen(seed_text) | |
return images, f"Seed Used: {used_seed}" # Provide feedback on the used seed | |
iface = gr.Interface( | |
fn=handle_input, | |
inputs=[ | |
gr.Text(label="Seed", placeholder="Enter a seed"), # Text input for seed | |
gr.Checkbox(label="Surprise Me", value=False), # Checkbox for 'Surprise Me' functionality | |
], | |
outputs=[ | |
gr.Gallery(label="Generated Skins"), # Display generated images | |
gr.Textbox(label="Used Seed") # Display the seed used to generate the images | |
], | |
title = "Minecraft Skin Generator <style>img{image-rendering: pixelated;}</style>", #<-- EWW GROSS IK IK IM SORRY, BUT THAT'S THE ONLY WAY I FOUND IT TO WORK | |
) | |
iface.launch() |