FastAPI Application
The main module contains the FastAPI application with REST API endpoints.
Endpoints
Module Reference
FastAPI backend for 5D neural network interpolation system.
- class main.FeatureStats(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
min_avg:
float
-
max_avg:
float
-
target_mean:
float
-
target_std:
float
-
target_min:
float
-
target_max:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.FeatureRange(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
min:
float
-
max:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.UploadResponse(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
status:
str
-
message:
str
-
n_samples:
Optional[int]
-
n_features:
Optional[int]
-
missing_values:
Optional[int]
-
duplicate_rows:
Optional[int]
-
memory_usage_mb:
Optional[float]
-
feature_stats:
Optional[FeatureStats]
-
feature_ranges:
Optional[List[FeatureRange]]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.TrainRequest(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
learning_rate:
float
-
max_iter:
int
-
random_state:
int
-
train_size:
float
-
val_size:
float
-
test_size:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.LossHistoryItem(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
epoch:
int
-
loss:
float
-
val_loss:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.PredictionSample(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
true:
float
-
pred:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.TrainResponse(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
status:
str
-
message:
str
-
train_r2:
Optional[float]
-
val_r2:
Optional[float]
-
test_r2:
Optional[float]
-
train_mse:
Optional[float]
-
val_mse:
Optional[float]
-
test_mse:
Optional[float]
-
epochs_used:
Optional[int]
-
training_time_seconds:
Optional[float]
-
loss_history:
Optional[List[LossHistoryItem]]
-
predictions_sample:
Optional[List[PredictionSample]]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.PredictRequest(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
features:
List[float]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class main.PredictResponse(**data)[source]
Bases:
BaseModel- Parameters:
data (
Any)
-
status:
str
-
prediction:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- async main.upload_dataset(file=File(PydanticUndefined))[source]
Upload a .pkl dataset file with ‘X’ and ‘y’ keys. X must have 5 features.
- Parameters:
file (
UploadFile)
- async main.train_model(request)[source]
Train a neural network model on the uploaded dataset.
Requires a dataset to be uploaded first via /upload endpoint.
- Parameters:
request (
TrainRequest)
- async main.predict(request)[source]
Make a prediction using the trained model.
Requires a model to be trained first via /train endpoint.
- Parameters:
request (
PredictRequest)