afondiel's picture
Add ColorizeArtistic_gen.pth model
fb7ce20
raw
history blame
No virus
2.21 kB
import os
import warnings
from pathlib import Path
import gradio as gr
from gradio_imageslider import ImageSlider
import numpy as np
import torch
import fastai
from deoldify import device
from deoldify.device_id import DeviceId
from deoldify.visualize import *
# from huggingface_hub import HfApi, snapshot_download
from huggingface_hub import HfApi, HfFolder
os.system("pip freeze")
from collections.abc import Sized # Import Sized from collections.abc
# Suppress warnings
warnings.filterwarnings("ignore", category=UserWarning, message=".*?Your .*? set is empty.*?")
# Private repo settings
token = os.getenv("HF_TOKEN")
repo_id = "afondiel/image-colorizer-deoldify"
repo_type = "space"
# running primarly on CPU
device.set(device=DeviceId.CPU)
# Initialize Hugging Face API
api = HfApi(token=token)
# Authenticate
HfFolder.save_token(token)
# Download the snapshot from the space repository
snapshot_folder = api.snapshot_download(repo_id=repo_id, repo_type=repo_type)
# if GPU available
device.set(device=DeviceId.GPU0)
# Load the pre-trained model
_colorizer = get_image_colorizer(root_folder=Path(snapshot_folder), artistic=True)
def colorizer_fn(input_img, render_factor):
"""
Colorize grayscale images/photos
- @param input_img old (grayscale) image
- @param render_factor render_factor
"""
if input_img is not None and input_img != '':
output_img = _colorizer.get_transformed_image(
path=input_img,
render_factor=int(render_factor),
watermarked=watermarked,
post_process=True,
)
else:
print('Provide an image and try again.')
return (input_img, output_img) # Return a tuple of old and color Image to be plotted with ImageSlider()
title = "AI Image Colorizer"
description = "Colorize old images with AI"
examples = [["./demo.jpg"],]
demo = gr.Interface(
fn=colorizer_fn,
inputs=[gr.Image(type="filepath", label="Old image"), gr.Slider(0, 40, label="Render Factor", value=10)],
outputs=ImageSlider(type="pil", label="Old vs Colored image"),
examples=examples,
title=title,
description=description,
)
# Launch the demo
if __name__ == "__main__":
demo.launch()