Skip to main content

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

ParameterDefaultDescription
epochs30Training epochs
batch_size128Samples per batch
learning_rate0.001Adam learning rate
hidden_dims[256, 128, 64]Network architecture
dropout0.2Dropout rate (regularization)
activation'relu'Activation function
target_columnSingle target column
target_columnsMultiple 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

  1. Preprocessing crucial: scale features, encode categoricals.
  2. Batch norm helps: stabilizes training and reduces LR sensitivity.
  3. Early stopping: monitor validation loss and stop when it plateaus.
  4. Architecture: start simple (2-3 layers) and expand if needed.
  5. Multi-output: use target_columns for related targets — shared layers learn better representations.

Next Steps