Allerdings werden alle Hyperparameter als Saiten empfangen, auch wenn sie Ganzzahlen, Schwimmer oder Booleschen sein sollten. < /p>
Schneller API -Code: < /p>
Code: Select all
class Parameter(BaseModel):
key: str
selectedValue: Union[str, int, float, bool]
class Model(BaseModel):
modelCategory: str
modelName: str
parameters: Optional[List[Parameter]] = None
class HyperparameterTuningRequest(BaseModel):
models: List[Model]
@app.post("/tune_hyperparameters/")
def hyperparameter_tuning(request: HyperparameterTuningRequest):
for model in request.models:
if model.parameters:
for param in model.parameters:
print(f"Parameter Key: {param.key}")
print(f"Parameter Value: {param.selectedValue}")
print(f"Parameter Type: {type(param.selectedValue)}") # Always prints
< /code>
Klassifizierungscode: < /p>
#Boolean Conversion < /p>
def convert_to_bool(value):
if isinstance(value, bool):
return value
if isinstance(value, str):
return value.lower() == 'true'
if isinstance(value, int):
return bool(value)
return False
def convert_to_float(value, param_name, default_value):
try:
float_value = float(value)
if param_name == 'l1_ratio':
if 0