File size: 1,230 Bytes
92faea1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from __future__ import annotations
from typing import List, Optional, Dict, Any
from pydantic import BaseModel, Field

class ClassDistributionItem(BaseModel):
    name: str
    count: int
    color: Optional[str] = None

class SplitAnalytics(BaseModel):
    train: float = 0.0
    val: float = 0.0
    test: float = 0.0

class QualityIssues(BaseModel):
    missingLabels: int = 0
    emptyImages: int = 0
    duplicates: int = 0
    outliers: int = 0

class ResolutionItem(BaseModel):
    label: str
    count: int

class AspectRatioItem(BaseModel):
    label: str
    count: int

class ObjectDensityItem(BaseModel):
    bucket: str
    count: int

class DatasetAnalytics(BaseModel):
    dataset_id: str
    healthScore: float = 0.0
    split: SplitAnalytics = Field(default_factory=SplitAnalytics)
    qualityIssues: QualityIssues = Field(default_factory=QualityIssues)
    classDistribution: List[ClassDistributionItem] = Field(default_factory=list)
    resolutionDist: List[ResolutionItem] = Field(default_factory=list)
    aspectRatioDist: List[AspectRatioItem] = Field(default_factory=list)
    objectsPerImage: List[ObjectDensityItem] = Field(default_factory=list)
    metadata: Dict[str, Any] = Field(default_factory=dict)