gestor_models/process_model.php
2025-06-14 17:01:29 -04:00

55 lines
1.9 KiB
PHP

<?php
require_once 'config.php';
try {
// Recoger datos del formulario
$name = $_POST['name'] ?? '';
$version = $_POST['version'] ?? '';
$description = $_POST['description'] ?? '';
$train_date = (!empty($_POST['train_date'])) ? $_POST['train_date'] : null;
$layers = isset($_POST['layers']) && $_POST['layers'] !== '' ? intval($_POST['layers']) : null;
$model_size = isset($_POST['model_size']) && $_POST['model_size'] !== '' ? floatval($_POST['model_size']) : null;
$accuracy = isset($_POST['accuracy']) && $_POST['accuracy'] !== '' ? floatval($_POST['accuracy']) : null;
$f1_score = isset($_POST['f1_score']) && $_POST['f1_score'] !== '' ? floatval($_POST['f1_score']) : null;
$hyperparams = $_POST['hyperparams'] ?? null;
$dataset = $_POST['dataset'] ?? null;
$model_file_path = null;
$upload_dir = __DIR__ . '/uploads/';
// Subida de archivo del modelo
if (!empty($_FILES['model_file']['name'])) {
$filename = basename($_FILES['model_file']['name']);
$target_path = $upload_dir . $filename;
if (move_uploaded_file($_FILES['model_file']['tmp_name'], $target_path)) {
$model_file_path = 'uploads/' . $filename;
}
}
// Inserción en BD
$sql = "INSERT INTO models
(name, version, description, layers, model_size, model_file_path, train_date, accuracy, f1_score, hyperparams, dataset)
VALUES (?,?,?,?,?,?,?,?,?,?,?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([
$name,
$version,
$description,
$layers,
$model_size,
$model_file_path,
$train_date,
$accuracy,
$f1_score,
$hyperparams,
$dataset
]);
header('Location: register_model.php?success=1');
exit;
} catch (Exception $e) {
header('Location: register_model.php?error=' . urlencode($e->getMessage()));
exit;
}