MLP Tabular (GPU)
Neural network for complex tabular patterns
Overview
- Model ID:
mlp-tabular-gpu - Framework: PyTorch (multi-layer perceptron)
- Category: deep_learning
- Hardware: GPU (small footprint, ~512 MB VRAM)
- Best for: Datasets with complex non-linear relationships
- Multi-output: Yes (native multi-output, accepts 2D targets)
- Specialist type: tabular
A fully-connected neural network for tabular regression. Use it when tree models plateau on complex, non-linear feature interactions. Pass mlp-tabular-gpu as the model= argument.
When to Use
✅ Perfect for:
- Complex non-linear relationships
- High-dimensional data
- When gradient boosting plateaus
- Multi-output regression (predict multiple targets at once)
❌ Not ideal for:
- Small datasets — use XGBoost / Random Forest
- When interpretability is required — use tree models
- Very high-cardinality categoricals — use TabNet
Quick Start
Single-output
from colabhive import ColabHive
client = ColabHive(api_key="...", account_id="...")
dataset = client.datasets.upload(name="large_data", file="./train.csv")
job = client.training.create(
model="mlp-tabular-gpu",
dataset_id=dataset.id,
hyperparameters={
"epochs": 30,
"batch_size": 128,
"learning_rate": 0.001,
"hidden_dims": [256, 128, 64],
"dropout": 0.2,
"target_column": "label",
},
)
job.wait()
print(job.get_metrics())
Multi-output
job = client.training.create(
model="mlp-tabular-gpu",
dataset_id=dataset.id,
hyperparameters={
"epochs": 30,
"hidden_dims": [256, 128, 64],
"target_columns": ["price", "demand", "score"],
},
)
Multi-output
The MLP supports native multi-output regression — it accepts 2D target arrays directly, so a single network predicts all targets at once (often more efficient than separate models).
Hyperparameters
| Parameter | Default | Description |
|---|---|---|
epochs | 30 | Training epochs |
batch_size | 128 | Samples per batch |
learning_rate | 0.001 | Adam learning rate |
hidden_dims | [256, 128, 64] | Network architecture |
dropout | 0.2 | Dropout rate (regularization) |
activation | 'relu' | Activation function |
target_column | — | Single target column |
target_columns | — | Multiple target columns (multi-output) |
Architecture
Input (N features)
↓
[Dense 256 + BatchNorm + ReLU + Dropout]
↓
[Dense 128 + BatchNorm + ReLU + Dropout]
↓
[Dense 64 + BatchNorm + ReLU + Dropout]
↓
Output (1 value or K targets for multi-output)
Tips
- Preprocessing crucial: scale features, encode categoricals.
- Batch norm helps: stabilizes training and reduces LR sensitivity.
- Early stopping: monitor validation loss and stop when it plateaus.
- Architecture: start simple (2-3 layers) and expand if needed.
- Multi-output: use
target_columnsfor related targets — shared layers learn better representations.