File size: 1,431 Bytes
b723189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import torchvision
from facetorch import FaceAnalyzer
from OmegaConf import OmegaConf


cfg = OmegaConf.load("config.merged.yaml")
analyzer = FaceAnalyzer(cfg.analyzer)


def inference(path_image):
    response = analyzer.run(
        path_image=path_image,
        batch_size=cfg.batch_size,
        fix_img_size=cfg.fix_img_size,
        return_img_data=cfg.return_img_data,
        include_tensors=cfg.include_tensors,
        path_output=cfg.path_output,
    )
    pil_image = torchvision.transforms.functional.to_pil_image(response.img)
    return pil_image


def main():
    title = "facetorch"
    description = "Demo for facetorch, a Python library that can detect faces and analyze facial features using deep neural networks. The goal is to gather open sourced face analysis models from the community and optimize them for performance using TorchScrip. Try selecting one of the example images or upload your own."
    article = "<p style='text-align: center'><a href='https://github.com/tomas-gajarsky/facetorch' target='_blank'>Github Repo</a></p>"

    gr.Interface(
        inference,
        [gr.inputs.Image(label="Input")],
        gr.outputs.Image(type="pil", label="Output"),
        title=title,
        description=description,
        article=article,
        examples=[["./data/input/test.jpg"], ["./data/input/test2.jpg"]],
    ).launch(debug=True)


if __name__ == "__main__":
    main()