# Deploying Models

> Upload an ONNX model, pair it with an input datasource, and activate it on the Xisom runtime.

Models run on the Xisom runtime in **ONNX** format. You upload a model, pair it with
an input datasource, and activate it to start inference.

## Supported format

- **ONNX** — the runtime accepts ONNX models and executes them with the execution
  provider that matches your hardware (TensorRT, CUDA, or CPU). See
  [Hardware Setup](/install-deploy/hardware-setup/) for the modes.

**Window size and features must match the datasource**

A model is defined by its **window size** (samples per prediction) and **feature
count** (input channels). When you pair a model with a datasource, the platform
checks that `window size × feature count` agrees on both sides — so note these values
before you pair.

## Upload, pair, activate

1. ### Upload the model

   Go to **Models** and upload your `.onnx` file. The platform validates the file
   (extension, type, and schema) before it is available.

2. ### Pair it with a datasource

   On an input datasource, pair this model. The compatibility check runs here — if
   the window size or feature count disagrees, the pairing is rejected. Adjust the
   datasource window size or regenerate the model to match.

3. ### Activate

   Enable the datasource, then **Start** streaming. The runtime loads the paired
   model into the inference service and begins producing predictions. See
   [Your First Inference](/install-deploy/first-inference/) for the full loop.

## Replacing the demo seed model

A fresh install ships a **demo model with random weights** — predictions are
meaningless until you replace it. Upload your trained model as above, or drop it into
the model-data directory and restart the inference service. The offline-bundle
install page covers the file-drop path:
[Replace the demo model](/install-deploy/offline-bundle-install/#install-runbook) (step 5).

## If something goes wrong

- Upload rejected, pairing fails, or the runtime won't load the model — see the
  [Troubleshooting](/troubleshooting/) runbook.

## Next steps

  - [Connect an input datasource](/configure/input-datasources/) — Feed the model with live sensor data.
  - [Monitor predictions](/operate/monitoring/) — Latency, throughput, and KPIs.
