This commit is contained in:
Dobromir Popov
2025-11-22 15:25:57 +02:00
parent bccac9614d
commit 2f28fcc89a
7 changed files with 174 additions and 35 deletions

View File

@@ -116,6 +116,8 @@ class TrainingSession:
error: Optional[str] = None
gpu_utilization: Optional[float] = None # GPU utilization percentage
cpu_utilization: Optional[float] = None # CPU utilization percentage
annotation_count: Optional[int] = None # Number of annotations used
timeframe: Optional[str] = None # Primary timeframe (e.g., '1m', '5m')
class RealTrainingAdapter:
@@ -208,13 +210,17 @@ class RealTrainingAdapter:
logger.info(f"Available models for training: {available}")
return available
def start_training(self, model_name: str, test_cases: List[Dict]) -> str:
def start_training(self, model_name: str, test_cases: List[Dict],
annotation_count: Optional[int] = None,
timeframe: Optional[str] = None) -> str:
"""
Start REAL training session with test cases
Args:
model_name: Name of model to train (CNN, DQN, Transformer, COB, Extrema)
test_cases: List of test cases from annotations
annotation_count: Number of annotations used (optional)
timeframe: Primary timeframe for training (optional, e.g., '1m', '5m')
Returns:
training_id: Unique ID for this training session
@@ -224,6 +230,10 @@ class RealTrainingAdapter:
training_id = str(uuid.uuid4())
# Use annotation_count if provided, otherwise use test_cases count
if annotation_count is None:
annotation_count = len(test_cases)
# Create training session
session = TrainingSession(
training_id=training_id,
@@ -233,7 +243,9 @@ class RealTrainingAdapter:
current_epoch=0,
total_epochs=10, # Reasonable for annotation-based training
current_loss=0.0,
start_time=time.time()
start_time=time.time(),
annotation_count=annotation_count,
timeframe=timeframe
)
self.training_sessions[training_id] = session
@@ -2358,7 +2370,9 @@ class RealTrainingAdapter:
'current_epoch': session.current_epoch,
'total_epochs': session.total_epochs,
'current_loss': session.current_loss,
'start_time': session.start_time
'start_time': session.start_time,
'annotation_count': session.annotation_count,
'timeframe': session.timeframe
}
return None