Toan Le
commited on
Commit
·
e4c8529
0
Parent(s):
Initial commit
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +38 -0
- .gitignore +5 -0
- .idea/.gitignore +3 -0
- .idea/.name +1 -0
- .idea/Age_Gender_Predictor.iml +10 -0
- .idea/inspectionProfiles/Project_Default.xml +7 -0
- .idea/inspectionProfiles/profiles_settings.xml +6 -0
- .idea/misc.xml +6 -0
- .idea/modules.xml +8 -0
- .idea/vcs.xml +7 -0
- README.md +13 -0
- app.py +106 -0
- models/age.pt +3 -0
- models/gender.pt +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/args.yaml +105 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/confusion_matrix.png +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/confusion_matrix_normalized.png +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/results.csv +51 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/results.png +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch0.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch1.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch2.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch26040.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch26041.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch26042.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch0_labels.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch0_pred.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch1_labels.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch1_pred.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch2_labels.jpg +3 -0
- notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch2_pred.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/args.yaml +105 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/confusion_matrix.png +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/confusion_matrix_normalized.png +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/results.csv +11 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/results.png +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/train_batch0.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/train_batch1.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/train_batch2.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch0_labels.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch0_pred.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch1_labels.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch1_pred.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch2_labels.jpg +3 -0
- notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch2_pred.jpg +3 -0
- notebooks/runs/classify/val2/confusion_matrix.png +3 -0
- notebooks/runs/classify/val2/confusion_matrix_normalized.png +3 -0
- notebooks/runs/classify/val2/val_batch0_labels.jpg +3 -0
- notebooks/runs/classify/val2/val_batch0_pred.jpg +3 -0
- notebooks/runs/classify/val2/val_batch1_labels.jpg +3 -0
.gitattributes
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
36 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
37 |
+
*.jpg filter=lfs diff=lfs merge=lfs -text
|
38 |
+
models/*.pt filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/notebooks/yolo11n-cls.pt
|
2 |
+
/notebooks/Age_Detection/v1_epochs_10_imgsz_64/weights
|
3 |
+
/notebooks/Gender_Detection/v1_epochs_10_imgsz_64/weights
|
4 |
+
IMG_20250823_130158.jpg
|
5 |
+
/dataset
|
.idea/.gitignore
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
# Default ignored files
|
2 |
+
/shelf/
|
3 |
+
/workspace.xml
|
.idea/.name
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
Age_Gender_Predictor
|
.idea/Age_Gender_Predictor.iml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<module type="PYTHON_MODULE" version="4">
|
3 |
+
<component name="NewModuleRootManager">
|
4 |
+
<content url="file://$MODULE_DIR$">
|
5 |
+
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
6 |
+
</content>
|
7 |
+
<orderEntry type="jdk" jdkName="Python 3.10 (Age_Predictor)" jdkType="Python SDK" />
|
8 |
+
<orderEntry type="sourceFolder" forTests="false" />
|
9 |
+
</component>
|
10 |
+
</module>
|
.idea/inspectionProfiles/Project_Default.xml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<component name="InspectionProjectProfileManager">
|
2 |
+
<profile version="1.0">
|
3 |
+
<option name="myName" value="Project Default" />
|
4 |
+
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
5 |
+
<inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" />
|
6 |
+
</profile>
|
7 |
+
</component>
|
.idea/inspectionProfiles/profiles_settings.xml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<component name="InspectionProjectProfileManager">
|
2 |
+
<settings>
|
3 |
+
<option name="USE_PROJECT_PROFILE" value="false" />
|
4 |
+
<version value="1.0" />
|
5 |
+
</settings>
|
6 |
+
</component>
|
.idea/misc.xml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="Black">
|
4 |
+
<option name="sdkName" value="Python 3.10 (Age_Predictor)" />
|
5 |
+
</component>
|
6 |
+
</project>
|
.idea/modules.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="ProjectModuleManager">
|
4 |
+
<modules>
|
5 |
+
<module fileurl="file://$PROJECT_DIR$/.idea/Age_Gender_Predictor.iml" filepath="$PROJECT_DIR$/.idea/Age_Gender_Predictor.iml" />
|
6 |
+
</modules>
|
7 |
+
</component>
|
8 |
+
</project>
|
.idea/vcs.xml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="VcsDirectoryMappings">
|
4 |
+
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
5 |
+
<mapping directory="$PROJECT_DIR$/Age-Gender-Detector" vcs="Git" />
|
6 |
+
</component>
|
7 |
+
</project>
|
README.md
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: Age Gender Detector
|
3 |
+
emoji: 🐠
|
4 |
+
colorFrom: blue
|
5 |
+
colorTo: yellow
|
6 |
+
sdk: gradio
|
7 |
+
sdk_version: 5.44.1
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
10 |
+
short_description: Detecting Face and Personality using YOLO
|
11 |
+
---
|
12 |
+
|
13 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import cv2
|
3 |
+
|
4 |
+
from huggingface_hub import hf_hub_download
|
5 |
+
from ultralytics import YOLO
|
6 |
+
from supervision import Detections
|
7 |
+
|
8 |
+
|
9 |
+
def detect_age_or_gender(face, model):
|
10 |
+
result = model(face, verbose=False)
|
11 |
+
index_mapping = result[0].names
|
12 |
+
|
13 |
+
result_index = result[0].probs.top1
|
14 |
+
label = index_mapping[result_index]
|
15 |
+
|
16 |
+
return label
|
17 |
+
|
18 |
+
|
19 |
+
def crop_face(img, bbox):
|
20 |
+
return img[bbox[1]:bbox[3], bbox[0]:bbox[2]]
|
21 |
+
|
22 |
+
|
23 |
+
def detect_age_gender(image):
|
24 |
+
new_image = image.copy()
|
25 |
+
fd_output = fd_model(image, verbose=False)
|
26 |
+
|
27 |
+
results = Detections.from_ultralytics(fd_output[0])
|
28 |
+
|
29 |
+
for ind, result in enumerate(results):
|
30 |
+
if len(results.xyxy[ind]) > 0:
|
31 |
+
bbox = [int(b) for b in results.xyxy[ind]] # xyxy = [x1, y1, x2, y2]
|
32 |
+
confidence = results.confidence[ind]
|
33 |
+
face = crop_face(image, bbox)
|
34 |
+
gender = detect_age_or_gender(face, gd_model)
|
35 |
+
age = detect_age_or_gender(face, ad_model)
|
36 |
+
new_image = cv2.rectangle(new_image, (bbox[0], bbox[1]), (bbox[2], bbox[3]), (36, 255, 12), 3)
|
37 |
+
cv2.putText(new_image,
|
38 |
+
f"{gender}, {age} ({confidence:.2f})",
|
39 |
+
(bbox[0], bbox[1] - 10),
|
40 |
+
cv2.FONT_HERSHEY_SIMPLEX,
|
41 |
+
1.0, (36, 255, 12), 2)
|
42 |
+
|
43 |
+
return new_image
|
44 |
+
|
45 |
+
|
46 |
+
def init_models():
|
47 |
+
# ----------------------- CONFIGURATIONS ----------------------- #
|
48 |
+
|
49 |
+
FACE_DETECTION_MODEL = "arnabdhar/YOLOv8-Face-Detection"
|
50 |
+
GENDER_DETECTION_MODEL = r".\models\gender.pt"
|
51 |
+
AGE_DETECTION_MODEL = r".\models\age.pt"
|
52 |
+
|
53 |
+
# -------------------------------------------------------------- #
|
54 |
+
# Load Face Detection (fd) Model
|
55 |
+
model_path = hf_hub_download(repo_id=FACE_DETECTION_MODEL, filename="model.pt")
|
56 |
+
fd_model = YOLO(model_path)
|
57 |
+
|
58 |
+
# Load Gender Detection (gd) Model
|
59 |
+
gd_model = YOLO(GENDER_DETECTION_MODEL)
|
60 |
+
|
61 |
+
# Load Age Detection (ad) Model
|
62 |
+
ad_model = YOLO(AGE_DETECTION_MODEL)
|
63 |
+
|
64 |
+
return fd_model, gd_model, ad_model
|
65 |
+
|
66 |
+
|
67 |
+
fd_model, gd_model, ad_model = init_models()
|
68 |
+
|
69 |
+
|
70 |
+
# Gradio Interface
|
71 |
+
with gr.Blocks(theme=gr.themes.Glass()) as demo:
|
72 |
+
gr.Markdown("# Age and Gender Detection App")
|
73 |
+
gr.Markdown("Click a button to either upload an image or use your camera for real-time detection.")
|
74 |
+
|
75 |
+
with gr.Tab("Single Image"):
|
76 |
+
gr.Interface(fn=detect_age_gender,
|
77 |
+
inputs=gr.Image(type="numpy", label="Input Image", width="100%", height=640),
|
78 |
+
outputs=gr.Image(type="numpy", label="Output Image", width="100%", height=640))
|
79 |
+
|
80 |
+
with gr.Tab("Video Capture"):
|
81 |
+
# The webcam image component. The `sources=["webcam"]` and `streaming=True`
|
82 |
+
# are the key components for real-time video processing.
|
83 |
+
webcam_input = gr.Image(
|
84 |
+
sources=["webcam"],
|
85 |
+
streaming=True,
|
86 |
+
interactive=True,
|
87 |
+
type="numpy",
|
88 |
+
label="Webcam Input",
|
89 |
+
width="100%",
|
90 |
+
height=480
|
91 |
+
)
|
92 |
+
|
93 |
+
# The output component where the processed video will be displayed.
|
94 |
+
output_image = gr.Image(
|
95 |
+
label="Processed Feed",
|
96 |
+
width="100%",
|
97 |
+
height=480
|
98 |
+
)
|
99 |
+
|
100 |
+
# The `stream()` method automatically calls the `process_frame` function
|
101 |
+
# for each frame of the video feed.
|
102 |
+
webcam_input.stream(detect_age_gender,
|
103 |
+
inputs=webcam_input,
|
104 |
+
outputs=output_image)
|
105 |
+
|
106 |
+
demo.launch()
|
models/age.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9f06b4af2ea3e843616bcdbe7f92db4d50bd34ac389eabd2a5237c2bf9ede4dd
|
3 |
+
size 3195522
|
models/gender.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ea9d79d097d0c9d6600b8dc97b218d85a5a38ad1fb5d8afa99c2dc394bc96d8e
|
3 |
+
size 3185154
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/args.yaml
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
task: classify
|
2 |
+
mode: train
|
3 |
+
model: yolo11n-cls.pt
|
4 |
+
data: D:\Documents\Personal Projects\Age_Predictor\dataset\age
|
5 |
+
epochs: 50
|
6 |
+
time: null
|
7 |
+
patience: 100
|
8 |
+
batch: 16
|
9 |
+
imgsz: 64
|
10 |
+
save: true
|
11 |
+
save_period: 1
|
12 |
+
cache: false
|
13 |
+
device: '0'
|
14 |
+
workers: 8
|
15 |
+
project: Age_Detection
|
16 |
+
name: v1_epochs_10_imgsz_64
|
17 |
+
exist_ok: false
|
18 |
+
pretrained: true
|
19 |
+
optimizer: auto
|
20 |
+
verbose: true
|
21 |
+
seed: 0
|
22 |
+
deterministic: true
|
23 |
+
single_cls: false
|
24 |
+
rect: false
|
25 |
+
cos_lr: false
|
26 |
+
close_mosaic: 10
|
27 |
+
resume: false
|
28 |
+
amp: true
|
29 |
+
fraction: 1.0
|
30 |
+
profile: false
|
31 |
+
freeze: null
|
32 |
+
multi_scale: false
|
33 |
+
overlap_mask: true
|
34 |
+
mask_ratio: 4
|
35 |
+
dropout: 0.1
|
36 |
+
val: true
|
37 |
+
split: val
|
38 |
+
save_json: false
|
39 |
+
conf: null
|
40 |
+
iou: 0.7
|
41 |
+
max_det: 300
|
42 |
+
half: false
|
43 |
+
dnn: false
|
44 |
+
plots: true
|
45 |
+
source: null
|
46 |
+
vid_stride: 1
|
47 |
+
stream_buffer: false
|
48 |
+
visualize: false
|
49 |
+
augment: false
|
50 |
+
agnostic_nms: false
|
51 |
+
classes: null
|
52 |
+
retina_masks: false
|
53 |
+
embed: null
|
54 |
+
show: false
|
55 |
+
save_frames: false
|
56 |
+
save_txt: false
|
57 |
+
save_conf: false
|
58 |
+
save_crop: false
|
59 |
+
show_labels: true
|
60 |
+
show_conf: true
|
61 |
+
show_boxes: true
|
62 |
+
line_width: null
|
63 |
+
format: torchscript
|
64 |
+
keras: false
|
65 |
+
optimize: false
|
66 |
+
int8: false
|
67 |
+
dynamic: false
|
68 |
+
simplify: true
|
69 |
+
opset: null
|
70 |
+
workspace: null
|
71 |
+
nms: false
|
72 |
+
lr0: 0.01
|
73 |
+
lrf: 0.01
|
74 |
+
momentum: 0.937
|
75 |
+
weight_decay: 0.0005
|
76 |
+
warmup_epochs: 3.0
|
77 |
+
warmup_momentum: 0.8
|
78 |
+
warmup_bias_lr: 0.1
|
79 |
+
box: 7.5
|
80 |
+
cls: 0.5
|
81 |
+
dfl: 1.5
|
82 |
+
pose: 12.0
|
83 |
+
kobj: 1.0
|
84 |
+
nbs: 64
|
85 |
+
hsv_h: 0.015
|
86 |
+
hsv_s: 0.7
|
87 |
+
hsv_v: 0.4
|
88 |
+
degrees: 0.0
|
89 |
+
translate: 0.1
|
90 |
+
scale: 0.5
|
91 |
+
shear: 0.0
|
92 |
+
perspective: 0.0
|
93 |
+
flipud: 0.0
|
94 |
+
fliplr: 0.5
|
95 |
+
bgr: 0.0
|
96 |
+
mosaic: 1.0
|
97 |
+
mixup: 0.0
|
98 |
+
cutmix: 0.0
|
99 |
+
copy_paste: 0.0
|
100 |
+
copy_paste_mode: flip
|
101 |
+
auto_augment: randaugment
|
102 |
+
erasing: 0.4
|
103 |
+
cfg: null
|
104 |
+
tracker: botsort.yaml
|
105 |
+
save_dir: Age_Detection\v1_epochs_10_imgsz_64
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/confusion_matrix.png
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/confusion_matrix_normalized.png
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/results.csv
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
epoch,time,train/loss,metrics/accuracy_top1,metrics/accuracy_top5,val/loss,lr/pg0,lr/pg1,lr/pg2
|
2 |
+
1,39.8968,1.50546,0.47769,1,1.31178,0.000369764,0.000369764,0.000369764
|
3 |
+
2,71.4215,1.29006,0.47615,1,1.22335,0.000725444,0.000725444,0.000725444
|
4 |
+
3,103.323,1.24479,0.52462,1,1.1242,0.00106646,0.00106646,0.00106646
|
5 |
+
4,134.984,1.16752,0.51769,1,1.08115,0.00104501,0.00104501,0.00104501
|
6 |
+
5,168.6,1.12464,0.56923,1,0.99712,0.00102301,0.00102301,0.00102301
|
7 |
+
6,200.556,1.07415,0.6,1,0.97209,0.00100101,0.00100101,0.00100101
|
8 |
+
7,233.207,1.04842,0.61846,1,0.94625,0.000979013,0.000979013,0.000979013
|
9 |
+
8,265.99,1.02075,0.61462,1,0.94576,0.000957015,0.000957015,0.000957015
|
10 |
+
9,299.865,0.99958,0.61769,1,0.91727,0.000935018,0.000935018,0.000935018
|
11 |
+
10,332.632,0.97341,0.62462,1,0.88747,0.00091302,0.00091302,0.00091302
|
12 |
+
11,364.538,0.96126,0.62846,1,0.84891,0.000891022,0.000891022,0.000891022
|
13 |
+
12,397.251,0.93969,0.65308,1,0.83945,0.000869024,0.000869024,0.000869024
|
14 |
+
13,428.483,0.92649,0.65231,1,0.83913,0.000847026,0.000847026,0.000847026
|
15 |
+
14,459.684,0.92771,0.66615,1,0.79836,0.000825029,0.000825029,0.000825029
|
16 |
+
15,489.858,0.89202,0.66769,1,0.80274,0.000803031,0.000803031,0.000803031
|
17 |
+
16,520.382,0.89517,0.68308,1,0.76369,0.000781033,0.000781033,0.000781033
|
18 |
+
17,551.139,0.86818,0.68615,1,0.76757,0.000759035,0.000759035,0.000759035
|
19 |
+
18,581.627,0.86119,0.68308,1,0.74839,0.000737037,0.000737037,0.000737037
|
20 |
+
19,612.286,0.84626,0.69,1,0.73546,0.00071504,0.00071504,0.00071504
|
21 |
+
20,643.011,0.84722,0.68538,1,0.74439,0.000693042,0.000693042,0.000693042
|
22 |
+
21,673.449,0.82029,0.70231,1,0.73034,0.000671044,0.000671044,0.000671044
|
23 |
+
22,704.418,0.822,0.71538,1,0.70538,0.000649046,0.000649046,0.000649046
|
24 |
+
23,737.054,0.80241,0.70846,1,0.69732,0.000627048,0.000627048,0.000627048
|
25 |
+
24,770.297,0.79708,0.71308,1,0.70301,0.000605051,0.000605051,0.000605051
|
26 |
+
25,805.182,0.78835,0.71154,1,0.70511,0.000583053,0.000583053,0.000583053
|
27 |
+
26,839.211,0.78004,0.70923,1,0.69374,0.000561055,0.000561055,0.000561055
|
28 |
+
27,871.778,0.76673,0.71538,1,0.68743,0.000539057,0.000539057,0.000539057
|
29 |
+
28,903.587,0.75361,0.71154,1,0.68434,0.000517059,0.000517059,0.000517059
|
30 |
+
29,936.609,0.75153,0.72846,1,0.65784,0.000495062,0.000495062,0.000495062
|
31 |
+
30,968.507,0.74354,0.73385,1,0.65915,0.000473064,0.000473064,0.000473064
|
32 |
+
31,1002.15,0.72961,0.73,1,0.65164,0.000451066,0.000451066,0.000451066
|
33 |
+
32,1034.1,0.72255,0.74,1,0.65184,0.000429068,0.000429068,0.000429068
|
34 |
+
33,1066.57,0.71336,0.72923,1,0.6429,0.00040707,0.00040707,0.00040707
|
35 |
+
34,1098.27,0.70091,0.73769,1,0.63652,0.000385073,0.000385073,0.000385073
|
36 |
+
35,1130.34,0.69825,0.74615,1,0.62928,0.000363075,0.000363075,0.000363075
|
37 |
+
36,1162.13,0.68777,0.75077,1,0.61067,0.000341077,0.000341077,0.000341077
|
38 |
+
37,1194.26,0.68739,0.76077,1,0.58878,0.000319079,0.000319079,0.000319079
|
39 |
+
38,1226,0.66904,0.75615,1,0.58873,0.000297081,0.000297081,0.000297081
|
40 |
+
39,1257.74,0.66037,0.75308,1,0.57628,0.000275084,0.000275084,0.000275084
|
41 |
+
40,1289.42,0.65611,0.75538,1,0.57719,0.000253086,0.000253086,0.000253086
|
42 |
+
41,1356.84,0.64313,0.75538,1,0.58251,0.000231088,0.000231088,0.000231088
|
43 |
+
42,1389.19,0.64535,0.76615,1,0.57156,0.00020909,0.00020909,0.00020909
|
44 |
+
43,1423.33,0.63081,0.76308,1,0.58021,0.000187092,0.000187092,0.000187092
|
45 |
+
44,1460.55,0.62656,0.76846,1,0.56875,0.000165095,0.000165095,0.000165095
|
46 |
+
45,1495.45,0.61681,0.77308,1,0.56192,0.000143097,0.000143097,0.000143097
|
47 |
+
46,1528.83,0.60092,0.76923,1,0.55573,0.000121099,0.000121099,0.000121099
|
48 |
+
47,1565.95,0.60727,0.77692,1,0.55138,9.91012e-05,9.91012e-05,9.91012e-05
|
49 |
+
48,1599.27,0.58829,0.77846,1,0.55949,7.71034e-05,7.71034e-05,7.71034e-05
|
50 |
+
49,1641.46,0.58452,0.77538,1,0.55386,5.51056e-05,5.51056e-05,5.51056e-05
|
51 |
+
50,1677,0.58169,0.77385,1,0.55305,3.31078e-05,3.31078e-05,3.31078e-05
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/results.png
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch0.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch1.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch2.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch26040.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch26041.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/train_batch26042.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch0_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch0_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch1_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch1_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch2_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Age_Detection/v1_epochs_10_imgsz_64/val_batch2_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/args.yaml
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
task: classify
|
2 |
+
mode: train
|
3 |
+
model: yolo11n-cls.pt
|
4 |
+
data: D:\Documents\Personal Projects\Age_Predictor\dataset
|
5 |
+
epochs: 10
|
6 |
+
time: null
|
7 |
+
patience: 100
|
8 |
+
batch: 16
|
9 |
+
imgsz: 64
|
10 |
+
save: true
|
11 |
+
save_period: 1
|
12 |
+
cache: false
|
13 |
+
device: '0'
|
14 |
+
workers: 8
|
15 |
+
project: Gender_Detection
|
16 |
+
name: v1_epochs_10_imgsz_64
|
17 |
+
exist_ok: false
|
18 |
+
pretrained: true
|
19 |
+
optimizer: auto
|
20 |
+
verbose: true
|
21 |
+
seed: 0
|
22 |
+
deterministic: true
|
23 |
+
single_cls: false
|
24 |
+
rect: false
|
25 |
+
cos_lr: false
|
26 |
+
close_mosaic: 10
|
27 |
+
resume: false
|
28 |
+
amp: true
|
29 |
+
fraction: 1.0
|
30 |
+
profile: false
|
31 |
+
freeze: null
|
32 |
+
multi_scale: false
|
33 |
+
overlap_mask: true
|
34 |
+
mask_ratio: 4
|
35 |
+
dropout: 0.1
|
36 |
+
val: true
|
37 |
+
split: val
|
38 |
+
save_json: false
|
39 |
+
conf: null
|
40 |
+
iou: 0.7
|
41 |
+
max_det: 300
|
42 |
+
half: false
|
43 |
+
dnn: false
|
44 |
+
plots: true
|
45 |
+
source: null
|
46 |
+
vid_stride: 1
|
47 |
+
stream_buffer: false
|
48 |
+
visualize: false
|
49 |
+
augment: false
|
50 |
+
agnostic_nms: false
|
51 |
+
classes: null
|
52 |
+
retina_masks: false
|
53 |
+
embed: null
|
54 |
+
show: false
|
55 |
+
save_frames: false
|
56 |
+
save_txt: false
|
57 |
+
save_conf: false
|
58 |
+
save_crop: false
|
59 |
+
show_labels: true
|
60 |
+
show_conf: true
|
61 |
+
show_boxes: true
|
62 |
+
line_width: null
|
63 |
+
format: torchscript
|
64 |
+
keras: false
|
65 |
+
optimize: false
|
66 |
+
int8: false
|
67 |
+
dynamic: false
|
68 |
+
simplify: true
|
69 |
+
opset: null
|
70 |
+
workspace: null
|
71 |
+
nms: false
|
72 |
+
lr0: 0.01
|
73 |
+
lrf: 0.01
|
74 |
+
momentum: 0.937
|
75 |
+
weight_decay: 0.0005
|
76 |
+
warmup_epochs: 3.0
|
77 |
+
warmup_momentum: 0.8
|
78 |
+
warmup_bias_lr: 0.1
|
79 |
+
box: 7.5
|
80 |
+
cls: 0.5
|
81 |
+
dfl: 1.5
|
82 |
+
pose: 12.0
|
83 |
+
kobj: 1.0
|
84 |
+
nbs: 64
|
85 |
+
hsv_h: 0.015
|
86 |
+
hsv_s: 0.7
|
87 |
+
hsv_v: 0.4
|
88 |
+
degrees: 0.0
|
89 |
+
translate: 0.1
|
90 |
+
scale: 0.5
|
91 |
+
shear: 0.0
|
92 |
+
perspective: 0.0
|
93 |
+
flipud: 0.0
|
94 |
+
fliplr: 0.5
|
95 |
+
bgr: 0.0
|
96 |
+
mosaic: 1.0
|
97 |
+
mixup: 0.0
|
98 |
+
cutmix: 0.0
|
99 |
+
copy_paste: 0.0
|
100 |
+
copy_paste_mode: flip
|
101 |
+
auto_augment: randaugment
|
102 |
+
erasing: 0.4
|
103 |
+
cfg: null
|
104 |
+
tracker: botsort.yaml
|
105 |
+
save_dir: Gender_Detection\v1_epochs_10_imgsz_64
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/confusion_matrix.png
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/confusion_matrix_normalized.png
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/results.csv
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
epoch,time,train/loss,metrics/accuracy_top1,metrics/accuracy_top5,val/loss,lr/pg0,lr/pg1,lr/pg2
|
2 |
+
1,43.6591,0.53319,0.84,1,0.33535,0.000553891,0.000553891,0.000553891
|
3 |
+
2,55.917,0.41222,0.895,1,0.23184,0.000999712,0.000999712,0.000999712
|
4 |
+
3,67.8506,0.34878,0.929,1,0.20388,0.00133551,0.00133551,0.00133551
|
5 |
+
4,79.3896,0.30645,0.939,1,0.15076,0.0011719,0.0011719,0.0011719
|
6 |
+
5,91.2226,0.25495,0.927,1,0.16954,0.00100687,0.00100687,0.00100687
|
7 |
+
6,103.373,0.23714,0.943,1,0.15134,0.000841835,0.000841835,0.000841835
|
8 |
+
7,115.049,0.21845,0.95,1,0.12975,0.000676802,0.000676802,0.000676802
|
9 |
+
8,126.169,0.19776,0.956,1,0.11275,0.000511769,0.000511769,0.000511769
|
10 |
+
9,138.43,0.19135,0.95,1,0.11109,0.000346736,0.000346736,0.000346736
|
11 |
+
10,150.22,0.16736,0.952,1,0.11423,0.000181703,0.000181703,0.000181703
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/results.png
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/train_batch0.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/train_batch1.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/train_batch2.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch0_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch0_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch1_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch1_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch2_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/Gender_Detection/v1_epochs_10_imgsz_64/val_batch2_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/runs/classify/val2/confusion_matrix.png
ADDED
![]() |
Git LFS Details
|
notebooks/runs/classify/val2/confusion_matrix_normalized.png
ADDED
![]() |
Git LFS Details
|
notebooks/runs/classify/val2/val_batch0_labels.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/runs/classify/val2/val_batch0_pred.jpg
ADDED
![]() |
Git LFS Details
|
notebooks/runs/classify/val2/val_batch1_labels.jpg
ADDED
![]() |
Git LFS Details
|