fix model toggle
This commit is contained in:
@ -1328,7 +1328,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_dqn_inference_toggle(value):
|
def update_dqn_inference_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("dqn", inference_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("dqn", inference_enabled=enabled)
|
||||||
|
logger.info(f"DQN inference toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1338,7 +1340,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_dqn_training_toggle(value):
|
def update_dqn_training_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("dqn", training_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("dqn", training_enabled=enabled)
|
||||||
|
logger.info(f"DQN training toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1348,7 +1352,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_cnn_inference_toggle(value):
|
def update_cnn_inference_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("cnn", inference_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("cnn", inference_enabled=enabled)
|
||||||
|
logger.info(f"CNN inference toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1358,7 +1364,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_cnn_training_toggle(value):
|
def update_cnn_training_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("cnn", training_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("cnn", training_enabled=enabled)
|
||||||
|
logger.info(f"CNN training toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1368,7 +1376,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_cob_rl_inference_toggle(value):
|
def update_cob_rl_inference_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("cob_rl", inference_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("cob_rl", inference_enabled=enabled)
|
||||||
|
logger.info(f"COB RL inference toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1378,7 +1388,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_cob_rl_training_toggle(value):
|
def update_cob_rl_training_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("cob_rl", training_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("cob_rl", training_enabled=enabled)
|
||||||
|
logger.info(f"COB RL training toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1388,7 +1400,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_decision_fusion_inference_toggle(value):
|
def update_decision_fusion_inference_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("decision_fusion", inference_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("decision_fusion", inference_enabled=enabled)
|
||||||
|
logger.info(f"Decision Fusion inference toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@self.app.callback(
|
@self.app.callback(
|
||||||
@ -1398,7 +1412,9 @@ class CleanTradingDashboard:
|
|||||||
)
|
)
|
||||||
def update_decision_fusion_training_toggle(value):
|
def update_decision_fusion_training_toggle(value):
|
||||||
if self.orchestrator:
|
if self.orchestrator:
|
||||||
self.orchestrator.set_model_toggle_state("decision_fusion", training_enabled=value)
|
enabled = bool(value and len(value) > 0) # Convert list to boolean
|
||||||
|
self.orchestrator.set_model_toggle_state("decision_fusion", training_enabled=enabled)
|
||||||
|
logger.info(f"Decision Fusion training toggle: {enabled}")
|
||||||
return value
|
return value
|
||||||
"""Update cold start training mode"""
|
"""Update cold start training mode"""
|
||||||
logger.debug(f"Cold start callback triggered with value: {switch_value}")
|
logger.debug(f"Cold start callback triggered with value: {switch_value}")
|
||||||
|
@ -783,16 +783,29 @@ class DashboardComponentManager:
|
|||||||
html.Span(f" [{checkpoint_status}]", className=f"small {'text-success' if checkpoint_status == 'LOADED' else 'text-warning'} ms-1")
|
html.Span(f" [{checkpoint_status}]", className=f"small {'text-success' if checkpoint_status == 'LOADED' else 'text-warning'} ms-1")
|
||||||
], style={"flex": "1"}),
|
], style={"flex": "1"}),
|
||||||
|
|
||||||
# Activation toggle (if easy to implement)
|
# Inference and Training toggles
|
||||||
html.Div([
|
html.Div([
|
||||||
dcc.Checklist(
|
html.Div([
|
||||||
id=f"toggle-{model_name}",
|
html.Label("Inf", className="text-muted small me-1", style={"font-size": "10px"}),
|
||||||
options=[{"label": "", "value": "active"}],
|
dcc.Checklist(
|
||||||
value=["active"] if is_active else [],
|
id=f"{model_name}-inference-toggle",
|
||||||
className="form-check-input",
|
options=[{"label": "", "value": True}],
|
||||||
style={"transform": "scale(0.8)"}
|
value=[True] if model_info.get('inference_enabled', True) else [],
|
||||||
)
|
className="form-check-input me-2",
|
||||||
], className="form-check form-switch")
|
style={"transform": "scale(0.7)"}
|
||||||
|
)
|
||||||
|
], className="d-flex align-items-center me-2"),
|
||||||
|
html.Div([
|
||||||
|
html.Label("Trn", className="text-muted small me-1", style={"font-size": "10px"}),
|
||||||
|
dcc.Checklist(
|
||||||
|
id=f"{model_name}-training-toggle",
|
||||||
|
options=[{"label": "", "value": True}],
|
||||||
|
value=[True] if model_info.get('training_enabled', True) else [],
|
||||||
|
className="form-check-input",
|
||||||
|
style={"transform": "scale(0.7)"}
|
||||||
|
)
|
||||||
|
], className="d-flex align-items-center")
|
||||||
|
], className="d-flex")
|
||||||
], className="d-flex align-items-center mb-1"),
|
], className="d-flex align-items-center mb-1"),
|
||||||
|
|
||||||
# Model metrics
|
# Model metrics
|
||||||
|
Reference in New Issue
Block a user