parent
98c52b31b8
commit
19f5c68ac4
@ -1,162 +1,104 @@
|
||||
# ---> Python
|
||||
# Byte-compiled / optimized / DLL files
|
||||
# -----------------------------
|
||||
# OS 기본 파일
|
||||
# -----------------------------
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# -----------------------------
|
||||
# Python 환경
|
||||
# -----------------------------
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
# 가상환경
|
||||
env/
|
||||
venv/
|
||||
.mipenv
|
||||
/*.egg-info/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
# Poetry / pipenv
|
||||
.cache/
|
||||
.venv/
|
||||
|
||||
# -----------------------------
|
||||
# IDE / Editor 관련
|
||||
# -----------------------------
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# -----------------------------
|
||||
# 데이터, 모델, 체크포인트
|
||||
# -----------------------------
|
||||
# 모델 파일
|
||||
*.pt
|
||||
*.pth
|
||||
*.ckpt
|
||||
*.onnx
|
||||
*.trt
|
||||
*.pb
|
||||
*.h5
|
||||
|
||||
# 학습 관련 출력
|
||||
runs/
|
||||
logs/
|
||||
tensorboard/
|
||||
lightning_logs/
|
||||
checkpoint/
|
||||
checkpoints/
|
||||
|
||||
# 데이터셋 (원하면 제외 가능)
|
||||
data/
|
||||
dataset/
|
||||
datasets/
|
||||
|
||||
# 결과물 (이미지/비디오/추론 결과)
|
||||
outputs/
|
||||
results/
|
||||
inference/
|
||||
*.jpg
|
||||
*.png
|
||||
*.jpeg
|
||||
*.bmp
|
||||
*.mp4
|
||||
*.avi
|
||||
|
||||
# -----------------------------
|
||||
# PyTorch & HuggingFace 캐시
|
||||
# -----------------------------
|
||||
/root/.cache/torch/
|
||||
/cache/
|
||||
/.torch/
|
||||
huggingface/
|
||||
transformers/
|
||||
|
||||
# -----------------------------
|
||||
# Jupyter 관련
|
||||
# -----------------------------
|
||||
.ipynb_checkpoints/
|
||||
*.ipynb~
|
||||
|
||||
# -----------------------------
|
||||
# 컴파일/빌드 아티팩트
|
||||
# -----------------------------
|
||||
build/
|
||||
dist/
|
||||
*.bin
|
||||
|
||||
# Django stuff:
|
||||
# -----------------------------
|
||||
# Temp 파일
|
||||
# -----------------------------
|
||||
tmp/
|
||||
temp/
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
# For a library or package, you might want to ignore these files since the code is
|
||||
# intended to run in multiple environments; otherwise, check them in:
|
||||
# .python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# poetry
|
||||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||
# commonly ignored for libraries.
|
||||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
||||
#poetry.lock
|
||||
|
||||
# pdm
|
||||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
||||
#pdm.lock
|
||||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
||||
# in version control.
|
||||
# https://pdm.fming.dev/#use-with-ide
|
||||
.pdm.toml
|
||||
|
||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
# -----------------------------
|
||||
# 환경 변수 파일
|
||||
# -----------------------------
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# PyCharm
|
||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
.env.*
|
||||
|
||||
@ -0,0 +1 @@
|
||||
Subproject commit 8853b21cfea6863c9a6797f7cb8cf0da8c50d920
|
||||
@ -0,0 +1,126 @@
|
||||
import argparse
|
||||
import os
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
import onnxruntime
|
||||
from paddleocr.ppocr.data.imaug.operators import (E2EResizeForTest, KeepKeys,
|
||||
NormalizeImage, ToCHWImage)
|
||||
from paddleocr.ppocr.postprocess.pg_postprocess import PGPostProcess
|
||||
|
||||
# from pgnet.chr_dct import chr_dct_list
|
||||
|
||||
|
||||
class PGNetPredictor:
|
||||
def __init__(self, img_path, cpu):
|
||||
self.img_path = img_path
|
||||
self.dict_path = "ic15_dict.txt"
|
||||
# if not os.path.exists(self.dict_path):
|
||||
# with open(self.dict_path, "w") as f:
|
||||
# f.writelines(chr_dct_list)
|
||||
if not cpu:
|
||||
providers = ["CUDAExecutionProvider"]
|
||||
else:
|
||||
providers = ["CPUExecutionProvider"]
|
||||
self.sess = onnxruntime.InferenceSession(
|
||||
args.model_path, providers=providers)
|
||||
|
||||
def preprocess(self, img_path):
|
||||
img = cv2.imread(img_path)
|
||||
self.ori_im = img.copy()
|
||||
data = {"image": img}
|
||||
transforms = [
|
||||
E2EResizeForTest(max_side_len=768, valid_set="totaltext"),
|
||||
NormalizeImage(
|
||||
scale=1.0 / 255.0,
|
||||
mean=[0.485, 0.456, 0.406],
|
||||
std=[0.229, 0.224, 0.225],
|
||||
order="hwc",
|
||||
),
|
||||
ToCHWImage(),
|
||||
KeepKeys(keep_keys=["image", "shape"]),
|
||||
]
|
||||
for transform in transforms:
|
||||
data = transform(data)
|
||||
img, shape_list = data
|
||||
img = np.expand_dims(img, axis=0)
|
||||
shape_list = np.expand_dims(shape_list, axis=0)
|
||||
return img, shape_list
|
||||
|
||||
def predict(self, img):
|
||||
ort_inputs = {self.sess.get_inputs()[0].name: img}
|
||||
outputs = self.sess.run(None, ort_inputs)
|
||||
preds = {}
|
||||
preds["f_border"] = outputs[0]
|
||||
preds["f_char"] = outputs[1]
|
||||
preds["f_direction"] = outputs[2]
|
||||
preds["f_score"] = outputs[3]
|
||||
return preds
|
||||
|
||||
def filter_tag_det_res_only_clip(self, dt_boxes, image_shape):
|
||||
img_height, img_width = image_shape[0:2]
|
||||
dt_boxes_new = []
|
||||
for box in dt_boxes:
|
||||
box = self.clip_det_res(box, img_height, img_width)
|
||||
dt_boxes_new.append(box)
|
||||
dt_boxes = np.array(dt_boxes_new)
|
||||
return dt_boxes
|
||||
|
||||
def clip_det_res(self, points, img_height, img_width):
|
||||
for pno in range(points.shape[0]):
|
||||
points[pno, 0] = int(min(max(points[pno, 0], 0), img_width - 1))
|
||||
points[pno, 1] = int(min(max(points[pno, 1], 0), img_height - 1))
|
||||
return points
|
||||
|
||||
def postprocess(self, preds, shape_list):
|
||||
pgpostprocess = PGPostProcess(
|
||||
character_dict_path=self.dict_path,
|
||||
valid_set="totaltext",
|
||||
score_thresh=0.5,
|
||||
mode="fast",
|
||||
)
|
||||
post_result = pgpostprocess(preds, shape_list)
|
||||
points, strs = post_result["points"], post_result["texts"]
|
||||
dt_boxes = self.filter_tag_det_res_only_clip(points, self.ori_im.shape)
|
||||
return dt_boxes, strs
|
||||
|
||||
def __call__(self):
|
||||
img, shape_list = self.preprocess(self.img_path)
|
||||
preds = self.predict(img)
|
||||
dt_boxes, strs = self.postprocess(preds, shape_list)
|
||||
return dt_boxes, strs
|
||||
|
||||
def draw(self, dt_boxes, strs, img_path):
|
||||
src_im = cv2.imread(img_path)
|
||||
width, height, _ = src_im.shape
|
||||
for box, str in zip(dt_boxes, strs):
|
||||
box = box.astype(np.int32).reshape((-1, 1, 2))
|
||||
cv2.polylines(src_im, [box], True, color=(
|
||||
255, 255, 0), thickness=2)
|
||||
cv2.putText(
|
||||
src_im,
|
||||
str,
|
||||
org=(int(box[0, 0, 0]), int(box[0, 0, 1])),
|
||||
fontFace=cv2.FONT_HERSHEY_COMPLEX,
|
||||
fontScale=0.7 / 500 * width / 2,
|
||||
color=(0, 255, 0),
|
||||
thickness=int(1 / 1000 * width),
|
||||
)
|
||||
img_out_name = os.path.basename(img_path).split(".")[0]
|
||||
img_out_name = f"{img_out_name}_pgnet.jpg"
|
||||
cv2.imwrite(img_out_name, src_im)
|
||||
return src_im
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="PGPNET inference")
|
||||
parser.add_argument("model_path", type=str, help="onnxmodel path")
|
||||
parser.add_argument("img_path", type=str, help="image path")
|
||||
parser.add_argument(
|
||||
"--cpu", action="store_true", help="cpu inference, default device is gpu"
|
||||
)
|
||||
args = parser.parse_args()
|
||||
pgnetpredictor = PGNetPredictor(args.img_path, args.cpu)
|
||||
dt_boxes, strs = pgnetpredictor()
|
||||
print(f"Predict string:{strs}")
|
||||
pgnetpredictor.draw(dt_boxes, strs, args.img_path)
|
||||
@ -0,0 +1,2 @@
|
||||
onnxruntime-gpu
|
||||
paddleocr
|
||||
@ -0,0 +1,127 @@
|
||||
import argparse
|
||||
import os
|
||||
import cv2
|
||||
import numpy as np
|
||||
import onnxruntime
|
||||
from paddleocr.ppocr.data.imaug.operators import (
|
||||
E2EResizeForTest, KeepKeys, NormalizeImage, ToCHWImage
|
||||
)
|
||||
# from ppocr.data.imaug.operators import (
|
||||
# E2EResizeForTest, KeepKeys, NormalizeImage, ToCHWImage
|
||||
# )
|
||||
from paddleocr.ppocr.postprocess.pg_postprocess import PGPostProcess
|
||||
# from ppocr.postprocess.pg_postprocess import PGPostProcess
|
||||
from pgnet.chr_dct import chr_dct_list
|
||||
|
||||
|
||||
class PGNetPredictor:
|
||||
def __init__(self, model_path, cpu=False):
|
||||
self.model_path = model_path
|
||||
self.dict_path = "ic15_dict.txt"
|
||||
|
||||
if not os.path.exists(self.dict_path):
|
||||
with open(self.dict_path, "w") as f:
|
||||
f.writelines(chr_dct_list)
|
||||
|
||||
providers = ["CPUExecutionProvider"] if cpu else ["CUDAExecutionProvider"]
|
||||
self.sess = onnxruntime.InferenceSession(model_path, providers=providers)
|
||||
|
||||
self.transforms = [
|
||||
E2EResizeForTest(max_side_len=768, valid_set="totaltext"),
|
||||
NormalizeImage(scale=1/255.0, mean=[0.485,0.456,0.406],
|
||||
std=[0.229,0.224,0.225], order="hwc"),
|
||||
ToCHWImage(),
|
||||
KeepKeys(keep_keys=["image", "shape"]),
|
||||
]
|
||||
|
||||
self.pgpostprocess = PGPostProcess(
|
||||
character_dict_path=self.dict_path,
|
||||
valid_set="totaltext",
|
||||
score_thresh=0.5,
|
||||
mode="fast",
|
||||
)
|
||||
|
||||
def preprocess(self, img):
|
||||
self.ori_im = img.copy()
|
||||
data = {"image": img}
|
||||
|
||||
for transform in self.transforms:
|
||||
data = transform(data)
|
||||
|
||||
img, shape_list = data
|
||||
return np.expand_dims(img, axis=0), np.expand_dims(shape_list, axis=0)
|
||||
|
||||
def predict(self, img):
|
||||
ort_inputs = {self.sess.get_inputs()[0].name: img}
|
||||
outputs = self.sess.run(None, ort_inputs)
|
||||
|
||||
return {
|
||||
"f_border": outputs[0],
|
||||
"f_char": outputs[1],
|
||||
"f_direction": outputs[2],
|
||||
"f_score": outputs[3],
|
||||
}
|
||||
|
||||
def clip_boxes(self, boxes, shape):
|
||||
h, w = shape[:2]
|
||||
clipped = []
|
||||
for box in boxes:
|
||||
box[:, 0] = np.clip(box[:, 0], 0, w - 1)
|
||||
box[:, 1] = np.clip(box[:, 1], 0, h - 1)
|
||||
clipped.append(box)
|
||||
return np.array(clipped)
|
||||
|
||||
def postprocess(self, preds, shape_list):
|
||||
result = self.pgpostprocess(preds, shape_list)
|
||||
pts, texts = result["points"], result["texts"]
|
||||
return self.clip_boxes(pts, self.ori_im.shape), texts
|
||||
|
||||
def infer(self, img):
|
||||
img_input, shape = self.preprocess(img)
|
||||
preds = self.predict(img_input)
|
||||
return self.postprocess(preds, shape)
|
||||
|
||||
|
||||
def draw_results(frame, boxes, texts):
|
||||
for box, text in zip(boxes, texts):
|
||||
box = box.astype(int).reshape(-1, 1, 2)
|
||||
cv2.polylines(frame, [box], True, (255,255,0), 2)
|
||||
cv2.putText(frame, text, tuple(box[0][0]), cv2.FONT_HERSHEY_SIMPLEX,
|
||||
0.7, (0,255,0), 2)
|
||||
return frame
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="PGNet Video OCR")
|
||||
parser.add_argument("--model", type=str, required=True)
|
||||
parser.add_argument("--video", type=str, required=True)
|
||||
parser.add_argument("--cpu", action="store_true")
|
||||
args = parser.parse_args()
|
||||
|
||||
predictor = PGNetPredictor(args.model, args.cpu)
|
||||
|
||||
cap = cv2.VideoCapture(args.video)
|
||||
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
|
||||
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
|
||||
fps = cap.get(cv2.CAP_PROP_FPS)
|
||||
|
||||
out_name = os.path.splitext(os.path.basename(args.video))[0] + "_pgnet_output.mp4"
|
||||
out_path = os.path.join(os.path.dirname(args.video), out_name)
|
||||
|
||||
writer = cv2.VideoWriter(out_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (width, height))
|
||||
|
||||
print(f"▶ Processing video... (Output: {out_path})")
|
||||
|
||||
while True:
|
||||
ret, frame = cap.read()
|
||||
if not ret:
|
||||
break
|
||||
|
||||
boxes, texts = predictor.infer(frame)
|
||||
frame = draw_results(frame, boxes, texts)
|
||||
writer.write(frame)
|
||||
|
||||
cap.release()
|
||||
writer.release()
|
||||
|
||||
print("🎉 Done! Video saved:", out_path)
|
||||
@ -0,0 +1,39 @@
|
||||
import torch
|
||||
from torchvision import datasets, transforms
|
||||
from torch.utils.data import DataLoader
|
||||
import os
|
||||
|
||||
def get_face_dataloaders(data_dir, batch_size=64, num_workers=4):
|
||||
"""
|
||||
Input: data_dir (e.g., ~/face_exp/datasets)
|
||||
Structure assumed: data_dir/CASIA-WebFace/ID/images.jpg
|
||||
"""
|
||||
|
||||
# 1. Train Transform (Augmentation + Resize to 128x128)
|
||||
train_transform = transforms.Compose([
|
||||
transforms.Resize((128, 128), interpolation=transforms.InterpolationMode.BICUBIC),
|
||||
transforms.RandomHorizontalFlip(p=0.5),
|
||||
transforms.ColorJitter(brightness=0.1, contrast=0.1, saturation=0.1),
|
||||
transforms.ToTensor(),
|
||||
transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
|
||||
])
|
||||
|
||||
# 2. Path Setup
|
||||
train_dir = os.path.join(data_dir, 'CASIA-WebFace')
|
||||
|
||||
if not os.path.exists(train_dir):
|
||||
raise FileNotFoundError(f"데이터셋 경로를 찾을 수 없습니다: {train_dir}\n'CASIA-WebFace' 폴더가 해당 위치에 있는지 확인해주세요.")
|
||||
|
||||
# 3. Dataset & Loader
|
||||
train_dataset = datasets.ImageFolder(root=train_dir, transform=train_transform)
|
||||
|
||||
train_loader = DataLoader(
|
||||
train_dataset,
|
||||
batch_size=batch_size,
|
||||
shuffle=True,
|
||||
num_workers=num_workers,
|
||||
pin_memory=True,
|
||||
drop_last=True
|
||||
)
|
||||
|
||||
return train_loader, len(train_dataset.classes)
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,149 @@
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
import torch.nn.functional as F
|
||||
import math
|
||||
|
||||
# --------------------------------------------------------
|
||||
# Basic Blocks (Quantization Friendly: ReLU used)
|
||||
# --------------------------------------------------------
|
||||
def conv3x3(in_planes, out_planes, stride=1):
|
||||
return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride,
|
||||
padding=1, bias=False)
|
||||
|
||||
class Bottleneck(nn.Module):
|
||||
expansion = 4
|
||||
|
||||
def __init__(self, inplanes, planes, stride=1, downsample=None):
|
||||
super(Bottleneck, self).__init__()
|
||||
# Kernel size restricted to 1 and 3 for board compatibility
|
||||
self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False)
|
||||
self.bn1 = nn.BatchNorm2d(planes)
|
||||
self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, padding=1, bias=False)
|
||||
self.bn2 = nn.BatchNorm2d(planes)
|
||||
self.conv3 = nn.Conv2d(planes, planes * self.expansion, kernel_size=1, bias=False)
|
||||
self.bn3 = nn.BatchNorm2d(planes * self.expansion)
|
||||
# self.relu = nn.ReLU(inplace=True) # PReLU -> ReLU
|
||||
self.relu = nn.ReLU(inplace=False) # PReLU -> ReLU
|
||||
self.downsample = downsample
|
||||
self.stride = stride
|
||||
|
||||
def forward(self, x):
|
||||
residual = x
|
||||
out = self.conv1(x)
|
||||
out = self.bn1(out)
|
||||
out = self.relu(out)
|
||||
out = self.conv2(out)
|
||||
out = self.bn2(out)
|
||||
out = self.relu(out)
|
||||
out = self.conv3(out)
|
||||
out = self.bn3(out)
|
||||
if self.downsample is not None:
|
||||
residual = self.downsample(x)
|
||||
out += residual
|
||||
out = self.relu(out)
|
||||
return out
|
||||
|
||||
# --------------------------------------------------------
|
||||
# Backbone: Modified ResNet-50
|
||||
# --------------------------------------------------------
|
||||
class ResNetFace(nn.Module):
|
||||
def __init__(self, block, layers, embedding_size=128):
|
||||
super(ResNetFace, self).__init__()
|
||||
self.inplanes = 64
|
||||
|
||||
# Stem Block: 7x7 replaced by three 3x3 convs
|
||||
self.stem = nn.Sequential(
|
||||
nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1, bias=False),
|
||||
nn.BatchNorm2d(64),
|
||||
# nn.ReLU(inplace=True),
|
||||
nn.ReLU(inplace=False),
|
||||
nn.Conv2d(64, 64, kernel_size=3, stride=1, padding=1, bias=False),
|
||||
nn.BatchNorm2d(64),
|
||||
# nn.ReLU(inplace=True),
|
||||
nn.ReLU(inplace=False),
|
||||
nn.Conv2d(64, 64, kernel_size=3, stride=2, padding=1, bias=False),
|
||||
nn.BatchNorm2d(64),
|
||||
# nn.ReLU(inplace=True),
|
||||
nn.ReLU(inplace=False),
|
||||
)
|
||||
self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
|
||||
|
||||
self.layer1 = self._make_layer(block, 64, layers[0])
|
||||
self.layer2 = self._make_layer(block, 128, layers[1], stride=2)
|
||||
self.layer3 = self._make_layer(block, 256, layers[2], stride=2)
|
||||
self.layer4 = self._make_layer(block, 512, layers[3], stride=2)
|
||||
|
||||
# Output Head: 128x128 Input -> 4x4 Feature Map
|
||||
self.avgpool = nn.AvgPool2d(4) # Result: 1x1
|
||||
|
||||
# FC layer replaced by 1x1 Conv for 128-d embedding
|
||||
self.fc_conv = nn.Conv2d(512 * block.expansion, embedding_size, kernel_size=1, bias=False)
|
||||
self.bn_last = nn.BatchNorm2d(embedding_size)
|
||||
|
||||
# Init weights
|
||||
for m in self.modules():
|
||||
if isinstance(m, nn.Conv2d):
|
||||
nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
|
||||
elif isinstance(m, nn.BatchNorm2d):
|
||||
nn.init.constant_(m.weight, 1)
|
||||
nn.init.constant_(m.bias, 0)
|
||||
|
||||
def _make_layer(self, block, planes, blocks, stride=1):
|
||||
downsample = None
|
||||
if stride != 1 or self.inplanes != planes * block.expansion:
|
||||
downsample = nn.Sequential(
|
||||
nn.Conv2d(self.inplanes, planes * block.expansion,
|
||||
kernel_size=1, stride=stride, bias=False),
|
||||
nn.BatchNorm2d(planes * block.expansion),
|
||||
)
|
||||
layers = []
|
||||
layers.append(block(self.inplanes, planes, stride, downsample))
|
||||
self.inplanes = planes * block.expansion
|
||||
for _ in range(1, blocks):
|
||||
layers.append(block(self.inplanes, planes))
|
||||
return nn.Sequential(*layers)
|
||||
|
||||
def forward(self, x):
|
||||
x = self.stem(x)
|
||||
x = self.maxpool(x)
|
||||
x = self.layer1(x)
|
||||
x = self.layer2(x)
|
||||
x = self.layer3(x)
|
||||
x = self.layer4(x)
|
||||
x = self.avgpool(x)
|
||||
x = self.fc_conv(x)
|
||||
x = self.bn_last(x) # Output: [N, 128, 1, 1]
|
||||
return x
|
||||
|
||||
# --------------------------------------------------------
|
||||
# ArcFace Loss Header
|
||||
# --------------------------------------------------------
|
||||
class ArcFace(nn.Module):
|
||||
def __init__(self, in_features, out_features, s=64.0, m=0.50):
|
||||
super(ArcFace, self).__init__()
|
||||
self.in_features = in_features
|
||||
self.out_features = out_features
|
||||
self.s = s
|
||||
self.m = m
|
||||
self.weight = nn.Parameter(torch.FloatTensor(out_features, in_features))
|
||||
nn.init.xavier_uniform_(self.weight)
|
||||
|
||||
def forward(self, input, label):
|
||||
# Flatten [N, 128, 1, 1] -> [N, 128] for loss calculation
|
||||
embedding = input.view(input.size(0), -1)
|
||||
|
||||
cosine = F.linear(F.normalize(embedding), F.normalize(self.weight))
|
||||
|
||||
# Stable implementation of ArcFace
|
||||
theta = torch.acos(torch.clamp(cosine, -1.0 + 1e-7, 1.0 - 1e-7))
|
||||
target_logits = torch.cos(theta + self.m)
|
||||
|
||||
one_hot = torch.zeros_like(cosine)
|
||||
one_hot.scatter_(1, label.view(-1, 1).long(), 1)
|
||||
|
||||
output = one_hot * target_logits + (1.0 - one_hot) * cosine
|
||||
output *= self.s
|
||||
return output
|
||||
|
||||
def get_face_model():
|
||||
return ResNetFace(Bottleneck, [3, 4, 6, 3], embedding_size=128)
|
||||
@ -0,0 +1,120 @@
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
import torch.optim as optim
|
||||
import os
|
||||
import argparse
|
||||
from tqdm import tqdm
|
||||
from datetime import datetime # 시간 정보를 가져오기 위해 추가
|
||||
|
||||
# Import our custom modules
|
||||
from model import get_face_model, ArcFace
|
||||
from dataset import get_face_dataloaders
|
||||
|
||||
def main():
|
||||
# --------------------------------------------------------
|
||||
# 1. Hyperparameters & Settings
|
||||
# --------------------------------------------------------
|
||||
parser = argparse.ArgumentParser(description='Face Recognition Training for Apache 6')
|
||||
|
||||
# 데이터셋 경로 (사용자 환경에 맞게 기본값 설정)
|
||||
parser.add_argument('--data_dir', type=str, default='/home/cuuva/face_exp/datasets', help='Path to datasets')
|
||||
|
||||
# 결과 저장 최상위 경로 (여기 아래에 시간별 폴더가 생김)
|
||||
parser.add_argument('--project_dir', type=str, default='./results', help='Base directory for results')
|
||||
|
||||
parser.add_argument('--epochs', type=int, default=20, help='Number of epochs')
|
||||
parser.add_argument('--batch_size', type=int, default=64, help='Batch size')
|
||||
parser.add_argument('--lr', type=float, default=0.1, help='Learning rate')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
||||
print(f"Device: {device}")
|
||||
|
||||
# --------------------------------------------------------
|
||||
# [수정됨] 실험 디렉토리 생성 로직 (yy-mm-dd-hour-minute)
|
||||
# --------------------------------------------------------
|
||||
# 현재 시간 구하기
|
||||
current_time = datetime.now().strftime("%y-%m-%d-%H-%M")
|
||||
|
||||
# 최종 저장 경로: ./results/23-12-12-15-30/
|
||||
save_dir = os.path.join(args.project_dir, current_time)
|
||||
|
||||
# 폴더 생성
|
||||
os.makedirs(save_dir, exist_ok=True)
|
||||
print(f"✅ Experiment results will be saved to: {save_dir}")
|
||||
|
||||
# --------------------------------------------------------
|
||||
# 2. Load Data
|
||||
# --------------------------------------------------------
|
||||
print("Loading Data...")
|
||||
try:
|
||||
train_loader, num_classes = get_face_dataloaders(args.data_dir, args.batch_size)
|
||||
print(f"Classes (People): {num_classes}, Batch Size: {args.batch_size}")
|
||||
except Exception as e:
|
||||
print(f"❌ Error loading data: {e}")
|
||||
return
|
||||
|
||||
# --------------------------------------------------------
|
||||
# 3. Initialize Model & Loss
|
||||
# --------------------------------------------------------
|
||||
# Backbone (보드에 배포할 모델)
|
||||
backbone = get_face_model().to(device)
|
||||
|
||||
# ArcFace Header (학습용 Loss 계산기)
|
||||
metric_fc = ArcFace(in_features=128, out_features=num_classes).to(device)
|
||||
|
||||
# Loss
|
||||
criterion = nn.CrossEntropyLoss()
|
||||
|
||||
# Optimizer
|
||||
optimizer = optim.SGD([
|
||||
{'params': backbone.parameters()},
|
||||
{'params': metric_fc.parameters()}
|
||||
], lr=args.lr, momentum=0.9, weight_decay=5e-4)
|
||||
|
||||
# Scheduler
|
||||
scheduler = optim.lr_scheduler.MultiStepLR(optimizer, milestones=[8, 14, 18], gamma=0.1)
|
||||
|
||||
# --------------------------------------------------------
|
||||
# 4. Training Loop
|
||||
# --------------------------------------------------------
|
||||
print("🚀 Start Training...")
|
||||
|
||||
for epoch in range(args.epochs):
|
||||
backbone.train()
|
||||
metric_fc.train()
|
||||
|
||||
running_loss = 0.0
|
||||
pbar = tqdm(train_loader, desc=f"Epoch {epoch+1}/{args.epochs}")
|
||||
|
||||
for images, labels in pbar:
|
||||
images, labels = images.to(device), labels.to(device)
|
||||
|
||||
optimizer.zero_grad()
|
||||
|
||||
# Forward Pass
|
||||
features = backbone(images) # [N, 128, 1, 1]
|
||||
outputs = metric_fc(features, labels) # [N, Num_Classes]
|
||||
|
||||
# Loss Calc & Backward
|
||||
loss = criterion(outputs, labels)
|
||||
loss.backward()
|
||||
optimizer.step()
|
||||
|
||||
running_loss += loss.item()
|
||||
pbar.set_postfix({'loss': running_loss / (pbar.n + 1)})
|
||||
|
||||
scheduler.step()
|
||||
|
||||
# [수정됨] Save Checkpoint (.pt 확장자 사용)
|
||||
# 해당 실험 폴더(save_dir) 안에 저장됨
|
||||
save_path = os.path.join(save_dir, f"backbone_epoch_{epoch+1}.pt")
|
||||
torch.save(backbone.state_dict(), save_path)
|
||||
|
||||
# 마지막 에폭일 때 로그 출력
|
||||
if epoch == args.epochs - 1:
|
||||
print(f"🎉 Training Finished! Final model saved at: {save_path}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@ -0,0 +1,119 @@
|
||||
import torch
|
||||
import torch.nn.functional as F
|
||||
from torch.utils.data import Dataset, DataLoader
|
||||
from torchvision import transforms
|
||||
from PIL import Image
|
||||
import os
|
||||
import numpy as np
|
||||
|
||||
# --------------------------------------------------------
|
||||
# 1. LFW Dataset Loader
|
||||
# --------------------------------------------------------
|
||||
class LFWDataset(Dataset):
|
||||
def __init__(self, lfw_dir, pairs_path, transform=None):
|
||||
self.lfw_dir = lfw_dir
|
||||
self.pairs_path = pairs_path
|
||||
self.transform = transform
|
||||
self.validation_images = self.get_lfw_paths(lfw_dir)
|
||||
|
||||
def get_lfw_paths(self, lfw_dir):
|
||||
# pairs.txt 파싱하여 이미지 경로 쌍과 정답(issame) 리스트 생성
|
||||
pairs = []
|
||||
with open(self.pairs_path, 'r') as f:
|
||||
lines = f.readlines()[1:] # 첫 줄(헤더) 건너뜀
|
||||
|
||||
for line in lines:
|
||||
p = line.strip().split('\t')
|
||||
|
||||
if len(p) == 3: # 같은 사람 (name, img1_num, img2_num)
|
||||
name = p[0]
|
||||
img1 = os.path.join(lfw_dir, name, f"{name}_{int(p[1]):04d}.jpg")
|
||||
img2 = os.path.join(lfw_dir, name, f"{name}_{int(p[2]):04d}.jpg")
|
||||
issame = True
|
||||
pairs.append((img1, img2, issame))
|
||||
|
||||
elif len(p) == 4: # 다른 사람 (name1, img1_num, name2, img2_num)
|
||||
name1 = p[0]
|
||||
img1 = os.path.join(lfw_dir, name1, f"{name1}_{int(p[1]):04d}.jpg")
|
||||
name2 = p[2]
|
||||
img2 = os.path.join(lfw_dir, name2, f"{name2}_{int(p[3]):04d}.jpg")
|
||||
issame = False
|
||||
pairs.append((img1, img2, issame))
|
||||
return pairs
|
||||
|
||||
def __len__(self):
|
||||
return len(self.validation_images)
|
||||
|
||||
def __getitem__(self, index):
|
||||
img1_path, img2_path, issame = self.validation_images[index]
|
||||
|
||||
try:
|
||||
img1 = Image.open(img1_path).convert('RGB')
|
||||
img2 = Image.open(img2_path).convert('RGB')
|
||||
except Exception as e:
|
||||
# 혹시 파일이 없을 경우를 대비한 더미 (실제론 파일 확인 필요)
|
||||
print(f"File Load Error: {e}")
|
||||
img1 = Image.new('RGB', (128, 128))
|
||||
img2 = Image.new('RGB', (128, 128))
|
||||
|
||||
if self.transform:
|
||||
img1 = self.transform(img1)
|
||||
img2 = self.transform(img2)
|
||||
|
||||
return img1, img2, issame
|
||||
|
||||
# --------------------------------------------------------
|
||||
# 2. Evaluation Function
|
||||
# --------------------------------------------------------
|
||||
def validate_lfw(model, lfw_loader, device):
|
||||
model.eval()
|
||||
similarities = []
|
||||
actual_issame = []
|
||||
|
||||
print("🔍 Validating on LFW...")
|
||||
with torch.no_grad():
|
||||
for img1, img2, issame in lfw_loader:
|
||||
img1, img2 = img1.to(device), img2.to(device)
|
||||
|
||||
# Feature Extraction
|
||||
feat1 = model(img1) # [B, 128, 1, 1]
|
||||
feat2 = model(img2) # [B, 128, 1, 1]
|
||||
|
||||
# Flatten
|
||||
feat1 = feat1.view(feat1.size(0), -1)
|
||||
feat2 = feat2.view(feat2.size(0), -1)
|
||||
|
||||
# Cosine Similarity Calculation
|
||||
# 128차원 벡터의 코사인 유사도 (-1 ~ 1)
|
||||
cos_sim = F.cosine_similarity(feat1, feat2)
|
||||
|
||||
similarities.extend(cos_sim.cpu().numpy())
|
||||
actual_issame.extend(issame.numpy())
|
||||
|
||||
similarities = np.array(similarities)
|
||||
actual_issame = np.array(actual_issame)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Best Threshold Search (단순화된 버전)
|
||||
# ----------------------------------------------------
|
||||
best_acc = 0.0
|
||||
best_th = 0.0
|
||||
|
||||
# -1.0 부터 1.0 까지 0.01 단위로 Threshold를 이동하며 정확도 측정
|
||||
thresholds = np.arange(-1.0, 1.0, 0.01)
|
||||
|
||||
for th in thresholds:
|
||||
# th보다 크면 True(동일인), 작으면 False(타인) 예측
|
||||
predict_issame = np.greater(similarities, th)
|
||||
|
||||
# 정답과 비교
|
||||
true_positives = np.sum(np.logical_and(predict_issame, actual_issame))
|
||||
true_negatives = np.sum(np.logical_and(np.logical_not(predict_issame), np.logical_not(actual_issame)))
|
||||
|
||||
acc = (true_positives + true_negatives) / len(actual_issame)
|
||||
|
||||
if acc > best_acc:
|
||||
best_acc = acc
|
||||
best_th = th
|
||||
|
||||
return best_acc, best_th
|
||||
@ -0,0 +1,9 @@
|
||||
# path: /home/cuuva/experiment/datasets/VisDrone # 데이터 경로
|
||||
train: /home/cuuva/experiment/datasets/coco5class/images/train
|
||||
val: /home/cuuva/experiment/datasets/coco5class/images/val
|
||||
test: /home/cuuva/experiment/datasets/coco5class/images/test
|
||||
|
||||
# nc: 7
|
||||
nc: 5
|
||||
|
||||
names: ['person','car', 'truck', 'bus', 'motor']
|
||||
@ -0,0 +1,342 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "6b410dab",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n",
|
||||
"\n",
|
||||
"import torch"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "f66929b6",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"torch.cuda.is_available()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "e5e2ab7b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"🔍 Checking split: train (files: 117266)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: val (files: 4952)\n",
|
||||
"\n",
|
||||
"📌 클래스 통계 결과:\n",
|
||||
" - Class 0: 268029 개\n",
|
||||
" - Class 1: 45449 개\n",
|
||||
" - Class 2: 10384 개\n",
|
||||
" - Class 3: 6344 개\n",
|
||||
" - Class 4: 9021 개\n",
|
||||
"\n",
|
||||
"총 클래스 종류: 5\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import Counter\n",
|
||||
"\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/coco5class/labels\"\n",
|
||||
"splits = [\"train\", \"val\"]\n",
|
||||
"\n",
|
||||
"class_counter = Counter()\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" split_path = os.path.join(label_root, split)\n",
|
||||
" \n",
|
||||
" # 라벨 txt 파일 탐색\n",
|
||||
" label_files = [f for f in os.listdir(split_path) if f.endswith(\".txt\")]\n",
|
||||
" \n",
|
||||
" print(f\"\\n🔍 Checking split: {split} (files: {len(label_files)})\")\n",
|
||||
"\n",
|
||||
" for file in label_files:\n",
|
||||
" file_path = os.path.join(split_path, file)\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" if line.strip(): # 빈 줄 제거\n",
|
||||
" class_id = line.split()[0] # 첫번째 값 = 클래스\n",
|
||||
" class_counter[class_id] += 1\n",
|
||||
"\n",
|
||||
"# 최종 결과 출력\n",
|
||||
"print(\"\\n📌 클래스 통계 결과:\")\n",
|
||||
"for cls, count in sorted(class_counter.items(), key=lambda x: int(x[0])):\n",
|
||||
" print(f\" - Class {cls}: {count} 개\")\n",
|
||||
"\n",
|
||||
"print(f\"\\n총 클래스 종류: {len(class_counter)}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "6bb38c03",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"New https://pypi.org/project/ultralytics/8.3.235 available 😃 Update with 'pip install -U ultralytics'\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=-1, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=/home/cuuva/experiment/coco5class_exp/coco5class.yaml, degrees=0.0, deterministic=True, device=0, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=300, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.001, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8m.pt, momentum=0.937, mosaic=1.0, multi_scale=False, name=5class, nbs=64, nms=False, opset=None, optimize=False, optimizer=AdamW, overlap_mask=True, patience=40, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=coco5class_v8m, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
|
||||
"Overriding model.yaml nc=80 with nc=5\n",
|
||||
"\n",
|
||||
" from n params module arguments \n",
|
||||
" 0 -1 1 1392 ultralytics.nn.modules.conv.Conv [3, 48, 3, 2] \n",
|
||||
" 1 -1 1 41664 ultralytics.nn.modules.conv.Conv [48, 96, 3, 2] \n",
|
||||
" 2 -1 2 111360 ultralytics.nn.modules.block.C2f [96, 96, 2, True] \n",
|
||||
" 3 -1 1 166272 ultralytics.nn.modules.conv.Conv [96, 192, 3, 2] \n",
|
||||
" 4 -1 4 813312 ultralytics.nn.modules.block.C2f [192, 192, 4, True] \n",
|
||||
" 5 -1 1 664320 ultralytics.nn.modules.conv.Conv [192, 384, 3, 2] \n",
|
||||
" 6 -1 4 3248640 ultralytics.nn.modules.block.C2f [384, 384, 4, True] \n",
|
||||
" 7 -1 1 1991808 ultralytics.nn.modules.conv.Conv [384, 576, 3, 2] \n",
|
||||
" 8 -1 2 3985920 ultralytics.nn.modules.block.C2f [576, 576, 2, True] \n",
|
||||
" 9 -1 1 831168 ultralytics.nn.modules.block.SPPF [576, 576, 5] \n",
|
||||
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 12 -1 2 1993728 ultralytics.nn.modules.block.C2f [960, 384, 2] \n",
|
||||
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 15 -1 2 517632 ultralytics.nn.modules.block.C2f [576, 192, 2] \n",
|
||||
" 16 -1 1 332160 ultralytics.nn.modules.conv.Conv [192, 192, 3, 2] \n",
|
||||
" 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 18 -1 2 1846272 ultralytics.nn.modules.block.C2f [576, 384, 2] \n",
|
||||
" 19 -1 1 1327872 ultralytics.nn.modules.conv.Conv [384, 384, 3, 2] \n",
|
||||
" 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 21 -1 2 4207104 ultralytics.nn.modules.block.C2f [960, 576, 2] \n",
|
||||
" 22 [15, 18, 21] 1 3778591 ultralytics.nn.modules.head.Detect [5, [192, 384, 576]] \n",
|
||||
"Model summary: 169 layers, 25,859,215 parameters, 25,859,199 gradients, 79.1 GFLOPs\n",
|
||||
"\n",
|
||||
"Transferred 469/475 items from pretrained weights\n",
|
||||
"Freezing layer 'model.22.dfl.conv.weight'\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks...\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 8101.9±2264.5 MB/s, size: 195.4 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/experiment/datasets/coco5class/labels/train.cache... 117266 images, 48605 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 118287/118287 192.2Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mComputing optimal batch size for imgsz=640 at 60.0% CUDA memory utilization.\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mCUDA:0 (NVIDIA GeForce RTX 5090) 31.33G total, 0.24G reserved, 0.23G allocated, 30.86G free\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/home/cuuva/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
||||
" from .autonotebook import tqdm as notebook_tqdm\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" Params GFLOPs GPU_mem (GB) forward (ms) backward (ms) input output\n",
|
||||
" 25859215 79.08 2.261 30.79 146.6 (1, 3, 640, 640) list\n",
|
||||
" 25859215 158.2 3.569 9.957 33.28 (2, 3, 640, 640) list\n",
|
||||
" 25859215 316.3 4.731 13.44 46.58 (4, 3, 640, 640) list\n",
|
||||
" 25859215 632.6 7.785 25.68 70.42 (8, 3, 640, 640) list\n",
|
||||
" 25859215 1265 10.414 27.14 117.5 (16, 3, 640, 640) list\n",
|
||||
" 25859215 2531 20.416 55.02 239.2 (32, 3, 640, 640) list\n",
|
||||
" 25859215 5061 36.937 116.3 435.7 (64, 3, 640, 640) list\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mUsing batch-size 29 for CUDA:0 19.03G/31.33G (61%) ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 6524.6±3206.6 MB/s, size: 190.9 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/experiment/datasets/coco5class/labels/train.cache... 117266 images, 48605 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 118287/118287 217.1Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 4736.1±2206.1 MB/s, size: 185.8 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/cuuva/experiment/datasets/coco5class/labels/val.cache... 4952 images, 2049 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 5000/5000 6.6Mit/s 0.0s0s\n",
|
||||
"Plotting labels to /home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/labels.jpg... \n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.001, momentum=0.937) with parameter groups 77 weight(decay=0.0), 84 weight(decay=0.000453125), 83 bias(decay=0.0)\n",
|
||||
"Image sizes 640 train, 640 val\n",
|
||||
"Using 8 dataloader workers\n",
|
||||
"Logging results to \u001b[1m/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class\u001b[0m\n",
|
||||
"Starting training for 300 epochs...\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 1/300 14.1G 1.156 1.187 1.242 133 640: 100% ━━━━━━━━━━━━ 4079/4079 3.3it/s 20:20<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 8.9it/s 9.8s0.1s\n",
|
||||
" all 5000 13759 0.471 0.374 0.387 0.237\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 2/300 14.1G 1.204 1.229 1.282 98 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 20:06<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 8.6it/s 10.1s0.1s\n",
|
||||
" all 5000 13759 0.615 0.494 0.54 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 3/300 14.1G 1.172 1.165 1.258 120 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 20:08<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 8.9it/s 9.8s<0.2s\n",
|
||||
" all 5000 13759 0.644 0.526 0.58 0.395\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 4/300 14.1G 1.127 1.088 1.231 86 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 20:06<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 9.2it/s 9.4s<0.2s\n",
|
||||
" all 5000 13759 0.671 0.559 0.616 0.424\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 5/300 14.1G 1.088 1.025 1.204 107 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 20:01<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 9.3it/s 9.3s<0.1s\n",
|
||||
" all 5000 13759 0.675 0.58 0.641 0.453\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 6/300 14.1G 1.057 0.9789 1.185 162 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 20:01<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 9.4it/s 9.3s<0.1s\n",
|
||||
" all 5000 13759 0.71 0.575 0.656 0.467\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 7/300 14.1G 1.036 0.9461 1.172 121 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 20:01<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 9.4it/s 9.3s<0.1s\n",
|
||||
" all 5000 13759 0.725 0.588 0.672 0.48\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 8/300 14.1G 1.023 0.9197 1.161 105 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 19:60<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 9.4it/s 9.2s0.1ss\n",
|
||||
" all 5000 13759 0.735 0.587 0.681 0.488\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 9/300 14.1G 1.009 0.9032 1.15 136 640: 100% ━━━━━━━━━━━━ 4079/4079 3.4it/s 19:60<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 87/87 9.2it/s 9.5s<0.1s\n",
|
||||
" all 5000 13759 0.719 0.603 0.683 0.493\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 10/300 14.1G 0.9986 0.8829 1.145 136 640: 82% ━━━━━━━━━╸── 3329/4079 3.4it/s 16:20<3:401"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load a pretrained YOLO11n model\n",
|
||||
"model = YOLO('yolov8m.pt')\n",
|
||||
"\n",
|
||||
"train_results = model.train(\n",
|
||||
" data=\"/home/cuuva/experiment/coco5class_exp/coco5class.yaml\", #['person','car', 'truck', 'bus', 'motor']\n",
|
||||
" epochs=300,\n",
|
||||
" imgsz=640,\n",
|
||||
" batch=-1,\n",
|
||||
" device=\"cuda\",\n",
|
||||
" optimizer = 'AdamW',\n",
|
||||
" lr0 = 0.001,\n",
|
||||
" patience = 40,\n",
|
||||
" project = 'coco5class_v8m',\n",
|
||||
" name = '5class',\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c87a7d82",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"'''\n",
|
||||
"\n",
|
||||
"all : 0.559\n",
|
||||
"\n",
|
||||
"person : 0.615\n",
|
||||
"\n",
|
||||
"car : 0.496\n",
|
||||
"\n",
|
||||
"truck : 0.438\n",
|
||||
"\n",
|
||||
"bus : 0.739\n",
|
||||
"\n",
|
||||
"motor : 0.509\n",
|
||||
"\n",
|
||||
"'''"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "681c71ed",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"Model summary (fused): 92 layers, 25,842,655 parameters, 0 gradients, 78.7 GFLOPs\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from '/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights/best_coco5class.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 9, 8400) (49.6 MB)\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m starting export with onnx 1.19.1 opset 20...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m slimming with onnxslim 0.1.71...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m export success ✅ 1.3s, saved as '/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights/best_coco5class.onnx' (98.8 MB)\n",
|
||||
"\n",
|
||||
"Export complete (1.6s)\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights\u001b[0m\n",
|
||||
"Predict: yolo predict task=detect model=/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights/best_coco5class.onnx imgsz=640 \n",
|
||||
"Validate: yolo val task=detect model=/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights/best_coco5class.onnx imgsz=640 data=/home/cuuva/experiment/coco5class_exp/coco5class.yaml \n",
|
||||
"Visualize: https://netron.app\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights/best_coco5class.onnx'"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"model = YOLO(\"/home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class/weights/best_coco5class.pt\")\n",
|
||||
"model.export(format=\"onnx\", imgsz=640, device=0)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "48b48641",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/coco5class_exp/coco5class.yaml
|
||||
epochs: 300
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: coco5class_v8m
|
||||
name: 5class
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/coco5class_exp/coco5class_v8m/5class
|
||||
|
@ -0,0 +1,16 @@
|
||||
from ultralytics import YOLO
|
||||
|
||||
model = YOLO('yolov8m.pt')
|
||||
|
||||
model.train(
|
||||
data="/home/cuuva/experiment/coco5class_exp/coco5class.yaml",
|
||||
epochs=300,
|
||||
imgsz=640,
|
||||
batch=-1,
|
||||
device="cuda",
|
||||
optimizer='AdamW',
|
||||
lr0=0.001,
|
||||
patience=40,
|
||||
project='coco5class_v8m',
|
||||
name='5class'
|
||||
)
|
||||
@ -0,0 +1,33 @@
|
||||
# # path: datasets/VisDrone # 데이터 경로
|
||||
# train: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/image/license_plate/
|
||||
# val: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/image/license_plate/
|
||||
# # test: images/test
|
||||
|
||||
|
||||
# # path: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/
|
||||
|
||||
# # train:
|
||||
# # - image/license_plate/ # 이미지 폴더
|
||||
# # val:
|
||||
# # - ../Validation/image/license_plate/
|
||||
|
||||
# # 각 이미지에 대응하는 라벨 경로를 직접 지정
|
||||
# labels:
|
||||
# train: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/labels/license_plate/
|
||||
# val: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/labels/license_plate/
|
||||
|
||||
# nc: 1
|
||||
# names: ['lp']
|
||||
|
||||
# custom_LP.yaml
|
||||
|
||||
# 데이터셋 경로
|
||||
train: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/
|
||||
val: /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/
|
||||
|
||||
# 클래스 수
|
||||
nc: 1
|
||||
|
||||
# 클래스 이름
|
||||
names: ['lp']
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
import easyocr
|
||||
import cv2
|
||||
from matplotlib import pyplot as plt
|
||||
import time # ⬅ 추가
|
||||
|
||||
# 1. EasyOCR Reader 생성
|
||||
reader = easyocr.Reader(['ko', 'en'], gpu=False)
|
||||
|
||||
# 2. 이미지 불러오기
|
||||
# image_path = '/home/cuuva/다운로드/test/ocr_resized.png'
|
||||
image_path = '/home/cuuva/experiment/custom_LP_detect/ocr2.png'
|
||||
image = cv2.imread(image_path)
|
||||
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
|
||||
|
||||
# ------------------------
|
||||
# 3. OCR 수행 및 시간 측정
|
||||
# ------------------------
|
||||
start_time = time.time()
|
||||
results = reader.readtext(image_rgb, detail=1)
|
||||
end_time = time.time()
|
||||
print(f"Inference time: {end_time - start_time:.3f} seconds")
|
||||
|
||||
# 4. 결과 출력 및 시각화
|
||||
for (bbox, text, prob) in results:
|
||||
print(f"Detected text: {text}, Confidence: {prob:.2f}")
|
||||
|
||||
# 바운딩 박스
|
||||
top_left = tuple(map(int, bbox[0]))
|
||||
bottom_right = tuple(map(int, bbox[2]))
|
||||
cv2.rectangle(image_rgb, top_left, bottom_right, (0, 255, 0), 2)
|
||||
cv2.putText(image_rgb, text, (top_left[0], top_left[1]-10),
|
||||
cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 0, 255), 2)
|
||||
|
||||
# 5. 시각화
|
||||
plt.figure(figsize=(10,6))
|
||||
plt.imshow(image_rgb)
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/custom_LP_detect/custom_LP.yaml
|
||||
epochs: 100
|
||||
time: null
|
||||
patience: 30
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: lp_detect
|
||||
name: epo_100_frac_0_1
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.1
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_100_frac_0_1
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/custom_LP_detect/custom_LP.yaml
|
||||
epochs: 200
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: lp_detect
|
||||
name: epo_200_frac_0_2
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.2
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_2
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/custom_LP_detect/custom_LP.yaml
|
||||
epochs: 200
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: lp_detect
|
||||
name: epo_200_frac_0_22
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.2
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22
|
||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,685 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "a7676704",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n",
|
||||
"\n",
|
||||
"import torch"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "3e94066a",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"torch.cuda.is_available()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "99b0442c",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"New https://pypi.org/project/ultralytics/8.3.228 available 😃 Update with 'pip install -U ultralytics'\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=-1, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=/home/cuuva/experiment/custom_LP_detect/custom_LP.yaml, degrees=0.0, deterministic=True, device=0, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=200, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=0.2, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.001, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8n.pt, momentum=0.937, mosaic=1.0, multi_scale=False, name=epo_200_frac_0_22, nbs=64, nms=False, opset=None, optimize=False, optimizer=AdamW, overlap_mask=True, patience=40, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=lp_detect, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=/home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
|
||||
"Overriding model.yaml nc=80 with nc=1\n",
|
||||
"\n",
|
||||
" from n params module arguments \n",
|
||||
" 0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2] \n",
|
||||
" 1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2] \n",
|
||||
" 2 -1 1 7360 ultralytics.nn.modules.block.C2f [32, 32, 1, True] \n",
|
||||
" 3 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2] \n",
|
||||
" 4 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True] \n",
|
||||
" 5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2] \n",
|
||||
" 6 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True] \n",
|
||||
" 7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2] \n",
|
||||
" 8 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True] \n",
|
||||
" 9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5] \n",
|
||||
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 12 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1] \n",
|
||||
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 15 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1] \n",
|
||||
" 16 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2] \n",
|
||||
" 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 18 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1] \n",
|
||||
" 19 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2] \n",
|
||||
" 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 21 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1] \n",
|
||||
" 22 [15, 18, 21] 1 751507 ultralytics.nn.modules.head.Detect [1, [64, 128, 256]] \n",
|
||||
"Model summary: 129 layers, 3,011,043 parameters, 3,011,027 gradients, 8.2 GFLOPs\n",
|
||||
"\n",
|
||||
"Transferred 319/355 items from pretrained weights\n",
|
||||
"Freezing layer 'model.22.dfl.conv.weight'\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks...\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1415.2±186.1 MB/s, size: 1748.6 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/labels/license_plate/ar01_01.cache... 160269 images, 0 backgrounds, 2 corrupt: 100% ━━━━━━━━━━━━ 160271/160271 514.3Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-220930_08_AR01_01_N0023.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-221011_13_AR01_01_N4945.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-221019_12_AR01_01_N5133.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-221019_14_AR01_01_N0089.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar03_03/C-221105_17_AR03_03_N0282.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar03_03/C-221109_14_AR03_03_N0673.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar04_04/C-221022_14_AR04_04_N0674.jpg: 2 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar09_01/C-220807_15_AR09_01_N0514.jpg: ignoring corrupt image/label: image file is truncated (107 bytes not processed)\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/cr01_02/C-220827_16_CR01_02_N0098.jpg: ignoring corrupt image/label: image file is truncated (96 bytes not processed)\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mComputing optimal batch size for imgsz=640 at 60.0% CUDA memory utilization.\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mCUDA:0 (NVIDIA GeForce RTX 5090) 31.33G total, 0.15G reserved, 0.05G allocated, 31.13G free\n",
|
||||
" Params GFLOPs GPU_mem (GB) forward (ms) backward (ms) input output\n",
|
||||
" 3011043 8.194 3.456 31.09 193.1 (1, 3, 640, 640) list\n",
|
||||
" 3011043 16.39 3.997 4.507 23.43 (2, 3, 640, 640) list\n",
|
||||
" 3011043 32.78 4.270 5.17 24.49 (4, 3, 640, 640) list\n",
|
||||
" 3011043 65.55 4.979 5.493 31.44 (8, 3, 640, 640) list\n",
|
||||
" 3011043 131.1 6.201 7.781 41.38 (16, 3, 640, 640) list\n",
|
||||
" 3011043 262.2 5.014 15.01 55.64 (32, 3, 640, 640) list\n",
|
||||
" 3011043 524.4 10.863 31.73 105.9 (64, 3, 640, 640) list\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mUsing batch-size 135 for CUDA:0 19.16G/31.33G (61%) ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1182.9±337.0 MB/s, size: 1333.9 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/labels/license_plate/ar01_01.cache... 160269 images, 0 backgrounds, 2 corrupt: 100% ━━━━━━━━━━━━ 160271/160271 317.1Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-220930_08_AR01_01_N0023.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-221011_13_AR01_01_N4945.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-221019_12_AR01_01_N5133.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar01_01/C-221019_14_AR01_01_N0089.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar03_03/C-221105_17_AR03_03_N0282.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar03_03/C-221109_14_AR03_03_N0673.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar04_04/C-221022_14_AR04_04_N0674.jpg: 2 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/ar09_01/C-220807_15_AR09_01_N0514.jpg: ignoring corrupt image/label: image file is truncated (107 bytes not processed)\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Training/images/license_plate/cr01_02/C-220827_16_CR01_02_N0098.jpg: ignoring corrupt image/label: image file is truncated (96 bytes not processed)\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1014.6±261.7 MB/s, size: 1776.7 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/labels/license_plate/ar01_01.cache... 52168 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 52168/52168 98.1Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/ar01_01/C-221030_13_AR01_01_N0451.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/sr02_01/C-220921_13_SR02_01_N0664.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/sr08_01/C-221026_17_SR08_01_N0368.jpg: 3 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/sr10_01/C-221111_14_SR10_01_N2786.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/sr10_01/C-221112_10_SR10_01_N3102.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/CCTV_car_or_licenseplate/data/Validation/images/license_plate/sr10_01/C-221112_13_SR10_01_N1269.jpg: 1 duplicate labels removed\n",
|
||||
"Plotting labels to /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22/labels.jpg... \n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.001, momentum=0.937) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0010546875), 63 bias(decay=0.0)\n",
|
||||
"Image sizes 640 train, 640 val\n",
|
||||
"Using 8 dataloader workers\n",
|
||||
"Logging results to \u001b[1m/home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22\u001b[0m\n",
|
||||
"Starting training for 200 epochs...\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 1/200 18.1G 2.084 2.448 0.8108 125 640: 100% ━━━━━━━━━━━━ 1188/1188 2.1it/s 9:14<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.7sss\n",
|
||||
" all 52168 159183 0.719 0.475 0.53 0.234\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 2/200 18G 1.587 0.7441 0.7597 115 640: 100% ━━━━━━━━━━━━ 1188/1188 2.2it/s 8:56<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.7sss\n",
|
||||
" all 52168 159183 0.817 0.527 0.613 0.329\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 3/200 18G 1.474 0.6842 0.7541 108 640: 100% ━━━━━━━━━━━━ 1188/1188 1.7it/s 11:43<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:420.7sss\n",
|
||||
" all 52168 159183 0.809 0.533 0.608 0.326\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 4/200 18G 1.389 0.6393 0.7508 123 640: 100% ━━━━━━━━━━━━ 1188/1188 1.7it/s 11:40<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:370.6sss\n",
|
||||
" all 52168 159183 0.836 0.536 0.647 0.363\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 5/200 18G 1.327 0.6079 0.7478 100 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 12:49<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:420.5sss\n",
|
||||
" all 52168 159183 0.846 0.564 0.674 0.391\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 6/200 18G 1.289 0.5872 0.7467 130 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:20<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:300.6sss\n",
|
||||
" all 52168 159183 0.843 0.574 0.68 0.404\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 7/200 18G 1.26 0.5727 0.7452 133 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:09<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.6sss\n",
|
||||
" all 52168 159183 0.848 0.57 0.674 0.388\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 8/200 18G 1.239 0.5616 0.7449 98 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 12:50<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.7sss\n",
|
||||
" all 52168 159183 0.843 0.579 0.681 0.392\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 9/200 18G 1.224 0.5547 0.7435 119 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 12:51<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:380.6sss\n",
|
||||
" all 52168 159183 0.843 0.583 0.685 0.396\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 10/200 18G 1.208 0.5464 0.7427 107 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:12<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.7sss\n",
|
||||
" all 52168 159183 0.853 0.582 0.689 0.4\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 11/200 18G 1.196 0.5408 0.7427 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:22<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:410.7sss\n",
|
||||
" all 52168 159183 0.848 0.582 0.689 0.404\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 12/200 18G 1.187 0.5344 0.7425 104 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:36<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:380.6sss\n",
|
||||
" all 52168 159183 0.849 0.582 0.691 0.41\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 13/200 18G 1.179 0.5308 0.7421 122 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:55<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:380.7sss\n",
|
||||
" all 52168 159183 0.847 0.584 0.693 0.409\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 14/200 18G 1.168 0.527 0.7418 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:56<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:330.6sss\n",
|
||||
" all 52168 159183 0.851 0.584 0.692 0.409\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 15/200 18G 1.162 0.5224 0.7415 106 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:42<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.5sss\n",
|
||||
" all 52168 159183 0.852 0.585 0.692 0.411\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 16/200 18G 1.155 0.519 0.7416 125 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:38<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:270.5sss\n",
|
||||
" all 52168 159183 0.852 0.585 0.693 0.411\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 17/200 18G 1.147 0.514 0.741 106 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:29<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.852 0.586 0.695 0.411\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 18/200 18G 1.143 0.5129 0.7403 147 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:47<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.852 0.586 0.695 0.412\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 19/200 18G 1.139 0.5106 0.7407 135 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:24<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:390.6sss\n",
|
||||
" all 52168 159183 0.852 0.586 0.696 0.412\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 20/200 18G 1.134 0.5083 0.7402 106 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:08<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.5sss\n",
|
||||
" all 52168 159183 0.853 0.587 0.697 0.412\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 21/200 18G 1.13 0.5055 0.7408 113 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:10<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.7sss\n",
|
||||
" all 52168 159183 0.853 0.587 0.699 0.414\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 22/200 18G 1.126 0.5043 0.7398 134 640: 100% ━━━━━━━━━━━━ 1188/1188 1.6it/s 12:41<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:300.7sss\n",
|
||||
" all 52168 159183 0.853 0.588 0.7 0.414\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 23/200 18G 1.119 0.5009 0.7401 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:51<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.5sss\n",
|
||||
" all 52168 159183 0.855 0.587 0.701 0.415\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 24/200 18G 1.118 0.4995 0.7397 120 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:39<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:300.6sss\n",
|
||||
" all 52168 159183 0.854 0.588 0.702 0.416\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 25/200 18G 1.112 0.4975 0.74 124 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:17<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.855 0.588 0.703 0.416\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 26/200 18G 1.11 0.4956 0.7392 109 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:45<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.6sss\n",
|
||||
" all 52168 159183 0.855 0.588 0.705 0.417\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 27/200 18G 1.108 0.4955 0.7395 116 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:42<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.857 0.589 0.707 0.418\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 28/200 18G 1.103 0.4925 0.7393 106 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:22<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.857 0.589 0.708 0.419\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 29/200 18G 1.102 0.4903 0.7399 101 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:36<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:370.6sss\n",
|
||||
" all 52168 159183 0.857 0.59 0.709 0.419\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 30/200 18G 1.101 0.4911 0.7392 116 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:49<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.6sss\n",
|
||||
" all 52168 159183 0.858 0.59 0.71 0.419\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 31/200 18G 1.097 0.4886 0.7395 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:54<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.7sss\n",
|
||||
" all 52168 159183 0.857 0.591 0.711 0.42\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 32/200 18G 1.096 0.4877 0.7391 90 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:41<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:270.5sss\n",
|
||||
" all 52168 159183 0.858 0.591 0.712 0.421\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 33/200 18G 1.094 0.4862 0.7389 122 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:31<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.858 0.591 0.712 0.421\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 34/200 18G 1.092 0.4857 0.7389 126 640: 100% ━━━━━━━━━━━━ 1188/1188 1.2it/s 15:58<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.6sss\n",
|
||||
" all 52168 159183 0.859 0.591 0.712 0.422\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 35/200 18G 1.087 0.484 0.7386 102 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:35<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:370.6sss\n",
|
||||
" all 52168 159183 0.86 0.591 0.713 0.423\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 36/200 18G 1.086 0.4836 0.7385 117 640: 100% ━━━━━━━━━━━━ 1188/1188 1.6it/s 12:42<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.6sss\n",
|
||||
" all 52168 159183 0.859 0.592 0.714 0.423\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 37/200 18G 1.084 0.4811 0.7389 97 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:46<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:430.6sss\n",
|
||||
" all 52168 159183 0.86 0.592 0.715 0.424\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 38/200 18G 1.079 0.4805 0.7381 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:34<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:310.6sss\n",
|
||||
" all 52168 159183 0.86 0.593 0.716 0.425\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 39/200 18.4G 1.078 0.479 0.7387 110 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:02<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.5sss\n",
|
||||
" all 52168 159183 0.86 0.593 0.716 0.426\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 40/200 18G 1.077 0.4789 0.739 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:05<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:290.6sss\n",
|
||||
" all 52168 159183 0.86 0.593 0.716 0.426\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 41/200 18G 1.075 0.4763 0.7384 107 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:10<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:330.6sss\n",
|
||||
" all 52168 159183 0.86 0.593 0.716 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 42/200 18G 1.074 0.4767 0.7384 98 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:02<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:300.6sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.717 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 43/200 18G 1.072 0.4752 0.7387 90 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:24<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:380.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 44/200 18G 1.073 0.4763 0.7384 102 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:18<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:380.6sss\n",
|
||||
" all 52168 159183 0.863 0.593 0.717 0.43\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 45/200 18G 1.069 0.4748 0.7379 118 640: 100% ━━━━━━━━━━━━ 1188/1188 1.2it/s 16:39<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.7sss\n",
|
||||
" all 52168 159183 0.863 0.593 0.718 0.431\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 46/200 18G 1.066 0.4747 0.7382 91 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:58<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:290.6sss\n",
|
||||
" all 52168 159183 0.863 0.594 0.718 0.431\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 47/200 18G 1.067 0.4751 0.738 95 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:33<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:400.8sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.718 0.431\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 48/200 18G 1.065 0.4724 0.738 130 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:33<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:310.5sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.718 0.432\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 49/200 18G 1.065 0.4726 0.7379 126 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:53<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:400.6sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.717 0.43\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 50/200 18G 1.062 0.4712 0.7381 113 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:60<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:330.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.718 0.431\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 51/200 18G 1.06 0.4701 0.7381 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:09<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:370.5sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.717 0.431\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 52/200 18G 1.057 0.4692 0.7378 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:09<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.717 0.43\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 53/200 18G 1.059 0.4697 0.7379 116 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:18<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.6sss\n",
|
||||
" all 52168 159183 0.862 0.592 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 54/200 18G 1.056 0.4684 0.7376 113 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:22<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:300.6sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 55/200 18G 1.054 0.4668 0.7376 108 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:37<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.8sss\n",
|
||||
" all 52168 159183 0.862 0.592 0.717 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 56/200 18G 1.052 0.466 0.7376 127 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:25<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.6sss\n",
|
||||
" all 52168 159183 0.862 0.592 0.717 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 57/200 18G 1.052 0.4661 0.7377 105 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:07<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.8it/s 1:460.6sss\n",
|
||||
" all 52168 159183 0.862 0.592 0.717 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 58/200 18G 1.051 0.466 0.7374 112 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:27<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:330.7sss\n",
|
||||
" all 52168 159183 0.863 0.592 0.717 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 59/200 18G 1.05 0.4645 0.7374 92 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:48<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.864 0.591 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 60/200 18G 1.049 0.4646 0.7376 116 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:09<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:330.6sss\n",
|
||||
" all 52168 159183 0.863 0.591 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 61/200 18G 1.047 0.4628 0.738 122 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:25<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.6sss\n",
|
||||
" all 52168 159183 0.863 0.591 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 62/200 18G 1.046 0.4625 0.7376 101 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:42<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.862 0.591 0.717 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 63/200 18G 1.045 0.462 0.7374 126 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:60<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.5sss\n",
|
||||
" all 52168 159183 0.862 0.591 0.717 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 64/200 18G 1.047 0.4633 0.7374 110 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:19<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.4sss\n",
|
||||
" all 52168 159183 0.861 0.591 0.718 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 65/200 18G 1.046 0.4622 0.7374 126 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:07<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.5sss\n",
|
||||
" all 52168 159183 0.86 0.592 0.717 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 66/200 18G 1.044 0.4623 0.737 103 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:59<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:330.6sss\n",
|
||||
" all 52168 159183 0.86 0.591 0.717 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 67/200 18G 1.042 0.4612 0.7373 113 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:20<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:370.5sss\n",
|
||||
" all 52168 159183 0.86 0.591 0.717 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 68/200 18G 1.04 0.4606 0.7373 111 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:09<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.7sss\n",
|
||||
" all 52168 159183 0.859 0.592 0.717 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 69/200 18G 1.04 0.4602 0.7374 107 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:13<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:410.7sss\n",
|
||||
" all 52168 159183 0.859 0.592 0.718 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 70/200 18G 1.036 0.4588 0.7374 122 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:04<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:340.7sss\n",
|
||||
" all 52168 159183 0.859 0.592 0.718 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 71/200 18G 1.036 0.4582 0.7371 93 640: 100% ━━━━━━━━━━━━ 1188/1188 1.5it/s 13:38<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:400.6sss\n",
|
||||
" all 52168 159183 0.859 0.592 0.717 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 72/200 18G 1.038 0.4582 0.7371 119 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:37<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.5sss\n",
|
||||
" all 52168 159183 0.859 0.592 0.718 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 73/200 18G 1.034 0.4574 0.7373 93 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:48<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.6sss\n",
|
||||
" all 52168 159183 0.86 0.592 0.718 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 74/200 18G 1.036 0.4579 0.7369 103 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:12<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:350.6sss\n",
|
||||
" all 52168 159183 0.86 0.592 0.719 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 75/200 18G 1.034 0.4565 0.7368 112 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:55<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:420.6sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.719 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 76/200 18G 1.034 0.4559 0.7372 122 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:49<1.0s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:400.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.719 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 77/200 18G 1.034 0.4562 0.7368 117 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:55<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 1.9it/s 1:420.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.719 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 78/200 18G 1.032 0.4559 0.7368 122 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:59<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:310.6sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.719 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 79/200 18G 1.03 0.4553 0.7373 112 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:49<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:310.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.719 0.427\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 80/200 18G 1.03 0.4559 0.7374 131 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 14:44<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:290.5sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.72 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 81/200 18G 1.028 0.4541 0.7364 105 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:33<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.7sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.719 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 82/200 18G 1.028 0.4541 0.7371 110 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:25<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.2it/s 1:300.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.72 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 83/200 18G 1.027 0.4526 0.7366 98 640: 100% ━━━━━━━━━━━━ 1188/1188 1.3it/s 15:05<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:390.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.72 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 84/200 18G 1.028 0.4533 0.7365 99 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:21<0.3s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.7sss\n",
|
||||
" all 52168 159183 0.862 0.592 0.72 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 85/200 18G 1.027 0.4521 0.7367 101 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:48<0.9s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.0it/s 1:360.6sss\n",
|
||||
" all 52168 159183 0.862 0.592 0.72 0.428\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 86/200 18G 1.025 0.4525 0.7364 108 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 14:24<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.6sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.72 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 87/200 18G 1.023 0.4501 0.7367 91 640: 100% ━━━━━━━━━━━━ 1188/1188 1.4it/s 13:48<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:310.5sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.72 0.429\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 88/200 18G 1.023 0.451 0.7363 129 640: 100% ━━━━━━━━━━━━ 1188/1188 1.2it/s 16:46<0.8s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.1it/s 1:320.7sss\n",
|
||||
" all 52168 159183 0.861 0.593 0.721 0.429\n",
|
||||
"\u001b[34m\u001b[1mEarlyStopping: \u001b[0mTraining stopped early as no improvement observed in last 40 epochs. Best results observed at epoch 48, best model saved as best.pt.\n",
|
||||
"To update EarlyStopping(patience=40) pass a new patience value, i.e. `patience=300` or use `patience=0` to disable EarlyStopping.\n",
|
||||
"\n",
|
||||
"88 epochs completed in 23.032 hours.\n",
|
||||
"Optimizer stripped from /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22/weights/last.pt, 6.2MB\n",
|
||||
"Optimizer stripped from /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22/weights/best.pt, 6.2MB\n",
|
||||
"\n",
|
||||
"Validating /home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22/weights/best.pt...\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"Model summary (fused): 72 layers, 3,005,843 parameters, 0 gradients, 8.1 GFLOPs\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 194/194 2.3it/s 1:230.4sss\n",
|
||||
" all 52168 159183 0.862 0.593 0.718 0.431\n",
|
||||
"Speed: 0.0ms preprocess, 0.2ms inference, 0.0ms loss, 0.3ms postprocess per image\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22\u001b[0m\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load a pretrained YOLO11n model\n",
|
||||
"model = YOLO(\"yolov8n.pt\")\n",
|
||||
"\n",
|
||||
"train_results = model.train(\n",
|
||||
" data=\"/home/cuuva/experiment/custom_LP_detect/custom_LP.yaml\",\n",
|
||||
" epochs=200,\n",
|
||||
" imgsz=640,\n",
|
||||
" batch= -1,\n",
|
||||
" device=\"cuda\",\n",
|
||||
" optimizer = 'AdamW',\n",
|
||||
" lr0 = 0.001,\n",
|
||||
" patience = 40,\n",
|
||||
" project = 'lp_detect',\n",
|
||||
" name = 'epo_200_frac_0_2',\n",
|
||||
" fraction = 0.2\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "88d6a47e",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32109MiB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"YOLOv8n summary (fused): 72 layers, 3,005,843 parameters, 0 gradients, 8.1 GFLOPs\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from '/home/cuuva/experiment/custom_LP_detect/license_plate_detector.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 5, 8400) (6.0 MB)\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m starting export with onnx 1.19.1 opset 20...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m slimming with onnxslim 0.1.71...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m export success ✅ 0.3s, saved as '/home/cuuva/experiment/custom_LP_detect/license_plate_detector.onnx' (11.7 MB)\n",
|
||||
"\n",
|
||||
"Export complete (0.4s)\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/custom_LP_detect\u001b[0m\n",
|
||||
"Predict: yolo predict task=detect model=/home/cuuva/experiment/custom_LP_detect/license_plate_detector.onnx imgsz=640 \n",
|
||||
"Validate: yolo val task=detect model=/home/cuuva/experiment/custom_LP_detect/license_plate_detector.onnx imgsz=640 data=config.yaml \n",
|
||||
"Visualize: https://netron.app\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'/home/cuuva/experiment/custom_LP_detect/license_plate_detector.onnx'"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# model = YOLO(\"/home/cuuva/experiment/custom_LP_detect/lp_detect/epo_200_frac_0_22/weights/best_lp_detect.pt\")\n",
|
||||
"model = YOLO(\"/home/cuuva/experiment/custom_LP_detect/license_plate_detector.pt\")\n",
|
||||
"model.export(format=\"onnx\", imgsz=640, device=0)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "0084e5f9",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@ -0,0 +1,156 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "fc523237",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"================= CLASS STATISTICS =================\n",
|
||||
"\n",
|
||||
"📁 Training Dataset\n",
|
||||
" [0] BLOUSE 👉 9014 개\n",
|
||||
" [1] COAT 👉 9949 개\n",
|
||||
" [2] DRESS 👉 10173 개\n",
|
||||
" [3] JACKET 👉 10466 개\n",
|
||||
" [4] JUMPER 👉 21893 개\n",
|
||||
" [5] PANTS 👉 69937 개\n",
|
||||
" [6] SHIRTS 👉 13438 개\n",
|
||||
" [7] SKIRT 👉 18156 개\n",
|
||||
" [8] TSHIRTS 👉 45025 개\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"📁 Validation Dataset\n",
|
||||
" [0] BLOUSE 👉 1127 개\n",
|
||||
" [1] COAT 👉 1242 개\n",
|
||||
" [2] DRESS 👉 1270 개\n",
|
||||
" [3] JACKET 👉 1309 개\n",
|
||||
" [4] JUMPER 👉 2737 개\n",
|
||||
" [5] PANTS 👉 8741 개\n",
|
||||
" [6] SHIRTS 👉 1681 개\n",
|
||||
" [7] SKIRT 👉 2269 개\n",
|
||||
" [8] TSHIRTS 👉 5624 개\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"=============== TOTAL SUMMARY ===============\n",
|
||||
"\n",
|
||||
" [0] BLOUSE 👉 10141 total\n",
|
||||
" [1] COAT 👉 11191 total\n",
|
||||
" [2] DRESS 👉 11443 total\n",
|
||||
" [3] JACKET 👉 11775 total\n",
|
||||
" [4] JUMPER 👉 24630 total\n",
|
||||
" [5] PANTS 👉 78678 total\n",
|
||||
" [6] SHIRTS 👉 15119 total\n",
|
||||
" [7] SKIRT 👉 20425 total\n",
|
||||
" [8] TSHIRTS 👉 50649 total\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import defaultdict\n",
|
||||
"\n",
|
||||
"# ---- CLASS MAP (사용자가 정의한 클래스) ----\n",
|
||||
"CLASS_MAP = {\n",
|
||||
" \"0\": \"BLOUSE\",\n",
|
||||
" \"1\": \"COAT\",\n",
|
||||
" \"2\": \"DRESS\",\n",
|
||||
" \"3\": \"JACKET\",\n",
|
||||
" \"4\": \"JUMPER\",\n",
|
||||
" \"5\": \"PANTS\",\n",
|
||||
" \"6\": \"SHIRTS\",\n",
|
||||
" \"7\": \"SKIRT\",\n",
|
||||
" \"8\": \"TSHIRTS\"\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"# ---- 데이터 경로 ----\n",
|
||||
"DATASETS = {\n",
|
||||
" \"Training\": \"/home/cuuva/aihub_car/clothes_dataset/Training/labels_txt\",\n",
|
||||
" \"Validation\": \"/home/cuuva/aihub_car/clothes_dataset/Validation/labels_txt\"\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def count_classes(path):\n",
|
||||
" class_count = defaultdict(int)\n",
|
||||
"\n",
|
||||
" for root, _, files in os.walk(path):\n",
|
||||
" for file in files:\n",
|
||||
" if file.endswith(\".txt\"):\n",
|
||||
" file_path = os.path.join(root, file)\n",
|
||||
"\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" lines = f.readlines()\n",
|
||||
"\n",
|
||||
" for line in lines:\n",
|
||||
" if line.strip():\n",
|
||||
" class_id = line.split()[0]\n",
|
||||
" class_count[class_id] += 1\n",
|
||||
"\n",
|
||||
" # 정렬\n",
|
||||
" return dict(sorted(class_count.items(), key=lambda x: int(x[0])))\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# ---- 실행 ----\n",
|
||||
"results = {}\n",
|
||||
"for name, path in DATASETS.items():\n",
|
||||
" results[name] = count_classes(path)\n",
|
||||
"\n",
|
||||
"print(\"\\n================= CLASS STATISTICS =================\\n\")\n",
|
||||
"\n",
|
||||
"# ---- 상세 출력 ----\n",
|
||||
"for dataset_name, counts in results.items():\n",
|
||||
" print(f\"📁 {dataset_name} Dataset\")\n",
|
||||
" for cls_id, count in counts.items():\n",
|
||||
" cls_name = CLASS_MAP.get(cls_id, \"UNKNOWN\")\n",
|
||||
" print(f\" [{cls_id}] {cls_name:<10} 👉 {count} 개\")\n",
|
||||
" print(\"\\n\")\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# ---- Summary 합산 ----\n",
|
||||
"print(\"=============== TOTAL SUMMARY ===============\\n\")\n",
|
||||
"total = defaultdict(int)\n",
|
||||
"\n",
|
||||
"for r in results.values():\n",
|
||||
" for cls_id, cnt in r.items():\n",
|
||||
" total[cls_id] += cnt\n",
|
||||
"\n",
|
||||
"for cls_id, cnt in sorted(total.items(), key=lambda x: int(x[0])):\n",
|
||||
" print(f\" [{cls_id}] {CLASS_MAP[cls_id]:<10} 👉 {cnt} total\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "62ada642",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8s.pt
|
||||
data: /home/cuuva/experiment/fashion_yolo/aihub_fashion.yaml
|
||||
epochs: 200
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: aihub_exp
|
||||
name: yolov8s_fashion
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fashion_yolo/aihub_exp/yolov8s_fashion
|
||||
|
@ -0,0 +1,7 @@
|
||||
train: /home/cuuva/aihub_car/clothes_dataset/Training/images/
|
||||
val: /home/cuuva/aihub_car/clothes_dataset/Validation/images/
|
||||
# test: /home/cuuva/experiment/datasets/VisDrone/images/test
|
||||
|
||||
# nc: 7
|
||||
nc: 9
|
||||
names: ['BLOUSE','COAT', 'DRESS', 'JACKET', 'JUMPER', 'PANTS', 'SHIRTS', 'SKIRT', 'TSHIRTS']
|
||||
@ -0,0 +1,439 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "ed856410",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"📂 폴더 분석: /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/train\n",
|
||||
"📄 파일 개수: 45623\n",
|
||||
"🧮 클래스별 개수:\n",
|
||||
" class 0 (shirt, blouse): 6161\n",
|
||||
" class 1 (top, t-shirt, sweatshirt): 16548\n",
|
||||
" class 2 (sweater): 1494\n",
|
||||
" class 3 (cardigan): 1107\n",
|
||||
" class 4 (jacket): 7833\n",
|
||||
" class 5 (vest): 719\n",
|
||||
" class 6 (pants): 12414\n",
|
||||
" class 7 (shorts): 2756\n",
|
||||
" class 8 (skirt): 5046\n",
|
||||
" class 9 (coat): 3124\n",
|
||||
" class 10 (dress): 18739\n",
|
||||
" class 11 (jumpsuit): 922\n",
|
||||
" class 12 (cape): 152\n",
|
||||
" class 13 (glasses): 4855\n",
|
||||
" class 14 (hat): 2518\n",
|
||||
" class 15 (hair accessory): 3470\n",
|
||||
" class 16 (tie): 1457\n",
|
||||
" class 17 (glove): 1385\n",
|
||||
" class 18 (watch): 3389\n",
|
||||
" class 19 (belt): 6851\n",
|
||||
" class 20 (leg warmer): 112\n",
|
||||
" class 21 (tights, stockings): 4326\n",
|
||||
" class 22 (sock): 2582\n",
|
||||
" class 23 (shoe): 46374\n",
|
||||
" class 24 (bag, wallet): 7217\n",
|
||||
" class 25 (scarf): 1374\n",
|
||||
" class 26 (umbrella): 135\n",
|
||||
" class 27 (hood): 1226\n",
|
||||
" class 28 (collar): 10159\n",
|
||||
" class 29 (lapel): 5972\n",
|
||||
" class 30 (epaulette): 874\n",
|
||||
" class 31 (sleeve): 59448\n",
|
||||
" class 32 (pocket): 27179\n",
|
||||
" class 33 (neckline): 34258\n",
|
||||
" class 34 (buckle): 3300\n",
|
||||
" class 35 (zipper): 7991\n",
|
||||
" class 36 (applique): 3529\n",
|
||||
" class 37 (bead): 5084\n",
|
||||
" class 38 (bow): 528\n",
|
||||
" class 39 (flower): 1367\n",
|
||||
" class 40 (fringe): 588\n",
|
||||
" class 41 (ribbon): 274\n",
|
||||
" class 42 (rivet): 4893\n",
|
||||
" class 43 (ruffle): 2407\n",
|
||||
" class 44 (sequin): 929\n",
|
||||
" class 45 (tassel): 335\n",
|
||||
"\n",
|
||||
"📂 폴더 분석: /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/val\n",
|
||||
"📄 파일 개수: 1158\n",
|
||||
"🧮 클래스별 개수:\n",
|
||||
" class 0 (shirt, blouse): 102\n",
|
||||
" class 1 (top, t-shirt, sweatshirt): 477\n",
|
||||
" class 2 (sweater): 21\n",
|
||||
" class 3 (cardigan): 12\n",
|
||||
" class 4 (jacket): 183\n",
|
||||
" class 5 (vest): 22\n",
|
||||
" class 6 (pants): 314\n",
|
||||
" class 7 (shorts): 106\n",
|
||||
" class 8 (skirt): 162\n",
|
||||
" class 9 (coat): 104\n",
|
||||
" class 10 (dress): 508\n",
|
||||
" class 11 (jumpsuit): 21\n",
|
||||
" class 12 (cape): 5\n",
|
||||
" class 13 (glasses): 130\n",
|
||||
" class 14 (hat): 74\n",
|
||||
" class 15 (hair accessory): 109\n",
|
||||
" class 16 (tie): 3\n",
|
||||
" class 17 (glove): 31\n",
|
||||
" class 18 (watch): 84\n",
|
||||
" class 19 (belt): 164\n",
|
||||
" class 20 (leg warmer): 14\n",
|
||||
" class 21 (tights, stockings): 122\n",
|
||||
" class 22 (sock): 87\n",
|
||||
" class 23 (shoe): 1566\n",
|
||||
" class 24 (bag, wallet): 214\n",
|
||||
" class 25 (scarf): 48\n",
|
||||
" class 26 (umbrella): 5\n",
|
||||
" class 27 (hood): 32\n",
|
||||
" class 28 (collar): 218\n",
|
||||
" class 29 (lapel): 135\n",
|
||||
" class 30 (epaulette): 14\n",
|
||||
" class 31 (sleeve): 1442\n",
|
||||
" class 32 (pocket): 541\n",
|
||||
" class 33 (neckline): 929\n",
|
||||
" class 34 (buckle): 67\n",
|
||||
" class 35 (zipper): 194\n",
|
||||
" class 36 (applique): 61\n",
|
||||
" class 37 (bead): 107\n",
|
||||
" class 38 (bow): 6\n",
|
||||
" class 39 (flower): 37\n",
|
||||
" class 40 (fringe): 30\n",
|
||||
" class 41 (ribbon): 9\n",
|
||||
" class 42 (rivet): 143\n",
|
||||
" class 43 (ruffle): 76\n",
|
||||
" class 44 (sequin): 13\n",
|
||||
" class 45 (tassel): 39\n",
|
||||
"\n",
|
||||
"=====================================\n",
|
||||
"📊 전체(train + val) 클래스별 개수\n",
|
||||
"=====================================\n",
|
||||
" class 0 (shirt, blouse): 6263\n",
|
||||
" class 1 (top, t-shirt, sweatshirt): 17025\n",
|
||||
" class 2 (sweater): 1515\n",
|
||||
" class 3 (cardigan): 1119\n",
|
||||
" class 4 (jacket): 8016\n",
|
||||
" class 5 (vest): 741\n",
|
||||
" class 6 (pants): 12728\n",
|
||||
" class 7 (shorts): 2862\n",
|
||||
" class 8 (skirt): 5208\n",
|
||||
" class 9 (coat): 3228\n",
|
||||
" class 10 (dress): 19247\n",
|
||||
" class 11 (jumpsuit): 943\n",
|
||||
" class 12 (cape): 157\n",
|
||||
" class 13 (glasses): 4985\n",
|
||||
" class 14 (hat): 2592\n",
|
||||
" class 15 (hair accessory): 3579\n",
|
||||
" class 16 (tie): 1460\n",
|
||||
" class 17 (glove): 1416\n",
|
||||
" class 18 (watch): 3473\n",
|
||||
" class 19 (belt): 7015\n",
|
||||
" class 20 (leg warmer): 126\n",
|
||||
" class 21 (tights, stockings): 4448\n",
|
||||
" class 22 (sock): 2669\n",
|
||||
" class 23 (shoe): 47940\n",
|
||||
" class 24 (bag, wallet): 7431\n",
|
||||
" class 25 (scarf): 1422\n",
|
||||
" class 26 (umbrella): 140\n",
|
||||
" class 27 (hood): 1258\n",
|
||||
" class 28 (collar): 10377\n",
|
||||
" class 29 (lapel): 6107\n",
|
||||
" class 30 (epaulette): 888\n",
|
||||
" class 31 (sleeve): 60890\n",
|
||||
" class 32 (pocket): 27720\n",
|
||||
" class 33 (neckline): 35187\n",
|
||||
" class 34 (buckle): 3367\n",
|
||||
" class 35 (zipper): 8185\n",
|
||||
" class 36 (applique): 3590\n",
|
||||
" class 37 (bead): 5191\n",
|
||||
" class 38 (bow): 534\n",
|
||||
" class 39 (flower): 1404\n",
|
||||
" class 40 (fringe): 618\n",
|
||||
" class 41 (ribbon): 283\n",
|
||||
" class 42 (rivet): 5036\n",
|
||||
" class 43 (ruffle): 2483\n",
|
||||
" class 44 (sequin): 942\n",
|
||||
" class 45 (tassel): 374\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import defaultdict\n",
|
||||
"import yaml\n",
|
||||
"\n",
|
||||
"# ---------------------------------------\n",
|
||||
"# 1) YAML 파일에서 클래스 이름 불러오기\n",
|
||||
"# ---------------------------------------\n",
|
||||
"yaml_path = \"/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_bak.yaml\"\n",
|
||||
"\n",
|
||||
"with open(yaml_path, \"r\") as f:\n",
|
||||
" data = yaml.safe_load(f)\n",
|
||||
"\n",
|
||||
"names = data[\"names\"]\n",
|
||||
"# keys가 문자열일 수도 있음 → 정수 key로 맞춰줌\n",
|
||||
"class_names = {int(k): v for k, v in names.items()}\n",
|
||||
"\n",
|
||||
"# ---------------------------------------\n",
|
||||
"# 2) Label 파일 읽어서 클래스별 개수 계산\n",
|
||||
"# ---------------------------------------\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/fashionpedia_yolo/labels\"\n",
|
||||
"folders = [\"train\", \"val\"]\n",
|
||||
"\n",
|
||||
"total_counts = defaultdict(int)\n",
|
||||
"\n",
|
||||
"for folder in folders:\n",
|
||||
" folder_path = os.path.join(label_root, folder)\n",
|
||||
" class_counts = defaultdict(int)\n",
|
||||
"\n",
|
||||
" txt_files = [f for f in os.listdir(folder_path) if f.endswith(\".txt\")]\n",
|
||||
"\n",
|
||||
" print(f\"\\n📂 폴더 분석: {folder_path}\")\n",
|
||||
" print(f\"📄 파일 개수: {len(txt_files)}\")\n",
|
||||
"\n",
|
||||
" for txt in txt_files:\n",
|
||||
" with open(os.path.join(folder_path, txt), \"r\") as f:\n",
|
||||
" lines = f.readlines()\n",
|
||||
"\n",
|
||||
" for line in lines:\n",
|
||||
" class_id = int(line.split()[0])\n",
|
||||
" class_counts[class_id] += 1\n",
|
||||
" total_counts[class_id] += 1\n",
|
||||
"\n",
|
||||
" # --- 폴더별 결과 출력 ---\n",
|
||||
" print(\"🧮 클래스별 개수:\")\n",
|
||||
" for cid in sorted(class_counts.keys()):\n",
|
||||
" print(f\" class {cid:2d} ({class_names.get(cid, 'Unknown')}): {class_counts[cid]}\")\n",
|
||||
"\n",
|
||||
"# ---------------------------------------\n",
|
||||
"# 3) 전체 합산 결과 출력\n",
|
||||
"# ---------------------------------------\n",
|
||||
"print(\"\\n=====================================\")\n",
|
||||
"print(\"📊 전체(train + val) 클래스별 개수\")\n",
|
||||
"print(\"=====================================\")\n",
|
||||
"for cid in sorted(total_counts.keys()):\n",
|
||||
" print(f\" class {cid:2d} ({class_names.get(cid, 'Unknown')}): {total_counts[cid]}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "d94803f3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"New https://pypi.org/project/ultralytics/8.3.237 available 😃 Update with 'pip install -U ultralytics'\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32109MiB)\n",
|
||||
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=-1, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_bak.yaml, degrees=0.0, deterministic=True, device=0, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=500, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.001, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8m.pt, momentum=0.937, mosaic=1.0, multi_scale=False, name=yolov8m_fashion_all, nbs=64, nms=False, opset=None, optimize=False, optimizer=AdamW, overlap_mask=True, patience=50, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=fashionpedia_exp, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
|
||||
"Overriding model.yaml nc=80 with nc=46\n",
|
||||
"\n",
|
||||
" from n params module arguments \n",
|
||||
" 0 -1 1 1392 ultralytics.nn.modules.conv.Conv [3, 48, 3, 2] \n",
|
||||
" 1 -1 1 41664 ultralytics.nn.modules.conv.Conv [48, 96, 3, 2] \n",
|
||||
" 2 -1 2 111360 ultralytics.nn.modules.block.C2f [96, 96, 2, True] \n",
|
||||
" 3 -1 1 166272 ultralytics.nn.modules.conv.Conv [96, 192, 3, 2] \n",
|
||||
" 4 -1 4 813312 ultralytics.nn.modules.block.C2f [192, 192, 4, True] \n",
|
||||
" 5 -1 1 664320 ultralytics.nn.modules.conv.Conv [192, 384, 3, 2] \n",
|
||||
" 6 -1 4 3248640 ultralytics.nn.modules.block.C2f [384, 384, 4, True] \n",
|
||||
" 7 -1 1 1991808 ultralytics.nn.modules.conv.Conv [384, 576, 3, 2] \n",
|
||||
" 8 -1 2 3985920 ultralytics.nn.modules.block.C2f [576, 576, 2, True] \n",
|
||||
" 9 -1 1 831168 ultralytics.nn.modules.block.SPPF [576, 576, 5] \n",
|
||||
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 12 -1 2 1993728 ultralytics.nn.modules.block.C2f [960, 384, 2] \n",
|
||||
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 15 -1 2 517632 ultralytics.nn.modules.block.C2f [576, 192, 2] \n",
|
||||
" 16 -1 1 332160 ultralytics.nn.modules.conv.Conv [192, 192, 3, 2] \n",
|
||||
" 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 18 -1 2 1846272 ultralytics.nn.modules.block.C2f [576, 384, 2] \n",
|
||||
" 19 -1 1 1327872 ultralytics.nn.modules.conv.Conv [384, 384, 3, 2] \n",
|
||||
" 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 21 -1 2 4207104 ultralytics.nn.modules.block.C2f [960, 576, 2] \n",
|
||||
" 22 [15, 18, 21] 1 3802330 ultralytics.nn.modules.head.Detect [46, [192, 384, 576]] \n",
|
||||
"Model summary: 169 layers, 25,882,954 parameters, 25,882,938 gradients, 79.2 GFLOPs\n",
|
||||
"\n",
|
||||
"Transferred 469/475 items from pretrained weights\n",
|
||||
"Freezing layer 'model.22.dfl.conv.weight'\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks...\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 3322.6±3977.1 MB/s, size: 88.2 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/train... 45623 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 45623/45623 7.9Kit/s 5.8s0.0s\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/fashionpedia_yolo/images/train/19725.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/train.cache\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mComputing optimal batch size for imgsz=640 at 60.0% CUDA memory utilization.\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mCUDA:0 (NVIDIA GeForce RTX 5090) 31.36G total, 0.25G reserved, 0.24G allocated, 30.87G free\n",
|
||||
" Params GFLOPs GPU_mem (GB) forward (ms) backward (ms) input output\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/home/cuuva/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
||||
" from .autonotebook import tqdm as notebook_tqdm\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" 25882954 79.21 2.898 28.43 155.4 (1, 3, 640, 640) list\n",
|
||||
" 25882954 158.4 4.754 9.878 36.17 (2, 3, 640, 640) list\n",
|
||||
" 25882954 316.8 5.887 13.6 50 (4, 3, 640, 640) list\n",
|
||||
" 25882954 633.7 8.972 26.37 74.09 (8, 3, 640, 640) list\n",
|
||||
" 25882954 1267 12.149 27.28 121.9 (16, 3, 640, 640) list\n",
|
||||
" 25882954 2535 20.816 55.09 243.1 (32, 3, 640, 640) list\n",
|
||||
" 25882954 5069 20.615 117.7 484.3 (64, 3, 640, 640) list\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mUsing batch-size 28 for CUDA:0 19.32G/31.36G (62%) ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 5333.7±2302.8 MB/s, size: 66.6 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/train.cache... 45623 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 45623/45623 90.6Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/fashionpedia_yolo/images/train/19725.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 3235.1±1428.7 MB/s, size: 71.1 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/val... 1158 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 1158/1158 6.4Kit/s 0.2s4s\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /home/cuuva/experiment/datasets/fashionpedia_yolo/labels/val.cache\n",
|
||||
"Plotting labels to /home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/labels.jpg... \n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.001, momentum=0.937) with parameter groups 77 weight(decay=0.0), 84 weight(decay=0.0004375), 83 bias(decay=0.0)\n",
|
||||
"Image sizes 640 train, 640 val\n",
|
||||
"Using 8 dataloader workers\n",
|
||||
"Logging results to \u001b[1m/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all\u001b[0m\n",
|
||||
"Starting training for 500 epochs...\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 1/500 12.3G 1.118 1.526 1.247 379 640: 76% ━━━━━━━━━─── 1232/1630 8.0it/s 5:18<49.7s\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "KeyboardInterrupt",
|
||||
"evalue": "",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[2], line 8\u001b[0m\n\u001b[1;32m 4\u001b[0m model \u001b[38;5;241m=\u001b[39m YOLO(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124myolov8m.pt\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# 2. 학습 실행\u001b[39;00m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# 위에서 생성된 yaml 파일 경로를 넣어줍니다.\u001b[39;00m\n\u001b[0;32m----> 8\u001b[0m train_results \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_bak.yaml\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m500\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43mimgsz\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m640\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[43m \u001b[49m\u001b[43mbatch\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[43m \u001b[49m\u001b[43mdevice\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcuda\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 14\u001b[0m \u001b[43m \u001b[49m\u001b[43moptimizer\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mAdamW\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 15\u001b[0m \u001b[43m \u001b[49m\u001b[43mlr0\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0.001\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 16\u001b[0m \u001b[43m \u001b[49m\u001b[43mpatience\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m50\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 17\u001b[0m \u001b[43m \u001b[49m\u001b[43mproject\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mfashionpedia_exp\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 18\u001b[0m \u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43myolov8m_fashion_all\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 19\u001b[0m \u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/engine/model.py:777\u001b[0m, in \u001b[0;36mModel.train\u001b[0;34m(self, trainer, **kwargs)\u001b[0m\n\u001b[1;32m 774\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mget_model(weights\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mckpt \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m, cfg\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel\u001b[38;5;241m.\u001b[39myaml)\n\u001b[1;32m 775\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mmodel\n\u001b[0;32m--> 777\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrainer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 778\u001b[0m \u001b[38;5;66;03m# Update model and cfg after training\u001b[39;00m\n\u001b[1;32m 779\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m RANK \u001b[38;5;129;01min\u001b[39;00m {\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m0\u001b[39m}:\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/engine/trainer.py:238\u001b[0m, in \u001b[0;36mBaseTrainer.train\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 235\u001b[0m ddp_cleanup(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28mstr\u001b[39m(file))\n\u001b[1;32m 237\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 238\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_do_train\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/engine/trainer.py:422\u001b[0m, in \u001b[0;36mBaseTrainer._do_train\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 420\u001b[0m loss, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mloss_items \u001b[38;5;241m=\u001b[39m unwrap_model(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel)\u001b[38;5;241m.\u001b[39mloss(batch, preds)\n\u001b[1;32m 421\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 422\u001b[0m loss, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mloss_items \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbatch\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 423\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mloss \u001b[38;5;241m=\u001b[39m loss\u001b[38;5;241m.\u001b[39msum()\n\u001b[1;32m 424\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m RANK \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m:\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/torch/nn/modules/module.py:1775\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1773\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1774\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1775\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/torch/nn/modules/module.py:1786\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1781\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1782\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1783\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1784\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1785\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1786\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1788\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1789\u001b[0m called_always_called_hooks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m()\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/nn/tasks.py:136\u001b[0m, in \u001b[0;36mBaseModel.forward\u001b[0;34m(self, x, *args, **kwargs)\u001b[0m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Perform forward pass of the model for either training or inference.\u001b[39;00m\n\u001b[1;32m 124\u001b[0m \n\u001b[1;32m 125\u001b[0m \u001b[38;5;124;03mIf x is a dict, calculates and returns the loss for training. Otherwise, returns predictions for inference.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;124;03m (torch.Tensor): Loss if x is a dict (training), or network predictions (inference).\u001b[39;00m\n\u001b[1;32m 134\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 135\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(x, \u001b[38;5;28mdict\u001b[39m): \u001b[38;5;66;03m# for cases of training and validating while training.\u001b[39;00m\n\u001b[0;32m--> 136\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloss\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpredict(x, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/nn/tasks.py:328\u001b[0m, in \u001b[0;36mBaseModel.loss\u001b[0;34m(self, batch, preds)\u001b[0m\n\u001b[1;32m 326\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m preds \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 327\u001b[0m preds \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mforward(batch[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimg\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m--> 328\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcriterion\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpreds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbatch\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/utils/loss.py:270\u001b[0m, in \u001b[0;36mv8DetectionLoss.__call__\u001b[0;34m(self, preds, batch)\u001b[0m\n\u001b[1;32m 266\u001b[0m pred_bboxes \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbbox_decode(anchor_points, pred_distri) \u001b[38;5;66;03m# xyxy, (b, h*w, 4)\u001b[39;00m\n\u001b[1;32m 267\u001b[0m \u001b[38;5;66;03m# dfl_conf = pred_distri.view(batch_size, -1, 4, self.reg_max).detach().softmax(-1)\u001b[39;00m\n\u001b[1;32m 268\u001b[0m \u001b[38;5;66;03m# dfl_conf = (dfl_conf.amax(-1).mean(-1) + dfl_conf.amax(-1).amin(-1)) / 2\u001b[39;00m\n\u001b[0;32m--> 270\u001b[0m _, target_bboxes, target_scores, fg_mask, _ \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43massigner\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 271\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# pred_scores.detach().sigmoid() * 0.8 + dfl_conf.unsqueeze(-1) * 0.2,\u001b[39;49;00m\n\u001b[1;32m 272\u001b[0m \u001b[43m \u001b[49m\u001b[43mpred_scores\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdetach\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msigmoid\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 273\u001b[0m \u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mpred_bboxes\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdetach\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mstride_tensor\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtype\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgt_bboxes\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 274\u001b[0m \u001b[43m \u001b[49m\u001b[43manchor_points\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mstride_tensor\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 275\u001b[0m \u001b[43m \u001b[49m\u001b[43mgt_labels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 276\u001b[0m \u001b[43m \u001b[49m\u001b[43mgt_bboxes\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 277\u001b[0m \u001b[43m \u001b[49m\u001b[43mmask_gt\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 278\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 280\u001b[0m target_scores_sum \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(target_scores\u001b[38;5;241m.\u001b[39msum(), \u001b[38;5;241m1\u001b[39m)\n\u001b[1;32m 282\u001b[0m \u001b[38;5;66;03m# Cls loss\u001b[39;00m\n\u001b[1;32m 283\u001b[0m \u001b[38;5;66;03m# loss[1] = self.varifocal_loss(pred_scores, target_scores, target_labels) / target_scores_sum # VFL way\u001b[39;00m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/torch/nn/modules/module.py:1775\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1773\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[1;32m 1774\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 1775\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/torch/nn/modules/module.py:1786\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1781\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1782\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1783\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[1;32m 1784\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1785\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1786\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1788\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1789\u001b[0m called_always_called_hooks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m()\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/torch/utils/_contextlib.py:120\u001b[0m, in \u001b[0;36mcontext_decorator.<locals>.decorate_context\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 118\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mdecorate_context\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 119\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m ctx_factory():\n\u001b[0;32m--> 120\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/utils/tal.py:79\u001b[0m, in \u001b[0;36mTaskAlignedAssigner.forward\u001b[0;34m(self, pd_scores, pd_bboxes, anc_points, gt_labels, gt_bboxes, mask_gt)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (\n\u001b[1;32m 71\u001b[0m torch\u001b[38;5;241m.\u001b[39mfull_like(pd_scores[\u001b[38;5;241m.\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;241m.\u001b[39m, \u001b[38;5;241m0\u001b[39m], \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_classes),\n\u001b[1;32m 72\u001b[0m torch\u001b[38;5;241m.\u001b[39mzeros_like(pd_bboxes),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 75\u001b[0m torch\u001b[38;5;241m.\u001b[39mzeros_like(pd_scores[\u001b[38;5;241m.\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;241m.\u001b[39m, \u001b[38;5;241m0\u001b[39m]),\n\u001b[1;32m 76\u001b[0m )\n\u001b[1;32m 78\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 79\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpd_scores\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpd_bboxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43manc_points\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgt_labels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgt_bboxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmask_gt\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 80\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mOutOfMemoryError:\n\u001b[1;32m 81\u001b[0m \u001b[38;5;66;03m# Move tensors to CPU, compute, then move back to original device\u001b[39;00m\n\u001b[1;32m 82\u001b[0m LOGGER\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCUDA OutOfMemoryError in TaskAlignedAssigner, using CPU\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/utils/tal.py:105\u001b[0m, in \u001b[0;36mTaskAlignedAssigner._forward\u001b[0;34m(self, pd_scores, pd_bboxes, anc_points, gt_labels, gt_bboxes, mask_gt)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21m_forward\u001b[39m(\u001b[38;5;28mself\u001b[39m, pd_scores, pd_bboxes, anc_points, gt_labels, gt_bboxes, mask_gt):\n\u001b[1;32m 88\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Compute the task-aligned assignment.\u001b[39;00m\n\u001b[1;32m 89\u001b[0m \n\u001b[1;32m 90\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[38;5;124;03m target_gt_idx (torch.Tensor): Target ground truth indices with shape (bs, num_total_anchors).\u001b[39;00m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 105\u001b[0m mask_pos, align_metric, overlaps \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_pos_mask\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 106\u001b[0m \u001b[43m \u001b[49m\u001b[43mpd_scores\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpd_bboxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgt_labels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgt_bboxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43manc_points\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmask_gt\u001b[49m\n\u001b[1;32m 107\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 109\u001b[0m target_gt_idx, fg_mask, mask_pos \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mselect_highest_overlaps(mask_pos, overlaps, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_max_boxes)\n\u001b[1;32m 111\u001b[0m \u001b[38;5;66;03m# Assigned target\u001b[39;00m\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/utils/tal.py:141\u001b[0m, in \u001b[0;36mTaskAlignedAssigner.get_pos_mask\u001b[0;34m(self, pd_scores, pd_bboxes, gt_labels, gt_bboxes, anc_points, mask_gt)\u001b[0m\n\u001b[1;32m 139\u001b[0m mask_in_gts \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mselect_candidates_in_gts(anc_points, gt_bboxes)\n\u001b[1;32m 140\u001b[0m \u001b[38;5;66;03m# Get anchor_align metric, (b, max_num_obj, h*w)\u001b[39;00m\n\u001b[0;32m--> 141\u001b[0m align_metric, overlaps \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_box_metrics\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpd_scores\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpd_bboxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgt_labels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgt_bboxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmask_in_gts\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mmask_gt\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 142\u001b[0m \u001b[38;5;66;03m# Get topk_metric mask, (b, max_num_obj, h*w)\u001b[39;00m\n\u001b[1;32m 143\u001b[0m mask_topk \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mselect_topk_candidates(align_metric, topk_mask\u001b[38;5;241m=\u001b[39mmask_gt\u001b[38;5;241m.\u001b[39mexpand(\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtopk)\u001b[38;5;241m.\u001b[39mbool())\n",
|
||||
"File \u001b[0;32m~/anaconda3/envs/1stagedetect/lib/python3.10/site-packages/ultralytics/utils/tal.py:175\u001b[0m, in \u001b[0;36mTaskAlignedAssigner.get_box_metrics\u001b[0;34m(self, pd_scores, pd_bboxes, gt_labels, gt_bboxes, mask_gt)\u001b[0m\n\u001b[1;32m 172\u001b[0m bbox_scores[mask_gt] \u001b[38;5;241m=\u001b[39m pd_scores[ind[\u001b[38;5;241m0\u001b[39m], :, ind[\u001b[38;5;241m1\u001b[39m]][mask_gt] \u001b[38;5;66;03m# b, max_num_obj, h*w\u001b[39;00m\n\u001b[1;32m 174\u001b[0m \u001b[38;5;66;03m# (b, max_num_obj, 1, 4), (b, 1, h*w, 4)\u001b[39;00m\n\u001b[0;32m--> 175\u001b[0m pd_boxes \u001b[38;5;241m=\u001b[39m \u001b[43mpd_bboxes\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43munsqueeze\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mexpand(\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_max_boxes, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m)[mask_gt]\n\u001b[1;32m 176\u001b[0m gt_boxes \u001b[38;5;241m=\u001b[39m gt_bboxes\u001b[38;5;241m.\u001b[39munsqueeze(\u001b[38;5;241m2\u001b[39m)\u001b[38;5;241m.\u001b[39mexpand(\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, na, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m)[mask_gt]\n\u001b[1;32m 177\u001b[0m overlaps[mask_gt] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miou_calculation(gt_boxes, pd_boxes)\n",
|
||||
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n",
|
||||
"\n",
|
||||
"# 1. 모델 로드 (YOLOv8m 사용)\n",
|
||||
"model = YOLO('yolov8m.pt')\n",
|
||||
"\n",
|
||||
"# 2. 학습 실행\n",
|
||||
"# 위에서 생성된 yaml 파일 경로를 넣어줍니다.\n",
|
||||
"train_results = model.train(\n",
|
||||
" data=\"/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_bak.yaml\", \n",
|
||||
" epochs=500, \n",
|
||||
" imgsz=640,\n",
|
||||
" batch=-1, \n",
|
||||
" device=\"cuda\",\n",
|
||||
" optimizer='AdamW',\n",
|
||||
" lr0=0.001,\n",
|
||||
" patience=50,\n",
|
||||
" project='fashionpedia_exp',\n",
|
||||
" name='yolov8m_fashion_all',\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "9de5e25b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32109MiB)\n",
|
||||
"Model summary (fused): 92 layers, 25,866,394 parameters, 0 gradients, 78.8 GFLOPs\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from '/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights/best_fashion_detect_all.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 50, 8400) (49.7 MB)\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m starting export with onnx 1.19.1 opset 20...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m slimming with onnxslim 0.1.71...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m export success ✅ 0.9s, saved as '/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights/best_fashion_detect_all.onnx' (98.9 MB)\n",
|
||||
"\n",
|
||||
"Export complete (1.4s)\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights\u001b[0m\n",
|
||||
"Predict: yolo predict task=detect model=/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights/best_fashion_detect_all.onnx imgsz=640 \n",
|
||||
"Validate: yolo val task=detect model=/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights/best_fashion_detect_all.onnx imgsz=640 data=/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_bak.yaml \n",
|
||||
"Visualize: https://netron.app\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights/best_fashion_detect_all.onnx'"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n",
|
||||
"model = YOLO(\"/home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all/weights/best_fashion_detect_all.pt\")\n",
|
||||
"model.export(format=\"onnx\", imgsz=640, device=0)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "a77ad845",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_custom.yaml
|
||||
epochs: 500
|
||||
time: null
|
||||
patience: 100
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fashionpedia_exp
|
||||
name: yolov8m_fashion+face
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion+face
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_custom.yaml
|
||||
epochs: 500
|
||||
time: null
|
||||
patience: 50
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fashionpedia_exp
|
||||
name: yolov8m_fashion+face_nohood
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion+face_nohood
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_bak.yaml
|
||||
epochs: 300
|
||||
time: null
|
||||
patience: 50
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fashionpedia_exp
|
||||
name: yolov8m_fashion_all
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_all
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_reduced.yaml
|
||||
epochs: 500
|
||||
time: null
|
||||
patience: 50
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fashionpedia_exp
|
||||
name: yolov8m_fashion_final2
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fashion_yolo/fashionpedia_exp/yolov8m_fashion_final2
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,33 @@
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 1. 모델 로드 (YOLOv8m 사용)
|
||||
model = YOLO('yolov8m.pt')
|
||||
|
||||
# 2. 학습 실행
|
||||
# 위에서 생성된 yaml 파일 경로를 넣어줍니다.
|
||||
# train_results = model.train(
|
||||
# data="/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_custom_noface.yaml",
|
||||
# epochs=500,
|
||||
# imgsz=640,
|
||||
# batch=-1,
|
||||
# device="cuda",
|
||||
# optimizer='AdamW',
|
||||
# lr0=0.001,
|
||||
# patience=50,
|
||||
# verbose=False,
|
||||
# project='fashionpedia_exp',
|
||||
# name='yolov8m_fashion_noface',
|
||||
# )
|
||||
|
||||
train_results = model.train(
|
||||
data="/home/cuuva/experiment/datasets/fashionpedia_yolo/fashionpedia_reduced.yaml",
|
||||
epochs=500,
|
||||
imgsz=640,
|
||||
batch=-1,
|
||||
device="cuda",
|
||||
optimizer='AdamW',
|
||||
lr0=0.001,
|
||||
patience=50,
|
||||
project='fashionpedia_exp',
|
||||
name='yolov8m_fashion_final',
|
||||
)
|
||||
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml
|
||||
epochs: 200
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fire_detect
|
||||
name: epo200_frac_0.2
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.2
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.2
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml
|
||||
epochs: 200
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fire_detect
|
||||
name: epo200_frac_0.22
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.2
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.22
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml
|
||||
epochs: 200
|
||||
time: null
|
||||
patience: 30
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fire_detect
|
||||
name: epo200_frac_0.23
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.2
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml
|
||||
epochs: 3
|
||||
time: null
|
||||
patience: 2
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: fire_detect
|
||||
name: test
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 0.2
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/fire_smoke_detect/fire_detect/test
|
||||
|
@ -0,0 +1,820 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "a7676704",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n",
|
||||
"\n",
|
||||
"import torch"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "3e94066a",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"torch.cuda.is_available()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "99b0442c",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"New https://pypi.org/project/ultralytics/8.3.227 available 😃 Update with 'pip install -U ultralytics'\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.8.0+cu129 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=-1, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=/home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml, degrees=0.0, deterministic=True, device=0, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=200, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=0.2, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.001, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8n.pt, momentum=0.937, mosaic=1.0, multi_scale=False, name=epo200_frac_0.23, nbs=64, nms=False, opset=None, optimize=False, optimizer=AdamW, overlap_mask=True, patience=30, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=fire_detect, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
|
||||
"Overriding model.yaml nc=80 with nc=2\n",
|
||||
"\n",
|
||||
" from n params module arguments \n",
|
||||
" 0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2] \n",
|
||||
" 1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2] \n",
|
||||
" 2 -1 1 7360 ultralytics.nn.modules.block.C2f [32, 32, 1, True] \n",
|
||||
" 3 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2] \n",
|
||||
" 4 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True] \n",
|
||||
" 5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2] \n",
|
||||
" 6 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True] \n",
|
||||
" 7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2] \n",
|
||||
" 8 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True] \n",
|
||||
" 9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5] \n",
|
||||
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 12 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1] \n",
|
||||
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 15 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1] \n",
|
||||
" 16 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2] \n",
|
||||
" 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 18 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1] \n",
|
||||
" 19 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2] \n",
|
||||
" 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 21 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1] \n",
|
||||
" 22 [15, 18, 21] 1 751702 ultralytics.nn.modules.head.Detect [2, [64, 128, 256]] \n",
|
||||
"Model summary: 129 layers, 3,011,238 parameters, 3,011,222 gradients, 8.2 GFLOPs\n",
|
||||
"\n",
|
||||
"Transferred 319/355 items from pretrained weights\n",
|
||||
"Freezing layer 'model.22.dfl.conv.weight'\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks...\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 708.3±281.4 MB/s, size: 334.0 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/aihub_car/fire_dataset/Training/labels/FL/ENB/0174/JPG.cache... 305424 images, 1715 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 305424/305424 572.9Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mComputing optimal batch size for imgsz=640 at 60.0% CUDA memory utilization.\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mCUDA:0 (NVIDIA GeForce RTX 5090) 31.33G total, 0.15G reserved, 0.05G allocated, 31.13G free\n",
|
||||
" Params GFLOPs GPU_mem (GB) forward (ms) backward (ms) input output\n",
|
||||
" 3011238 8.195 3.450 35.09 227.5 (1, 3, 640, 640) list\n",
|
||||
" 3011238 16.39 3.991 4.973 24.53 (2, 3, 640, 640) list\n",
|
||||
" 3011238 32.78 4.261 5.241 24.53 (4, 3, 640, 640) list\n",
|
||||
" 3011238 65.56 4.970 5.51 30.21 (8, 3, 640, 640) list\n",
|
||||
" 3011238 131.1 6.117 7.798 40.44 (16, 3, 640, 640) list\n",
|
||||
" 3011238 262.2 4.855 15.02 54 (32, 3, 640, 640) list\n",
|
||||
" 3011238 524.5 10.557 30.83 104.5 (64, 3, 640, 640) list\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mUsing batch-size 141 for CUDA:0 19.15G/31.33G (61%) ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 704.0±204.4 MB/s, size: 445.0 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/aihub_car/fire_dataset/Training/labels/FL/ENB/0174/JPG.cache... 305424 images, 1715 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 305424/305424 593.6Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 825.4±75.3 MB/s, size: 500.0 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/cuuva/aihub_car/fire_dataset/Validation/labels/FL/ENB/0953/JPG.cache... 190800 images, 38386 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 190800/190800 255.3Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00001.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00002.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00003.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00004.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00005.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00006.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00007.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00008.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00009.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00010.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00011.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00012.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00013.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00014.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00015.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00016.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00017.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00018.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00019.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00020.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00021.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00022.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00023.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00024.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00025.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00026.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00027.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00028.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00029.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00030.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00031.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00032.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00033.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00034.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00035.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00036.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00037.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00038.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00039.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00040.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00041.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00042.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00043.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00044.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00045.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00046.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00047.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00048.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00049.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00050.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00051.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00052.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00053.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00054.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00055.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00056.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00057.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00058.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00059.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00060.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00061.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00062.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00063.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00064.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00065.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00066.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00067.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00068.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00069.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00070.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00071.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00072.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00073.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00074.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00075.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00076.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00077.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00078.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00079.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00080.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00081.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00082.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00083.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00084.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00085.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00086.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00087.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00088.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00089.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00090.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00091.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00092.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00093.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00094.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00095.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00096.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00097.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00098.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00099.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00100.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00101.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00102.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00103.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00104.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00105.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00106.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00107.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00108.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00109.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00110.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00111.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00112.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00113.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00114.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00115.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00116.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00117.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00118.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00119.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00120.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00121.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00122.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00123.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00124.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00125.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00126.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00127.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00128.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00129.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00130.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00131.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00132.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00133.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00134.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00135.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00136.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00137.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00138.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00139.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00140.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00141.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00142.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00143.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00144.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00145.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00146.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00147.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00148.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00149.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00150.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00151.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00152.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00153.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00154.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00155.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00156.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00157.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00158.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00159.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00160.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00161.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00162.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00163.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00164.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00165.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00166.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00167.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00168.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00169.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00170.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00171.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00172.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00173.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00174.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00175.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00176.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00177.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00178.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00179.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00180.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00181.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00182.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00183.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00184.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00185.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00186.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00187.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00188.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00189.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00190.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00191.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00192.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00193.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00194.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00195.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00196.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00197.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00198.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00199.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00200.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00201.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00202.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00203.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00204.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00205.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00206.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00207.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00208.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00209.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00210.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00211.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00212.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00213.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00214.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00215.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00216.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00217.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00218.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00219.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00220.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00221.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00222.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00223.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00224.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00225.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00226.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00227.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00228.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00229.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00230.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00231.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00232.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00233.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00234.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00235.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00236.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00237.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00238.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00239.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00240.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00241.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00242.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00243.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00244.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00245.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00246.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00247.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00248.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00249.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00250.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00251.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00252.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00253.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00254.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00255.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00256.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00257.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00258.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00259.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00260.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00261.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00262.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00263.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00264.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00265.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00266.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00267.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00268.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00269.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00270.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00271.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00272.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00273.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00274.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00275.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00276.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00277.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00278.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00279.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00280.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00281.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00282.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00283.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00284.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00285.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00286.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00287.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00288.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00289.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00290.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00291.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00292.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00293.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00294.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00295.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00296.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00297.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00298.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00299.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00300.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00301.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00302.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00303.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00304.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00305.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00306.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00307.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00308.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00309.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00310.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00311.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00312.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00313.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00314.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00315.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00316.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00317.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00318.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00319.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00320.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00321.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00322.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00323.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00324.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00325.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00326.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00327.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00328.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00329.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00330.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00331.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00332.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00333.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00334.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00335.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00336.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00337.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00338.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00339.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00340.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00341.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00342.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00343.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00344.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00345.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00346.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00347.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00348.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00349.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00350.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00351.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00352.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00353.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00354.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00355.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00356.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00357.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00358.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00359.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0m/home/cuuva/aihub_car/fire_dataset/Validation/images/FL/MS/2317/JPG/2317_FL_MS_00360.jpg: 1 duplicate labels removed\n",
|
||||
"Plotting labels to /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/labels.jpg... \n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.001, momentum=0.937) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0011015625000000001), 63 bias(decay=0.0)\n",
|
||||
"Image sizes 640 train, 640 val\n",
|
||||
"Using 8 dataloader workers\n",
|
||||
"Logging results to \u001b[1m/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23\u001b[0m\n",
|
||||
"Starting training for 200 epochs...\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 1/200 18.7G 0.9533 0.883 1.172 60 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:03<0.2s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.0it/s 2:47<0.2s\n",
|
||||
" all 190800 194206 0.59 0.558 0.523 0.306\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 2/200 18.7G 0.7994 0.5782 1.075 66 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:49<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.3it/s 2:39<0.2s\n",
|
||||
" all 190800 194206 0.74 0.534 0.604 0.368\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 3/200 18.7G 0.7507 0.5192 1.048 60 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:48<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.3it/s 2:36<0.2s\n",
|
||||
" all 190800 194206 0.755 0.585 0.653 0.41\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 4/200 18.7G 0.7019 0.4698 1.023 43 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:47<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.4it/s 2:35<0.2s\n",
|
||||
" all 190800 194206 0.754 0.639 0.687 0.43\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 5/200 18.7G 0.663 0.4336 1.002 70 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:45<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.4it/s 2:33<0.2s\n",
|
||||
" all 190800 194206 0.772 0.629 0.691 0.445\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 6/200 18.7G 0.6362 0.41 0.9883 53 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:48<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.4it/s 2:33<0.2s\n",
|
||||
" all 190800 194206 0.777 0.619 0.686 0.444\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 7/200 18.7G 0.617 0.3937 0.9788 60 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:46<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:31<0.2s\n",
|
||||
" all 190800 194206 0.775 0.626 0.697 0.451\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 8/200 18.7G 0.6026 0.381 0.9708 62 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:51<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.2s\n",
|
||||
" all 190800 194206 0.783 0.625 0.696 0.452\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 9/200 18.7G 0.5901 0.3714 0.9654 58 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:51<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.2s\n",
|
||||
" all 190800 194206 0.788 0.625 0.7 0.456\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 10/200 18.7G 0.581 0.3632 0.9612 57 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:47<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.793 0.62 0.701 0.458\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 11/200 18.7G 0.5719 0.3554 0.9561 58 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:50<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.2s\n",
|
||||
" all 190800 194206 0.793 0.619 0.703 0.461\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 12/200 18.7G 0.5636 0.3495 0.9517 58 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:45<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.801 0.613 0.705 0.464\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 13/200 18.7G 0.5575 0.3441 0.9494 66 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:46<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:26<0.3s\n",
|
||||
" all 190800 194206 0.802 0.612 0.707 0.467\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 14/200 18.7G 0.5523 0.3393 0.9465 57 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:50<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:27<0.2s\n",
|
||||
" all 190800 194206 0.799 0.61 0.708 0.469\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 15/200 18.7G 0.5468 0.3353 0.9443 73 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:48<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:26<0.2s\n",
|
||||
" all 190800 194206 0.802 0.604 0.708 0.47\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 16/200 18.7G 0.5427 0.3315 0.9423 69 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:48<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:26<0.2s\n",
|
||||
" all 190800 194206 0.802 0.603 0.707 0.471\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 17/200 18.7G 0.5365 0.3268 0.939 66 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:58<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.4it/s 2:35<0.2s\n",
|
||||
" all 190800 194206 0.801 0.603 0.706 0.47\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 18/200 18.7G 0.5334 0.3251 0.9377 65 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:08<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.2s\n",
|
||||
" all 190800 194206 0.799 0.6 0.705 0.471\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 19/200 18.7G 0.5294 0.3216 0.9363 54 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:10<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.4it/s 2:34<0.3s\n",
|
||||
" all 190800 194206 0.802 0.597 0.704 0.471\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 20/200 18.7G 0.5266 0.3193 0.9351 55 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:10<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.802 0.597 0.702 0.469\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 21/200 18.7G 0.5234 0.3163 0.9337 55 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:05<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:27<0.2s\n",
|
||||
" all 190800 194206 0.803 0.597 0.702 0.469\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 22/200 18.7G 0.5204 0.3138 0.9324 67 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:11<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.3s\n",
|
||||
" all 190800 194206 0.806 0.598 0.703 0.469\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 23/200 18.7G 0.5175 0.3118 0.931 68 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:14<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.2s\n",
|
||||
" all 190800 194206 0.806 0.597 0.703 0.469\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 24/200 18.7G 0.5149 0.3102 0.9292 56 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:05<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.3s\n",
|
||||
" all 190800 194206 0.805 0.598 0.702 0.469\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 25/200 18.7G inf 0.3075 0.9282 54 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:10<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.803 0.598 0.701 0.468\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 26/200 18.7G inf 0.3061 0.9277 63 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:08<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.3s\n",
|
||||
" all 190800 194206 0.803 0.598 0.701 0.467\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 27/200 18.7G 0.5076 0.3042 0.9265 46 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:03<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.804 0.597 0.7 0.465\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 28/200 18.7G 0.5059 0.3031 0.9258 71 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:02<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.802 0.597 0.7 0.465\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 29/200 18.7G 0.5031 0.3006 0.9243 58 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:06<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.803 0.595 0.699 0.465\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 30/200 18.7G 0.5015 0.2991 0.9237 63 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:07<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:27<0.2s\n",
|
||||
" all 190800 194206 0.803 0.593 0.698 0.463\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 31/200 18.7G 0.4989 0.2975 0.9224 66 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:04<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.802 0.593 0.696 0.462\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 32/200 18.7G 0.497 0.2958 0.9214 65 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:09<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:27<0.2s\n",
|
||||
" all 190800 194206 0.803 0.592 0.696 0.462\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 33/200 18.7G 0.4953 0.2948 0.9208 42 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:55<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:27<0.2s\n",
|
||||
" all 190800 194206 0.801 0.592 0.695 0.461\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 34/200 18.7G 0.4934 0.2933 0.9196 60 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:01<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.8 0.59 0.694 0.46\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 35/200 18.7G 0.492 0.2922 0.9194 54 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:00<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.798 0.591 0.694 0.459\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 36/200 18.7G 0.4908 0.2914 0.9186 58 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:04<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.796 0.592 0.694 0.459\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 37/200 18.7G 0.4896 0.2902 0.9183 51 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:57<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.3s\n",
|
||||
" all 190800 194206 0.795 0.592 0.693 0.458\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 38/200 18.7G 0.4882 0.289 0.9174 64 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:53<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.792 0.592 0.692 0.458\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 39/200 18.7G 0.4861 0.288 0.9167 50 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:58<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.789 0.593 0.691 0.458\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 40/200 18.7G 0.4849 0.2865 0.916 70 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:03<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.786 0.595 0.691 0.457\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 41/200 18.7G 0.4836 0.2857 0.9154 59 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:05<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.786 0.594 0.692 0.457\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 42/200 18.7G 0.4826 0.2844 0.9161 81 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:59<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.3s\n",
|
||||
" all 190800 194206 0.782 0.597 0.692 0.456\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 43/200 18.7G 0.4809 0.2837 0.9155 58 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 12:56<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.783 0.598 0.692 0.456\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 44/200 18.7G 0.4798 0.2825 0.914 62 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:04<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.782 0.599 0.693 0.455\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 45/200 18.7G inf 0.2818 0.9137 70 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:16<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:31<0.2s\n",
|
||||
" all 190800 194206 0.785 0.597 0.692 0.454\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 46/200 18.7G 0.4773 0.2808 0.913 70 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:05<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:29<0.2s\n",
|
||||
" all 190800 194206 0.789 0.594 0.692 0.454\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 47/200 18.7G 0.4756 0.28 0.9127 57 640: 100% ━━━━━━━━━━━━ 2167/2167 2.7it/s 13:10<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.6it/s 2:28<0.2s\n",
|
||||
" all 190800 194206 0.787 0.596 0.692 0.453\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 48/200 18.7G 0.4747 0.2788 0.912 62 640: 100% ━━━━━━━━━━━━ 2167/2167 2.8it/s 13:07<0.7s\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.5it/s 2:30<0.2s\n",
|
||||
" all 190800 194206 0.783 0.599 0.692 0.453\n",
|
||||
"\u001b[34m\u001b[1mEarlyStopping: \u001b[0mTraining stopped early as no improvement observed in last 30 epochs. Best results observed at epoch 18, best model saved as best.pt.\n",
|
||||
"To update EarlyStopping(patience=30) pass a new patience value, i.e. `patience=300` or use `patience=0` to disable EarlyStopping.\n",
|
||||
"\n",
|
||||
"48 epochs completed in 12.607 hours.\n",
|
||||
"Optimizer stripped from /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/last.pt, 6.2MB\n",
|
||||
"Optimizer stripped from /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.pt, 6.2MB\n",
|
||||
"\n",
|
||||
"Validating /home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.pt...\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.8.0+cu129 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"Model summary (fused): 72 layers, 3,006,038 parameters, 0 gradients, 8.1 GFLOPs\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 677/677 4.0it/s 2:50<0.3s\n",
|
||||
" all 190800 194206 0.8 0.601 0.705 0.471\n",
|
||||
" flame 72076 75235 0.819 0.759 0.837 0.605\n",
|
||||
" smoke 116127 118971 0.781 0.443 0.574 0.336\n",
|
||||
"Speed: 0.0ms preprocess, 0.2ms inference, 0.0ms loss, 0.2ms postprocess per image\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23\u001b[0m\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load a pretrained YOLO11n model\n",
|
||||
"model = YOLO(\"yolov8n.pt\")\n",
|
||||
"\n",
|
||||
"train_results = model.train(\n",
|
||||
" data=\"/home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml\",\n",
|
||||
" epochs=200,\n",
|
||||
" imgsz=640,\n",
|
||||
" batch=-1,\n",
|
||||
" device=\"cuda\",\n",
|
||||
" optimizer = 'AdamW',\n",
|
||||
" lr0 = 0.001,\n",
|
||||
" patience = 30,\n",
|
||||
" project = 'fire_detect',\n",
|
||||
" name = 'epo200_frac_0.2',\n",
|
||||
" fraction = 0.2\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "88d6a47e",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.8.0+cu129 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Model summary (fused): 72 layers, 3,006,038 parameters, 0 gradients, 8.1 GFLOPs\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from '/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 6, 8400) (5.9 MB)\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m starting export with onnx 1.19.1 opset 20...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m slimming with onnxslim 0.1.71...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m export success ✅ 2.9s, saved as '/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.onnx' (11.7 MB)\n",
|
||||
"\n",
|
||||
"Export complete (3.0s)\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights\u001b[0m\n",
|
||||
"Predict: yolo predict task=detect model=/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.onnx imgsz=640 \n",
|
||||
"Validate: yolo val task=detect model=/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.onnx imgsz=640 data=/home/cuuva/experiment/fire_smoke_detect/fire_smoke_detect.yaml \n",
|
||||
"Visualize: https://netron.app\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.onnx'"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"model = YOLO(\"/home/cuuva/experiment/fire_smoke_detect/fire_detect/epo200_frac_0.23/weights/best.pt\")\n",
|
||||
"model.export(format=\"onnx\", imgsz=640, device=0)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "7ad3f495",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
# 데이터셋 경로
|
||||
train: /home/cuuva/aihub_car/fire_dataset/Training/images/
|
||||
val: /home/cuuva/aihub_car/fire_dataset/Validation/images/
|
||||
|
||||
# 클래스 수
|
||||
nc: 2
|
||||
|
||||
# 클래스 이름
|
||||
names: ['flame', 'smoke']
|
||||
|
||||
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8n.pt
|
||||
data: /home/cuuva/experiment/swoon_detect/swoon_detect.yaml
|
||||
epochs: 300
|
||||
time: null
|
||||
patience: 50
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: sw_detect
|
||||
name: final_100epoch
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/swoon_detect/sw_detect/final_100epoch
|
||||
|
@ -0,0 +1,10 @@
|
||||
# 데이터셋 경로
|
||||
train: /home/cuuva/experiment/datasets/swoon_detection/Training/images/
|
||||
val: /home/cuuva/experiment/datasets/swoon_detection/Validation/images/
|
||||
|
||||
# 클래스 수
|
||||
nc: 1
|
||||
|
||||
# 클래스 이름
|
||||
names: ['swoon']
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1 @@
|
||||
Subproject commit 25738f5195fb98021521e733f406208ed494ffa3
|
||||
@ -0,0 +1,9 @@
|
||||
# path: /home/cuuva/experiment/datasets/VisDrone # 데이터 경로
|
||||
train: /home/cuuva/experiment/datasets/vis5class/images/train
|
||||
val: /home/cuuva/experiment/datasets/vis5class/images/val
|
||||
test: /home/cuuva/experiment/datasets/vis5class/images/test
|
||||
|
||||
# nc: 7
|
||||
nc: 5
|
||||
|
||||
names: ['person','car', 'truck', 'bus', 'motor']
|
||||
@ -0,0 +1,955 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "6b410dab",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n",
|
||||
"\n",
|
||||
"import torch"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "f66929b6",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"torch.cuda.is_available()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "e5e2ab7b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"🔍 Checking split: train (files: 6471)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: val (files: 548)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: test (files: 1610)\n",
|
||||
"\n",
|
||||
"📌 클래스 통계 결과:\n",
|
||||
" - Class 0: 147747 개\n",
|
||||
" - Class 1: 219707 개\n",
|
||||
" - Class 2: 16284 개\n",
|
||||
" - Class 3: 9117 개\n",
|
||||
" - Class 4: 40378 개\n",
|
||||
"\n",
|
||||
"총 클래스 종류: 5\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import Counter\n",
|
||||
"\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/vis5class/labels\"\n",
|
||||
"splits = [\"train\", \"val\", \"test\"]\n",
|
||||
"\n",
|
||||
"class_counter = Counter()\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" split_path = os.path.join(label_root, split)\n",
|
||||
" \n",
|
||||
" # 라벨 txt 파일 탐색\n",
|
||||
" label_files = [f for f in os.listdir(split_path) if f.endswith(\".txt\")]\n",
|
||||
" \n",
|
||||
" print(f\"\\n🔍 Checking split: {split} (files: {len(label_files)})\")\n",
|
||||
"\n",
|
||||
" for file in label_files:\n",
|
||||
" file_path = os.path.join(split_path, file)\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" if line.strip(): # 빈 줄 제거\n",
|
||||
" class_id = line.split()[0] # 첫번째 값 = 클래스\n",
|
||||
" class_counter[class_id] += 1\n",
|
||||
"\n",
|
||||
"# 최종 결과 출력\n",
|
||||
"print(\"\\n📌 클래스 통계 결과:\")\n",
|
||||
"for cls, count in sorted(class_counter.items(), key=lambda x: int(x[0])):\n",
|
||||
" print(f\" - Class {cls}: {count} 개\")\n",
|
||||
"\n",
|
||||
"print(f\"\\n총 클래스 종류: {len(class_counter)}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "6bb38c03",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[KDownloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolov8m.pt to 'yolov8m.pt': 100% ━━━━━━━━━━━━ 49.7MB 70.1MB/s 0.7s0.7s<0.0s\n",
|
||||
"New https://pypi.org/project/ultralytics/8.3.234 available 😃 Update with 'pip install -U ultralytics'\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=-1, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=/home/cuuva/experiment/vis5class_exp/vis5class.yaml, degrees=0.0, deterministic=True, device=0, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=300, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.001, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8m.pt, momentum=0.937, mosaic=1.0, multi_scale=False, name=5class, nbs=64, nms=False, opset=None, optimize=False, optimizer=AdamW, overlap_mask=True, patience=40, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=vis5class_v8m, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
|
||||
"Overriding model.yaml nc=80 with nc=5\n",
|
||||
"\n",
|
||||
" from n params module arguments \n",
|
||||
" 0 -1 1 1392 ultralytics.nn.modules.conv.Conv [3, 48, 3, 2] \n",
|
||||
" 1 -1 1 41664 ultralytics.nn.modules.conv.Conv [48, 96, 3, 2] \n",
|
||||
" 2 -1 2 111360 ultralytics.nn.modules.block.C2f [96, 96, 2, True] \n",
|
||||
" 3 -1 1 166272 ultralytics.nn.modules.conv.Conv [96, 192, 3, 2] \n",
|
||||
" 4 -1 4 813312 ultralytics.nn.modules.block.C2f [192, 192, 4, True] \n",
|
||||
" 5 -1 1 664320 ultralytics.nn.modules.conv.Conv [192, 384, 3, 2] \n",
|
||||
" 6 -1 4 3248640 ultralytics.nn.modules.block.C2f [384, 384, 4, True] \n",
|
||||
" 7 -1 1 1991808 ultralytics.nn.modules.conv.Conv [384, 576, 3, 2] \n",
|
||||
" 8 -1 2 3985920 ultralytics.nn.modules.block.C2f [576, 576, 2, True] \n",
|
||||
" 9 -1 1 831168 ultralytics.nn.modules.block.SPPF [576, 576, 5] \n",
|
||||
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 12 -1 2 1993728 ultralytics.nn.modules.block.C2f [960, 384, 2] \n",
|
||||
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 15 -1 2 517632 ultralytics.nn.modules.block.C2f [576, 192, 2] \n",
|
||||
" 16 -1 1 332160 ultralytics.nn.modules.conv.Conv [192, 192, 3, 2] \n",
|
||||
" 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 18 -1 2 1846272 ultralytics.nn.modules.block.C2f [576, 384, 2] \n",
|
||||
" 19 -1 1 1327872 ultralytics.nn.modules.conv.Conv [384, 384, 3, 2] \n",
|
||||
" 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 21 -1 2 4207104 ultralytics.nn.modules.block.C2f [960, 576, 2] \n",
|
||||
" 22 [15, 18, 21] 1 3778591 ultralytics.nn.modules.head.Detect [5, [192, 384, 576]] \n",
|
||||
"Model summary: 169 layers, 25,859,215 parameters, 25,859,199 gradients, 79.1 GFLOPs\n",
|
||||
"\n",
|
||||
"Transferred 469/475 items from pretrained weights\n",
|
||||
"Freezing layer 'model.22.dfl.conv.weight'\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks...\n",
|
||||
"\u001b[KDownloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt to 'yolo11n.pt': 100% ━━━━━━━━━━━━ 5.4MB 73.7MB/s 0.1s\n",
|
||||
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 12140.0±4222.1 MB/s, size: 260.7 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/experiment/datasets/vis5class/labels/train... 6471 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 6471/6471 5.3Kit/s 1.2s0.0s\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/0000137_02220_d_0000163.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/0000140_00118_d_0000002.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999945_00000_d_0000114.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999972_00000_d_0000158.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999981_00000_d_0000047.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999987_00000_d_0000049.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: /home/cuuva/experiment/datasets/vis5class/labels/train.cache\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mComputing optimal batch size for imgsz=640 at 60.0% CUDA memory utilization.\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mCUDA:0 (NVIDIA GeForce RTX 5090) 31.33G total, 0.25G reserved, 0.24G allocated, 30.85G free\n",
|
||||
" Params GFLOPs GPU_mem (GB) forward (ms) backward (ms) input output\n",
|
||||
" 25859215 79.08 2.382 28.74 146.3 (1, 3, 640, 640) list\n",
|
||||
" 25859215 158.2 3.811 9.848 33.63 (2, 3, 640, 640) list\n",
|
||||
" 25859215 316.3 5.216 13.39 46.45 (4, 3, 640, 640) list\n",
|
||||
" 25859215 632.6 8.735 26.08 69.81 (8, 3, 640, 640) list\n",
|
||||
" 25859215 1265 12.298 27.03 116.4 (16, 3, 640, 640) list\n",
|
||||
" 25859215 2531 24.285 54.71 238.4 (32, 3, 640, 640) list\n",
|
||||
" 25859215 5061 28.001 116.9 470.2 (64, 3, 640, 640) list\n",
|
||||
"\u001b[34m\u001b[1mAutoBatch: \u001b[0mUsing batch-size 34 for CUDA:0 19.26G/31.33G (61%) ✅\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 12817.4±4106.6 MB/s, size: 235.0 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/cuuva/experiment/datasets/vis5class/labels/train.cache... 6471 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 6471/6471 18.5Mit/s 0.0s\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/0000137_02220_d_0000163.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/0000140_00118_d_0000002.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999945_00000_d_0000114.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999972_00000_d_0000158.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999981_00000_d_0000047.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0m/home/cuuva/experiment/datasets/vis5class/images/train/9999987_00000_d_0000049.jpg: 1 duplicate labels removed\n",
|
||||
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 7032.9±4571.8 MB/s, size: 153.1 KB)\n",
|
||||
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/cuuva/experiment/datasets/vis5class/labels/val... 548 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 548/548 4.2Kit/s 0.1s0.1s\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /home/cuuva/experiment/datasets/vis5class/labels/val.cache\n",
|
||||
"Plotting labels to /home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/labels.jpg... \n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.001, momentum=0.937) with parameter groups 77 weight(decay=0.0), 84 weight(decay=0.00053125), 83 bias(decay=0.0)\n",
|
||||
"Image sizes 640 train, 640 val\n",
|
||||
"Using 8 dataloader workers\n",
|
||||
"Logging results to \u001b[1m/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class\u001b[0m\n",
|
||||
"Starting training for 300 epochs...\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 1/300 18.4G 1.445 1.19 0.9667 618 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 5.6it/s 1.6s0.2s\n",
|
||||
" all 548 35895 0.526 0.312 0.326 0.191\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 2/300 20.8G 1.409 0.9562 0.9555 790 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:120.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.4it/s 1.4s0.2s\n",
|
||||
" all 548 35895 0.536 0.354 0.386 0.226\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 3/300 18.8G 1.39 0.9126 0.9471 610 640: 100% ━━━━━━━━━━━━ 191/191 2.6it/s 1:120.3sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 5.4it/s 1.7s0.2s\n",
|
||||
" all 548 35895 0.467 0.36 0.356 0.205\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 4/300 22G 1.378 0.8927 0.9436 1135 640: 100% ━━━━━━━━━━━━ 191/191 2.6it/s 1:120.3sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 4.7it/s 1.9s0.2s\n",
|
||||
" all 548 35895 0.539 0.409 0.425 0.243\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 5/300 25.4G 1.349 0.8549 0.9388 714 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.7it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.58 0.402 0.433 0.258\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 6/300 21.1G 1.319 0.8225 0.9321 640 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.7it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.556 0.419 0.447 0.261\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 7/300 16.7G 1.31 0.8102 0.927 847 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.8it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.578 0.417 0.444 0.26\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 8/300 22.1G 1.298 0.7965 0.925 836 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.572 0.42 0.454 0.267\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 9/300 23.8G 1.29 0.7875 0.9216 958 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.7it/s 1.4s0.2s\n",
|
||||
" all 548 35895 0.623 0.433 0.477 0.284\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 10/300 21.9G 1.275 0.7749 0.92 845 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.8it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.609 0.431 0.474 0.281\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 11/300 23.7G 1.266 0.7587 0.9175 857 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.618 0.442 0.482 0.289\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 12/300 23G 1.259 0.7559 0.9144 503 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.611 0.45 0.489 0.292\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 13/300 19.3G 1.253 0.7427 0.9112 1095 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.8it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.601 0.449 0.486 0.286\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 14/300 20.9G 1.246 0.742 0.911 686 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.608 0.467 0.495 0.297\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 15/300 18.8G 1.241 0.7282 0.9084 598 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.648 0.451 0.504 0.304\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 16/300 20G 1.235 0.7257 0.9081 1140 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.628 0.464 0.512 0.305\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 17/300 21.8G 1.228 0.7206 0.9066 514 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.626 0.476 0.518 0.313\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 18/300 18.8G 1.231 0.7161 0.9061 902 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.621 0.466 0.506 0.306\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 19/300 16.6G 1.213 0.7062 0.904 832 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.612 0.48 0.518 0.316\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 20/300 18.7G 1.214 0.7021 0.903 716 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.622 0.484 0.516 0.312\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 21/300 19.1G 1.218 0.7065 0.9038 393 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.641 0.476 0.519 0.316\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 22/300 19G 1.199 0.6923 0.9001 815 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.622 0.471 0.516 0.315\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 23/300 18.9G 1.2 0.691 0.9 912 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.652 0.475 0.525 0.319\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 24/300 18.9G 1.192 0.6794 0.898 1114 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.643 0.487 0.528 0.323\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 25/300 22.8G 1.196 0.682 0.9 880 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.66 0.495 0.545 0.331\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 26/300 19G 1.187 0.6771 0.8983 1148 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.63 0.481 0.532 0.323\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 27/300 19.7G 1.19 0.6749 0.8966 1210 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.3sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.656 0.488 0.543 0.328\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 28/300 21.1G 1.191 0.6745 0.8952 947 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.623 0.503 0.531 0.324\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 29/300 19.8G 1.186 0.6704 0.8943 905 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.675 0.476 0.54 0.326\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 30/300 21.9G 1.179 0.6618 0.8955 560 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.672 0.489 0.54 0.331\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 31/300 19.1G 1.173 0.6644 0.8921 668 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.673 0.494 0.545 0.335\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 32/300 21.4G 1.178 0.6625 0.893 676 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.66 0.494 0.545 0.334\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 33/300 22.4G 1.168 0.653 0.8915 746 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.672 0.497 0.548 0.333\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 34/300 21.9G 1.162 0.6489 0.8903 892 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.651 0.492 0.54 0.329\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 35/300 22.9G 1.16 0.6461 0.8894 639 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.652 0.495 0.545 0.333\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 36/300 19.7G 1.162 0.6476 0.8903 1132 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.662 0.487 0.535 0.328\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 37/300 19.2G 1.156 0.6424 0.8889 966 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.669 0.504 0.55 0.337\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 38/300 19G 1.162 0.6471 0.8897 1098 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.663 0.509 0.552 0.337\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 39/300 19.6G 1.156 0.6399 0.8871 795 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.687 0.489 0.545 0.333\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 40/300 22.7G 1.149 0.6347 0.8869 1149 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.679 0.496 0.547 0.337\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 41/300 18.5G 1.145 0.6289 0.8848 800 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.677 0.491 0.551 0.34\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 42/300 21.2G 1.147 0.6306 0.8872 945 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.666 0.514 0.557 0.343\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 43/300 23.5G 1.147 0.6291 0.8861 772 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.677 0.514 0.56 0.345\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 44/300 20.1G 1.139 0.6218 0.8839 790 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.67 0.499 0.554 0.339\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 45/300 23G 1.142 0.6234 0.8834 1039 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.661 0.504 0.55 0.335\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 46/300 18.9G 1.142 0.6253 0.885 474 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.671 0.498 0.553 0.341\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 47/300 24.4G 1.13 0.6175 0.8819 761 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.679 0.494 0.551 0.339\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 48/300 19.3G 1.136 0.6174 0.8842 1335 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.678 0.508 0.56 0.344\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 49/300 22.5G 1.126 0.6114 0.8816 928 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.683 0.505 0.559 0.345\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 50/300 18.8G 1.13 0.6113 0.8809 636 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.675 0.509 0.56 0.346\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 51/300 19.1G 1.124 0.6089 0.8796 851 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.664 0.515 0.56 0.345\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 52/300 21.7G 1.124 0.6087 0.8811 822 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.685 0.511 0.568 0.347\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 53/300 21.5G 1.121 0.6047 0.8787 539 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.682 0.509 0.56 0.343\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 54/300 23.2G 1.118 0.6022 0.8775 794 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.682 0.518 0.568 0.348\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 55/300 21.1G 1.111 0.5961 0.8784 848 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.692 0.519 0.571 0.35\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 56/300 18.3G 1.111 0.593 0.8785 762 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.67 0.515 0.561 0.344\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 57/300 21.9G 1.105 0.5927 0.876 661 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.656 0.501 0.556 0.342\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 58/300 19.8G 1.109 0.5936 0.877 668 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.659 0.518 0.561 0.345\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 59/300 17.1G 1.112 0.5944 0.8769 934 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.668 0.53 0.568 0.349\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 60/300 22.3G 1.114 0.5946 0.8777 654 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.666 0.526 0.567 0.35\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 61/300 19.4G 1.106 0.5902 0.876 767 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.673 0.527 0.567 0.352\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 62/300 20.3G 1.109 0.5889 0.8754 842 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.694 0.517 0.57 0.352\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 63/300 21.5G 1.101 0.5854 0.8747 923 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.679 0.515 0.566 0.349\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 64/300 18.4G 1.1 0.5838 0.8746 659 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.698 0.518 0.571 0.352\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 65/300 21.1G 1.097 0.5852 0.8739 1194 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.671 0.527 0.571 0.35\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 66/300 19G 1.094 0.5793 0.8728 602 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.682 0.519 0.567 0.35\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 67/300 18.8G 1.093 0.5783 0.8722 798 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.682 0.522 0.571 0.351\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 68/300 20.9G 1.095 0.5794 0.8736 770 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.663 0.529 0.57 0.351\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 69/300 17G 1.088 0.575 0.8725 737 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.686 0.523 0.572 0.353\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 70/300 19.1G 1.08 0.569 0.8709 806 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.676 0.525 0.574 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 71/300 20.8G 1.09 0.5736 0.8729 866 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.677 0.529 0.573 0.353\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 72/300 20.5G 1.087 0.5741 0.871 639 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.696 0.521 0.575 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 73/300 19.1G 1.076 0.5661 0.8694 886 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.7 0.518 0.575 0.353\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 74/300 18.9G 1.083 0.5652 0.8698 773 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.682 0.524 0.573 0.352\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 75/300 19.4G 1.075 0.5646 0.8692 837 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.686 0.53 0.576 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 76/300 18.3G 1.085 0.5692 0.8706 912 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.704 0.512 0.572 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 77/300 18.7G 1.074 0.5624 0.8697 766 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.685 0.528 0.574 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 78/300 18.7G 1.072 0.5574 0.8686 816 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.703 0.524 0.574 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 79/300 19G 1.064 0.5525 0.8673 503 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.682 0.53 0.575 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 80/300 19.7G 1.073 0.5606 0.866 1023 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.678 0.536 0.576 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 81/300 19G 1.067 0.5565 0.8677 730 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.703 0.52 0.577 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 82/300 21.7G 1.058 0.551 0.8672 1342 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.691 0.523 0.575 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 83/300 21.1G 1.069 0.5587 0.8676 679 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.679 0.532 0.579 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 84/300 21G 1.062 0.5505 0.8675 1074 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.692 0.527 0.577 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 85/300 19.2G 1.062 0.5504 0.8666 579 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.707 0.517 0.573 0.352\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 86/300 20.9G 1.06 0.5507 0.865 746 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.693 0.527 0.574 0.353\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 87/300 19.2G 1.068 0.556 0.8667 1110 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.695 0.528 0.576 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 88/300 19.7G 1.055 0.5491 0.8649 686 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.689 0.532 0.575 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 89/300 19.3G 1.058 0.5491 0.8651 911 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.689 0.522 0.574 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 90/300 24.9G 1.06 0.5457 0.8637 892 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.69 0.527 0.573 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 91/300 19G 1.054 0.5454 0.8625 638 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.699 0.528 0.579 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 92/300 22.3G 1.056 0.5456 0.864 538 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.679 0.541 0.579 0.359\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 93/300 21.8G 1.057 0.5452 0.8633 828 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.688 0.531 0.575 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 94/300 18.3G 1.043 0.5369 0.8614 891 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.694 0.534 0.576 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 95/300 21.7G 1.037 0.5346 0.8609 885 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.696 0.53 0.579 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 96/300 19G 1.047 0.5392 0.8633 961 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.698 0.531 0.581 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 97/300 21G 1.045 0.5377 0.862 611 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.688 0.532 0.579 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 98/300 19.5G 1.042 0.5351 0.8637 1026 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.695 0.531 0.577 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 99/300 20.9G 1.04 0.5328 0.8602 550 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.692 0.532 0.577 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 100/300 24.8G 1.039 0.5343 0.861 669 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.69 0.526 0.577 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 101/300 21.1G 1.032 0.5306 0.8611 835 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.699 0.529 0.577 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 102/300 18.9G 1.037 0.5321 0.8609 943 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.699 0.525 0.578 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 103/300 16.9G 1.028 0.5275 0.8587 1033 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.699 0.523 0.576 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 104/300 19.4G 1.034 0.5272 0.8605 664 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.696 0.524 0.575 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 105/300 18.8G 1.034 0.5285 0.8597 795 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.686 0.531 0.574 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 106/300 19.5G 1.032 0.5272 0.8589 807 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.697 0.529 0.577 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 107/300 18.1G 1.03 0.5277 0.8602 519 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.688 0.531 0.577 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 108/300 19.2G 1.03 0.5272 0.8587 1017 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.695 0.524 0.575 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 109/300 20.2G 1.028 0.5258 0.8587 755 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.686 0.53 0.572 0.353\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 110/300 23.9G 1.019 0.5197 0.8564 594 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.681 0.53 0.574 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 111/300 21.2G 1.03 0.5242 0.8571 655 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.674 0.538 0.576 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 112/300 21.1G 1.017 0.5173 0.8562 667 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.676 0.537 0.576 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 113/300 22.1G 1.019 0.518 0.8554 702 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.689 0.528 0.577 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 114/300 20.8G 1.019 0.5173 0.8568 547 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.695 0.53 0.578 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 115/300 22.4G 1.015 0.5159 0.8547 700 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.682 0.535 0.577 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 116/300 21.6G 1.007 0.5125 0.8559 803 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.7 0.526 0.578 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 117/300 20.6G 1.009 0.5123 0.8544 878 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.702 0.522 0.577 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 118/300 18.1G 1.018 0.5164 0.8554 649 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.686 0.528 0.578 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 119/300 23G 1.009 0.512 0.8548 646 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.689 0.53 0.58 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 120/300 21.7G 1.007 0.5117 0.8556 1382 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.688 0.533 0.579 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 121/300 22.9G 1.008 0.51 0.8536 877 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.697 0.529 0.578 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 122/300 16.6G 1.009 0.5124 0.8543 720 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:100.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.7 0.528 0.579 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 123/300 23.7G 1.009 0.5111 0.8533 957 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.697 0.528 0.58 0.358\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 124/300 21.9G 1 0.5067 0.8533 641 640: 100% ━━━━━━━━━━━━ 191/191 2.6it/s 1:120.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.702 0.521 0.578 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 125/300 21G 1.004 0.5091 0.8546 1118 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:120.3sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.9it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.694 0.525 0.577 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 126/300 19.8G 1.007 0.5086 0.8551 642 640: 100% ━━━━━━━━━━━━ 191/191 2.6it/s 1:130.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.689 0.53 0.578 0.357\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 127/300 20.9G 0.9983 0.5042 0.8513 732 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.69 0.529 0.578 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 128/300 18.4G 0.9943 0.5024 0.8525 541 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.701 0.523 0.577 0.356\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 129/300 19.5G 1.002 0.5059 0.8532 1128 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.0it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.693 0.528 0.576 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 130/300 21.3G 0.9956 0.5035 0.8513 678 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.2it/s 1.2s0.2s\n",
|
||||
" all 548 35895 0.691 0.529 0.578 0.355\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 131/300 22.2G 0.9982 0.5033 0.8507 883 640: 100% ━━━━━━━━━━━━ 191/191 2.6it/s 1:120.3sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 6.7it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.694 0.527 0.577 0.354\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
||||
"\u001b[K 132/300 18.4G 0.9902 0.4993 0.8521 736 640: 100% ━━━━━━━━━━━━ 191/191 2.7it/s 1:110.2sss\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 7.1it/s 1.3s0.2s\n",
|
||||
" all 548 35895 0.696 0.526 0.576 0.354\n",
|
||||
"\u001b[34m\u001b[1mEarlyStopping: \u001b[0mTraining stopped early as no improvement observed in last 40 epochs. Best results observed at epoch 92, best model saved as best.pt.\n",
|
||||
"To update EarlyStopping(patience=40) pass a new patience value, i.e. `patience=300` or use `patience=0` to disable EarlyStopping.\n",
|
||||
"\n",
|
||||
"132 epochs completed in 2.655 hours.\n",
|
||||
"Optimizer stripped from /home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/last.pt, 52.0MB\n",
|
||||
"Optimizer stripped from /home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.pt, 52.0MB\n",
|
||||
"\n",
|
||||
"Validating /home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.pt...\n",
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"Model summary (fused): 92 layers, 25,842,655 parameters, 0 gradients, 78.7 GFLOPs\n",
|
||||
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 9/9 2.6it/s 3.4s0.2s\n",
|
||||
" all 548 35895 0.677 0.541 0.579 0.359\n",
|
||||
" person 531 13969 0.658 0.476 0.532 0.233\n",
|
||||
" car 517 16039 0.814 0.799 0.845 0.608\n",
|
||||
" truck 266 750 0.581 0.384 0.419 0.274\n",
|
||||
" bus 131 251 0.762 0.594 0.634 0.469\n",
|
||||
" motor 485 4886 0.569 0.451 0.464 0.211\n",
|
||||
"Speed: 0.1ms preprocess, 2.3ms inference, 0.0ms loss, 0.8ms postprocess per image\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class\u001b[0m\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load a pretrained YOLO11n model\n",
|
||||
"model = YOLO('yolov8m.pt')\n",
|
||||
"\n",
|
||||
"train_results = model.train(\n",
|
||||
" data=\"/home/cuuva/experiment/vis5class_exp/vis5class.yaml\", #['person','car', 'truck', 'bus', 'motor']\n",
|
||||
" epochs=300,\n",
|
||||
" imgsz=640,\n",
|
||||
" batch=-1,\n",
|
||||
" device=\"cuda\",\n",
|
||||
" optimizer = 'AdamW',\n",
|
||||
" lr0 = 0.001,\n",
|
||||
" patience = 40,\n",
|
||||
" project = 'vis5class_v8m',\n",
|
||||
" name = '5class',\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "681c71ed",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics 8.3.225 🚀 Python-3.10.18 torch-2.9.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5090, 32087MiB)\n",
|
||||
"Model summary (fused): 92 layers, 25,842,655 parameters, 0 gradients, 78.7 GFLOPs\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from '/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 9, 8400) (49.6 MB)\n",
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m starting export with onnx 1.19.1 opset 20...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m slimming with onnxslim 0.1.71...\n",
|
||||
"\u001b[34m\u001b[1mONNX:\u001b[0m export success ✅ 0.7s, saved as '/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.onnx' (98.8 MB)\n",
|
||||
"\n",
|
||||
"Export complete (0.8s)\n",
|
||||
"Results saved to \u001b[1m/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights\u001b[0m\n",
|
||||
"Predict: yolo predict task=detect model=/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.onnx imgsz=640 \n",
|
||||
"Validate: yolo val task=detect model=/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.onnx imgsz=640 data=/home/cuuva/experiment/vis5class_exp/vis5class.yaml \n",
|
||||
"Visualize: https://netron.app\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.onnx'"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"model = YOLO(\"/home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class/weights/best.pt\")\n",
|
||||
"model.export(format=\"onnx\", imgsz=640, device=0)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "48b48641",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/vis5class_exp/vis5class.yaml
|
||||
epochs: 300
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: vis5class_v8m
|
||||
name: 5class
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/vis5class_exp/vis5class_v8m/5class
|
||||
|
@ -0,0 +1,348 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "817586c7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"🔍 Checking split: train (files: 6471)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: val (files: 548)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: test (files: 1610)\n",
|
||||
"\n",
|
||||
"📌 클래스 통계 결과:\n",
|
||||
" - Class 0: 147747 개\n",
|
||||
" - Class 1: 187005 개\n",
|
||||
" - Class 2: 32702 개\n",
|
||||
" - Class 3: 16284 개\n",
|
||||
" - Class 4: 9117 개\n",
|
||||
" - Class 5: 40378 개\n",
|
||||
"\n",
|
||||
"총 클래스 종류: 6\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import Counter\n",
|
||||
"\n",
|
||||
"# label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels copy\"\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels\"\n",
|
||||
"splits = [\"train\", \"val\",'test']\n",
|
||||
"\n",
|
||||
"class_counter = Counter()\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" split_path = os.path.join(label_root, split)\n",
|
||||
" \n",
|
||||
" # 라벨 txt 파일 탐색\n",
|
||||
" label_files = [f for f in os.listdir(split_path) if f.endswith(\".txt\")]\n",
|
||||
" \n",
|
||||
" print(f\"\\n🔍 Checking split: {split} (files: {len(label_files)})\")\n",
|
||||
"\n",
|
||||
" for file in label_files:\n",
|
||||
" file_path = os.path.join(split_path, file)\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" if line.strip(): # 빈 줄 제거\n",
|
||||
" class_id = line.split()[0] # 첫번째 값 = 클래스\n",
|
||||
" class_counter[class_id] += 1\n",
|
||||
"\n",
|
||||
"# 최종 결과 출력\n",
|
||||
"print(\"\\n📌 클래스 통계 결과:\")\n",
|
||||
"for cls, count in sorted(class_counter.items(), key=lambda x: int(x[0])):\n",
|
||||
" print(f\" - Class {cls}: {count} 개\")\n",
|
||||
"\n",
|
||||
"print(f\"\\n총 클래스 종류: {len(class_counter)}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "35cf2381",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"📂 Updating: train (files: 6471)\n",
|
||||
"\n",
|
||||
"📂 Updating: val (files: 548)\n",
|
||||
"\n",
|
||||
"📂 Updating: test (files: 1610)\n",
|
||||
"\n",
|
||||
"✅ 라벨 클래스 번호 재정렬 완료!\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels\"\n",
|
||||
"splits = [\"train\", \"val\", \"test\"]\n",
|
||||
"\n",
|
||||
"# 클래스 재매핑 설정\n",
|
||||
"mapping = {\n",
|
||||
" \"0\": \"0\", # person stays 0\n",
|
||||
" \"1\": \"1\", # car stays 1\n",
|
||||
" \"2\": \"5\", # van -> 5\n",
|
||||
" \"3\": \"2\", # truck -> 2\n",
|
||||
" \"4\": \"3\", # bus -> 3\n",
|
||||
" \"5\": \"4\" # motor -> 4\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" split_path = os.path.join(label_root, split)\n",
|
||||
" label_files = [f for f in os.listdir(split_path) if f.endswith(\".txt\")]\n",
|
||||
"\n",
|
||||
" print(f\"\\n📂 Updating: {split} (files: {len(label_files)})\")\n",
|
||||
"\n",
|
||||
" for file in label_files:\n",
|
||||
" file_path = os.path.join(split_path, file)\n",
|
||||
"\n",
|
||||
" new_lines = []\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" if line.strip():\n",
|
||||
" parts = line.split()\n",
|
||||
" cls = parts[0]\n",
|
||||
" parts[0] = mapping[cls] # 클래스 번호 변경\n",
|
||||
" new_lines.append(\" \".join(parts) + \"\\n\")\n",
|
||||
"\n",
|
||||
" # 덮어쓰기\n",
|
||||
" with open(file_path, \"w\") as f:\n",
|
||||
" f.writelines(new_lines)\n",
|
||||
"\n",
|
||||
"print(\"\\n✅ 라벨 클래스 번호 재정렬 완료!\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "3fdd6e44",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"🔍 Checking split: train (files: 6471)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: val (files: 548)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: test (files: 1610)\n",
|
||||
"\n",
|
||||
"📌 클래스 통계 결과:\n",
|
||||
" - Class 0: 147747 개\n",
|
||||
" - Class 1: 187005 개\n",
|
||||
" - Class 2: 16284 개\n",
|
||||
" - Class 3: 9117 개\n",
|
||||
" - Class 4: 40378 개\n",
|
||||
" - Class 5: 32702 개\n",
|
||||
"\n",
|
||||
"총 클래스 종류: 6\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import Counter\n",
|
||||
"\n",
|
||||
"# label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels copy\"\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels\"\n",
|
||||
"splits = [\"train\", \"val\",'test']\n",
|
||||
"\n",
|
||||
"class_counter = Counter()\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" split_path = os.path.join(label_root, split)\n",
|
||||
" \n",
|
||||
" # 라벨 txt 파일 탐색\n",
|
||||
" label_files = [f for f in os.listdir(split_path) if f.endswith(\".txt\")]\n",
|
||||
" \n",
|
||||
" print(f\"\\n🔍 Checking split: {split} (files: {len(label_files)})\")\n",
|
||||
"\n",
|
||||
" for file in label_files:\n",
|
||||
" file_path = os.path.join(split_path, file)\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" if line.strip(): # 빈 줄 제거\n",
|
||||
" class_id = line.split()[0] # 첫번째 값 = 클래스\n",
|
||||
" class_counter[class_id] += 1\n",
|
||||
"\n",
|
||||
"# 최종 결과 출력\n",
|
||||
"print(\"\\n📌 클래스 통계 결과:\")\n",
|
||||
"for cls, count in sorted(class_counter.items(), key=lambda x: int(x[0])):\n",
|
||||
" print(f\" - Class {cls}: {count} 개\")\n",
|
||||
"\n",
|
||||
"print(f\"\\n총 클래스 종류: {len(class_counter)}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "ca796e3d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Processing train: 6471 files\n",
|
||||
"Processing val: 548 files\n",
|
||||
"Processing test: 1610 files\n",
|
||||
"Done. All label files updated!\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from glob import glob\n",
|
||||
"\n",
|
||||
"# 라벨 매핑\n",
|
||||
"mapping = {\n",
|
||||
" 0: 0,\n",
|
||||
" 1: 2,\n",
|
||||
" 2: 5,\n",
|
||||
" 3: 4,\n",
|
||||
" 4: 3,\n",
|
||||
" 5: 1\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"# labels 폴더 경로\n",
|
||||
"base_dir = \"/home/cuuva/experiment/datasets/VisDrone/labels\"\n",
|
||||
"\n",
|
||||
"# train, val, test 모두 처리\n",
|
||||
"splits = [\"train\", \"val\", \"test\"]\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" label_dir = os.path.join(base_dir, split)\n",
|
||||
" txt_files = glob(os.path.join(label_dir, \"*.txt\"))\n",
|
||||
"\n",
|
||||
" print(f\"Processing {split}: {len(txt_files)} files\")\n",
|
||||
"\n",
|
||||
" for txt_path in txt_files:\n",
|
||||
" lines = []\n",
|
||||
" with open(txt_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" parts = line.strip().split()\n",
|
||||
" if len(parts) < 5:\n",
|
||||
" continue\n",
|
||||
"\n",
|
||||
" old_cls = int(parts[0])\n",
|
||||
" new_cls = mapping[old_cls]\n",
|
||||
"\n",
|
||||
" # 클래스만 변경해서 다시 저장\n",
|
||||
" parts[0] = str(new_cls)\n",
|
||||
" lines.append(\" \".join(parts))\n",
|
||||
"\n",
|
||||
" with open(txt_path, \"w\") as f:\n",
|
||||
" f.write(\"\\n\".join(lines))\n",
|
||||
"\n",
|
||||
"print(\"Done. All label files updated!\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "a461857c",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"🔍 Checking split: train (files: 6471)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: val (files: 548)\n",
|
||||
"\n",
|
||||
"🔍 Checking split: test (files: 1610)\n",
|
||||
"\n",
|
||||
"📌 클래스 통계 결과:\n",
|
||||
" - Class 0: 147747 개\n",
|
||||
" - Class 1: 32702 개\n",
|
||||
" - Class 2: 187005 개\n",
|
||||
" - Class 3: 40378 개\n",
|
||||
" - Class 4: 9117 개\n",
|
||||
" - Class 5: 16284 개\n",
|
||||
"\n",
|
||||
"총 클래스 종류: 6\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"from collections import Counter\n",
|
||||
"\n",
|
||||
"# label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels copy\"\n",
|
||||
"label_root = \"/home/cuuva/experiment/datasets/VisDrone/labels\"\n",
|
||||
"splits = [\"train\", \"val\",'test']\n",
|
||||
"\n",
|
||||
"class_counter = Counter()\n",
|
||||
"\n",
|
||||
"for split in splits:\n",
|
||||
" split_path = os.path.join(label_root, split)\n",
|
||||
" \n",
|
||||
" # 라벨 txt 파일 탐색\n",
|
||||
" label_files = [f for f in os.listdir(split_path) if f.endswith(\".txt\")]\n",
|
||||
" \n",
|
||||
" print(f\"\\n🔍 Checking split: {split} (files: {len(label_files)})\")\n",
|
||||
"\n",
|
||||
" for file in label_files:\n",
|
||||
" file_path = os.path.join(split_path, file)\n",
|
||||
" with open(file_path, \"r\") as f:\n",
|
||||
" for line in f.readlines():\n",
|
||||
" if line.strip(): # 빈 줄 제거\n",
|
||||
" class_id = line.split()[0] # 첫번째 값 = 클래스\n",
|
||||
" class_counter[class_id] += 1\n",
|
||||
"\n",
|
||||
"# 최종 결과 출력\n",
|
||||
"print(\"\\n📌 클래스 통계 결과:\")\n",
|
||||
"for cls, count in sorted(class_counter.items(), key=lambda x: int(x[0])):\n",
|
||||
" print(f\" - Class {cls}: {count} 개\")\n",
|
||||
"\n",
|
||||
"print(f\"\\n총 클래스 종류: {len(class_counter)}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8320460f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "1stagedetect",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.18"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
# path: /home/cuuva/experiment/datasets/VisDrone # 데이터 경로
|
||||
train: /home/cuuva/experiment/datasets/VisDrone/images/train
|
||||
val: /home/cuuva/experiment/datasets/VisDrone/images/val
|
||||
test: /home/cuuva/experiment/datasets/VisDrone/images/test
|
||||
|
||||
# nc: 7
|
||||
nc: 6
|
||||
|
||||
names: ['person','van', 'car', 'motor', 'bus', 'truck']
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/vis6class_exp/vis6class.yaml
|
||||
epochs: 300
|
||||
time: null
|
||||
patience: 40
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: vis6class_v8m
|
||||
name: 6class
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/vis6class_exp/vis6class_v8m/6class
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/vis6class_exp/vis6class.yaml
|
||||
epochs: 600
|
||||
time: null
|
||||
patience: 100
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: vis6class_v8m
|
||||
name: 6class2
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/vis6class_exp/vis6class_v8m/6class2
|
||||
|
@ -0,0 +1,106 @@
|
||||
task: detect
|
||||
mode: train
|
||||
model: yolov8m.pt
|
||||
data: /home/cuuva/experiment/vis6class_exp/vis6class.yaml
|
||||
epochs: 600
|
||||
time: null
|
||||
patience: 100
|
||||
batch: -1
|
||||
imgsz: 640
|
||||
save: true
|
||||
save_period: -1
|
||||
cache: false
|
||||
device: '0'
|
||||
workers: 8
|
||||
project: vis6class_v8m
|
||||
name: 6class_final
|
||||
exist_ok: false
|
||||
pretrained: true
|
||||
optimizer: AdamW
|
||||
verbose: true
|
||||
seed: 0
|
||||
deterministic: true
|
||||
single_cls: false
|
||||
rect: false
|
||||
cos_lr: false
|
||||
close_mosaic: 10
|
||||
resume: false
|
||||
amp: true
|
||||
fraction: 1.0
|
||||
profile: false
|
||||
freeze: null
|
||||
multi_scale: false
|
||||
compile: false
|
||||
overlap_mask: true
|
||||
mask_ratio: 4
|
||||
dropout: 0.0
|
||||
val: true
|
||||
split: val
|
||||
save_json: false
|
||||
conf: null
|
||||
iou: 0.7
|
||||
max_det: 300
|
||||
half: false
|
||||
dnn: false
|
||||
plots: true
|
||||
source: null
|
||||
vid_stride: 1
|
||||
stream_buffer: false
|
||||
visualize: false
|
||||
augment: false
|
||||
agnostic_nms: false
|
||||
classes: null
|
||||
retina_masks: false
|
||||
embed: null
|
||||
show: false
|
||||
save_frames: false
|
||||
save_txt: false
|
||||
save_conf: false
|
||||
save_crop: false
|
||||
show_labels: true
|
||||
show_conf: true
|
||||
show_boxes: true
|
||||
line_width: null
|
||||
format: torchscript
|
||||
keras: false
|
||||
optimize: false
|
||||
int8: false
|
||||
dynamic: false
|
||||
simplify: true
|
||||
opset: null
|
||||
workspace: null
|
||||
nms: false
|
||||
lr0: 0.001
|
||||
lrf: 0.01
|
||||
momentum: 0.937
|
||||
weight_decay: 0.0005
|
||||
warmup_epochs: 3.0
|
||||
warmup_momentum: 0.8
|
||||
warmup_bias_lr: 0.1
|
||||
box: 7.5
|
||||
cls: 0.5
|
||||
dfl: 1.5
|
||||
pose: 12.0
|
||||
kobj: 1.0
|
||||
nbs: 64
|
||||
hsv_h: 0.015
|
||||
hsv_s: 0.7
|
||||
hsv_v: 0.4
|
||||
degrees: 0.0
|
||||
translate: 0.1
|
||||
scale: 0.5
|
||||
shear: 0.0
|
||||
perspective: 0.0
|
||||
flipud: 0.0
|
||||
fliplr: 0.5
|
||||
bgr: 0.0
|
||||
mosaic: 1.0
|
||||
mixup: 0.0
|
||||
cutmix: 0.0
|
||||
copy_paste: 0.0
|
||||
copy_paste_mode: flip
|
||||
auto_augment: randaugment
|
||||
erasing: 0.4
|
||||
cfg: null
|
||||
tracker: botsort.yaml
|
||||
save_dir: /home/cuuva/experiment/vis6class_exp/vis6class_v8m/6class_final
|
||||
|
Loading…
Reference in new issue