Spaces:
Runtime error
Runtime error
| import os | |
| from data.prefix_instruction import get_image_prompt, get_task_instruction, get_layout_instruction, get_content_instruction | |
| import random | |
| from PIL import Image | |
| task_instruction = "In each row, a logical task is demonstrated to achieve [IMAGE2] a high-aesthetic image based on [IMAGE1] an aesthetically pleasing photograph. Each row shows a process to edit the image with the given editing instruction." | |
| editing_instruction = "The editing instruction in the last row is: " | |
| editing = [ | |
| dict( | |
| name='add', | |
| images=[ | |
| os.path.join('examples/examples/omniedit/task_obj_add_273266.jpg'), | |
| os.path.join('examples/examples/omniedit/task_obj_add_273266_edit.jpg'), | |
| os.path.join('examples/examples/omniedit/task_obj_add_528329.jpg'), | |
| os.path.join('examples/examples/omniedit/task_obj_add_528329_edit.jpg'), | |
| ], | |
| grid_h=2, | |
| grid_w=2, | |
| task_prompt=task_instruction + " " + editing_instruction + "<editing instruction> Add a large hawk perched on a branch in the foreground. <\editing instruction>", | |
| content_prompt="", | |
| ), | |
| dict( | |
| name='remove', | |
| images=[ | |
| os.path.join('examples/examples/omniedit/task_obj_add_528329_edit.jpg'), | |
| os.path.join('examples/examples/omniedit/task_obj_add_528329.jpg'), | |
| os.path.join('examples/examples/omniedit/task_obj_remove_855511_edit.jpg'), | |
| os.path.join('examples/examples/omniedit/task_obj_remove_855511.jpg'), | |
| ], | |
| grid_h=2, | |
| grid_w=2, | |
| task_prompt=task_instruction + " " + editing_instruction + "<editing instruction> Remove a small, orange and white monkey with black face sitting on a branch in the tree. <\editing instruction>", | |
| content_prompt="", | |
| ), | |
| ] | |
| editing_text = [[x['name']] for x in editing] | |
| def process_editing_tasks(x): | |
| for task in editing: | |
| if task['name'] == x[0]: | |
| task_prompt = task['task_prompt'] | |
| content_prompt = task['content_prompt'] | |
| images = task['images'] | |
| rets = [] | |
| for image in images: | |
| rets.append(Image.open(image)) | |
| grid_h = task['grid_h'] | |
| grid_w = task['grid_w'] | |
| mask = task.get('mask', [0 for _ in range(grid_w - 1)] + [1]) | |
| layout_prompt = get_layout_instruction(grid_w, grid_h) | |
| upsampling_noise = None | |
| steps = None | |
| outputs = [mask, grid_h, grid_w, layout_prompt, task_prompt, content_prompt, upsampling_noise, steps] + rets | |
| break | |
| return outputs | |