File size: 1,479 Bytes
eb6c57c
 
 
 
 
 
 
 
 
 
 
 
27c80ca
0d8626e
 
eb6c57c
 
 
 
 
 
 
 
0d8626e
 
27c80ca
eb6c57c
 
 
 
 
 
 
 
 
 
 
 
27c80ca
 
eb6c57c
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'''Image Completion Demo (ImageGPT)

- 2021-12-10
    - taken from https://huggingface.co/spaces/nielsr/imagegpt-completion
'''

from PIL import Image
import matplotlib.pyplot as plt

import os
import requests
from glob import glob
import gradio as gr
from loguru import logger

import torch
from transformers import ImageGPTFeatureExtractor, ImageGPTForCausalImageModeling

# ========== Settings ==========
EXAMPLE_DIR = 'examples'
examples = sorted(glob(os.path.join(EXAMPLE_DIR, '*.jpg')))

# ========== Logger ==========
logger.add('app.log', mode='a')
logger.info('===== APP RESTARTED =====')

# ========== Models ==========
feature_extractor = ImageGPTFeatureExtractor.from_pretrained(
    "openai/imagegpt-medium")
model = ImageGPTForCausalImageModeling.from_pretrained(
    "openai/imagegpt-medium")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)


def process_image(image):
    logger.info('--- image file received')
    return image.name


iface = gr.Interface(
    process_image,
    title="์ด๋ฏธ์ง€์˜ ์ ˆ๋ฐ˜์„ ์ง€์šฐ๊ณ  ์ ˆ๋ฐ˜์„ ์ฑ„์›Œ ๋„ฃ์–ด์ฃผ๋Š” Image Completion ๋ฐ๋ชจ์ž…๋‹ˆ๋‹ค (ImageGPT)",
    description='์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€์˜ ์ ˆ๋ฐ˜ ์•„๋ž˜๋ฅผ AI๊ฐ€ ์ฑ„์›Œ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค',
    inputs=gr.inputs.Image(type="pil"),
    outputs=gr.outputs.Image(type="pil", label="Model input + completions"),
    examples=examples,
    enable_queue=True,
    article='<p style="text-align:center">i-Scream AI</p>',
)
iface.launch()