File size: 1,842 Bytes
cf49c4b
 
 
801ca00
cf49c4b
 
 
 
 
 
801ca00
a1ff6d2
cf49c4b
 
5d7c9cd
cf49c4b
801ca00
5614a83
313d70a
 
 
 
2997b62
ba6a087
 
 
 
 
 
b1239e4
2997b62
313d70a
c3f5319
cf49c4b
b3fa9dd
e02c7a0
 
 
313d70a
c3f5319
313d70a
b3fa9dd
c3f5319
 
 
ba6a087
 
 
 
5ab265e
ba6a087
 
 
e02c7a0
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
53
54
55
import torch
import os
import random
import gradio as gr
from transformers import pipeline
import base64
from datasets import load_dataset
from diffusers import DiffusionPipeline
from huggingface_hub import login
import numpy as np

def guessanImage(model, image):
    imgclassifier  = pipeline("image-classification", model=model)
    if image is not None:  
        description = imgclassifier(image)
    return description

def guessanAge(model, image):
    imgclassifier  = pipeline("image-classification", model=model)
    if image is not None:  
        description = imgclassifier(image)
    return description    

def text2speech(model, text):
    if len(text) > 0:
        speechclassifier  = pipeline("text-to-speech", model=model)
        embeddings_dataset = load_dataset("Matthijs/cmu-arctic-xvectors", split="validation")
        speaker_embedding = torch.tensor(embeddings_dataset[7306]["xvector"]).unsqueeze(0)
        output = speechclassifier(text, forward_params={"speaker_embeddings": speaker_embedding})
        return output

radio1 = gr.Radio(["microsoft/resnet-50", "google/vit-base-patch16-224", "apple/mobilevit-small"], label="Select a Classifier", info="Image Classifier")
tab1 = gr.Interface(
    fn=guessanImage,
    inputs=[radio1, gr.Image(type="pil")],
    outputs=["text"],
)

radio2 = gr.Radio(["nateraw/vit-age-classifier"], label="Select an Age Classifier", info="Age Classifier")
tab2 = gr.Interface(
    fn=guessanAge,
    inputs=[radio2, gr.Image(type="pil")],
    outputs=["text"],
)

radio3 = gr.Radio(["microsoft/speecht5_tts"], label="Select an tts", info="Age Classifier")
tab3 = gr.Interface(
    fn=text2speech,
    inputs=[radio3, "text"],
    outputs=[gr.Audio(label="Generated Speech", type="numpy")],
)

demo = gr.TabbedInterface([tab1, tab2, tab3], ["tab1", "tab2", "tab3"])
demo.launch()