Alex Lopez commited on
Commit
a957b1e
·
1 Parent(s): 685557b

initial files

Browse files
Files changed (7) hide show
  1. .devcontainer/devcontainer.json +22 -0
  2. .gitattributes +35 -35
  3. Dockerfile +17 -0
  4. README.md +14 -14
  5. app.py +45 -0
  6. requirements.txt +10 -0
  7. yolo_weigths.pt +3 -0
.devcontainer/devcontainer.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "Existing Dockerfile",
3
+ "build": {
4
+ // Sets the run context to one level up instead of the .devcontainer folder.
5
+ "context": "..",
6
+ // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
7
+ "dockerfile": "../Dockerfile"
8
+ },
9
+ "customizations": {
10
+ "vscode": {
11
+ "extensions": [
12
+ "ms-azuretools.vscode-docker",
13
+ "ms-python.python",
14
+ "ms-python.debugpy",
15
+ "ms-vscode.makefile-tools",
16
+ "ms-toolsai.jupyter",
17
+ "ms-toolsai.datawrangler",
18
+ "k--kato.intellij-idea-keybindings"
19
+ ]
20
+ }
21
+ }
22
+ }
.gitattributes CHANGED
@@ -1,35 +1,35 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.13-slim
2
+
3
+ # Install system dependencies
4
+ RUN apt-get update && apt-get upgrade -y && \
5
+ apt-get install -y build-essential git nano cmake libzbar0 libgl1 && \
6
+ pip install --upgrade pip
7
+
8
+ # Install UV package manager
9
+ RUN pip install uv
10
+
11
+ # Copy requirements file
12
+ COPY requirements.txt .
13
+
14
+ # Install dependencies
15
+ RUN uv pip install -r requirements.txt --system
16
+
17
+
README.md CHANGED
@@ -1,14 +1,14 @@
1
- ---
2
- title: Test Segmentation
3
- emoji: 🚀
4
- colorFrom: gray
5
- colorTo: green
6
- sdk: gradio
7
- sdk_version: 5.30.0
8
- app_file: app.py
9
- pinned: false
10
- license: mit
11
- short_description: Test Segmentation
12
- ---
13
-
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+ ---
2
+ title: Test Segmentation
3
+ emoji: 🚀
4
+ colorFrom: gray
5
+ colorTo: green
6
+ sdk: gradio
7
+ sdk_version: 5.30.0
8
+ app_file: app.py
9
+ pinned: false
10
+ license: mit
11
+ short_description: Test Segmentation
12
+ ---
13
+
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from ultralytics import YOLO
3
+ import cv2
4
+ import numpy as np
5
+ from PIL import Image
6
+
7
+ # Load the YOLO model with the provided weights
8
+ model = YOLO("yolo_weigths.pt")
9
+
10
+ def segment_image(input_image):
11
+ """
12
+ This function takes an image as input and, using a YOLO model, returns the detected objects in the image.
13
+
14
+ Args:
15
+ input_image: The image to be segmented.
16
+
17
+ Returns:
18
+ annotated_img: The annotated image with the detected objects.
19
+ """
20
+
21
+ # Convert gradio image to numpy array if it's not already
22
+ if isinstance(input_image, np.ndarray):
23
+ img = input_image
24
+ else:
25
+ img = np.array(input_image)
26
+
27
+ # Run inference
28
+ results = model(img)
29
+
30
+ # Get the annotated image from results
31
+ annotated_img = results[0].plot()
32
+
33
+ return annotated_img
34
+
35
+ # Create Gradio interface
36
+ demo = gr.Interface(
37
+ fn=segment_image,
38
+ inputs=gr.Image(),
39
+ outputs=gr.Image(),
40
+ title="YOLO Image Segmentation",
41
+ description="Upload an image to run object detection and segmentation using YOLO."
42
+ )
43
+
44
+ if __name__ == "__main__":
45
+ demo.launch(mcp_server=True)
requirements.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ numpy
2
+ opencv-python
3
+ matplotlib
4
+ loguru
5
+ ultralytics
6
+ gradio[mcp]
7
+
8
+
9
+
10
+
yolo_weigths.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5d0d7d575eaf028a16fbfd349ba5b29656e2c8180475cb3ee43ced94a69b0826
3
+ size 124842714