| import os |
| import cv2 |
| import tempfile |
| from modelscope.outputs import OutputKeys |
| from modelscope.pipelines import pipeline |
| from modelscope.utils.constant import Tasks |
| import PIL |
| from pathlib import Path |
| import gradio as gr |
| import numpy as np |
|
|
| """Load the model into memory to make running multiple predictions efficient""" |
| img_colorization = pipeline(Tasks.image_colorization, model='iic/cv_ddcolor_image-colorization') |
|
|
|
|
| def inference(img): |
| image = cv2.imread(str(img)) |
|
|
| output = img_colorization(image[..., ::-1]) |
| result = output[OutputKeys.OUTPUT_IMG].astype(np.uint8) |
|
|
| temp_dir = tempfile.mkdtemp() |
| out_path = os.path.join(temp_dir, 'old-to-color.png') |
| cv2.imwrite(out_path, result) |
| return Path(out_path) |
|
|
|
|
| title = "Color Restorization Model" |
| gr.Interface( |
| inference, |
| [gr.inputs.Image(type="filepath", label="Input")], |
| gr.outputs.Image(type="pil", label="Output"), |
| title=title |
| ).launch(enable_queue=True) |