jwphantom commited on
Commit
f30c2df
1 Parent(s): 862262b

first commit

Browse files
Files changed (3) hide show
  1. .gitignore +4 -0
  2. app.py +40 -0
  3. requirements.txt +67 -0
.gitignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ .venv/
2
+ __pycache__/
3
+ .env
4
+ .DS_Store
app.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import pipeline
2
+ import gradio as gr
3
+
4
+ # Initialiser la pipeline de classification d'image zero-shot avec le modèle CLIP spécifié
5
+ model_name = "openai/clip-vit-large-patch14-336"
6
+ classifier = pipeline("zero-shot-image-classification", model=model_name)
7
+
8
+
9
+ def classify_image(image, labels):
10
+ image_to_classify = image
11
+
12
+ labels = labels.split(",")
13
+
14
+ labels_for_classification = labels
15
+ scores = classifier(image_to_classify, candidate_labels=labels_for_classification)
16
+
17
+ print(
18
+ f"The highest score is {scores[0]['score']:.3f} for the label {scores[0]['label']}"
19
+ )
20
+
21
+ return f"The highest score is {scores[0]['score']:.3f} for the label {scores[0]['label']}"
22
+
23
+
24
+ # Créer l'interface Gradio
25
+ interface = gr.Interface(
26
+ fn=classify_image,
27
+ inputs=[
28
+ gr.Image(label="Input Image Component", type="pil"),
29
+ gr.Textbox("apple, banana, car, dog, elephant"),
30
+ ],
31
+ outputs="text",
32
+ title="Zero shot image classification",
33
+ description="classification: ",
34
+ )
35
+
36
+ # Lancer l'interface Gradio
37
+ if __name__ == "__main__":
38
+ interface.launch(
39
+ quiet=True,
40
+ )
requirements.txt ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiofiles==23.2.1
2
+ altair==5.2.0
3
+ annotated-types==0.6.0
4
+ anyio==4.3.0
5
+ attrs==23.2.0
6
+ certifi==2024.2.2
7
+ charset-normalizer==3.3.2
8
+ click==8.1.7
9
+ colorama==0.4.6
10
+ contourpy==1.2.0
11
+ cycler==0.12.1
12
+ fastapi==0.110.0
13
+ ffmpy==0.3.2
14
+ filelock==3.13.1
15
+ fonttools==4.49.0
16
+ fsspec==2024.2.0
17
+ gradio==4.19.2
18
+ gradio_client==0.10.1
19
+ h11==0.14.0
20
+ httpcore==1.0.4
21
+ httpx==0.27.0
22
+ huggingface-hub==0.21.3
23
+ idna==3.6
24
+ importlib_resources==6.1.2
25
+ Jinja2==3.1.3
26
+ jsonschema==4.21.1
27
+ jsonschema-specifications==2023.12.1
28
+ kiwisolver==1.4.5
29
+ markdown-it-py==3.0.0
30
+ MarkupSafe==2.1.5
31
+ matplotlib==3.8.3
32
+ mdurl==0.1.2
33
+ numpy==1.26.4
34
+ orjson==3.9.15
35
+ packaging==23.2
36
+ pandas==2.2.1
37
+ pillow==10.2.0
38
+ pydantic==2.6.3
39
+ pydantic_core==2.16.3
40
+ pydub==0.25.1
41
+ Pygments==2.17.2
42
+ pyparsing==3.1.1
43
+ python-dateutil==2.9.0.post0
44
+ python-multipart==0.0.9
45
+ pytz==2024.1
46
+ PyYAML==6.0.1
47
+ referencing==0.33.0
48
+ requests==2.31.0
49
+ rich==13.7.1
50
+ rpds-py==0.18.0
51
+ ruff==0.3.0
52
+ semantic-version==2.10.0
53
+ shellingham==1.5.4
54
+ six==1.16.0
55
+ sniffio==1.3.1
56
+ starlette==0.36.3
57
+ tomlkit==0.12.0
58
+ toolz==0.12.1
59
+ tqdm==4.66.2
60
+ typer==0.9.0
61
+ typing_extensions==4.10.0
62
+ tzdata==2024.1
63
+ urllib3==2.2.1
64
+ uvicorn==0.27.1
65
+ websockets==11.0.3
66
+ transformers==4.38.2
67
+ torch==2.2.1