Docs
/
Models
/

Configuring a Model

Configuring a Model

After creating a model and uploading a file, use the Configuration tab on the model's detail page to adjust settings. The tab has two sections: General Configuration and Advanced Configuration. A third section, Action Map, appears when the model uses discrete output mode.

Each section saves independently — make your changes and click the section's save button.

General Configuration

Model Name

A unique name for the model. Required.

Description

Optional free-text notes about the model's purpose.

Output Application

Controls how predictions are applied to output tags.

OptionBehavior
AbsoluteWrites the predicted value directly to the output tag
RelativeAdds the predicted delta to the tag's current value — used for closed-loop control where the model outputs incremental adjustments

Output Mode

Controls how the model's raw output tensor is interpreted.

OptionBehavior
ContinuousEach output neuron maps 1:1 to an output binding. Used with algorithms like PPO and SAC.
DiscreteOutputs are treated as Q-values. The argmax selects a discrete action from the action map. Used with DQN.

Scan Group

Optionally assign the model to a scan group for synchronized execution with other models. The dropdown shows each scan group's status and scan rate.

When a scan group is assigned:

  • Scan Rate is disabled — controlled by the group
  • On-Demand and On-Demand Timeout in Advanced are disabled — controlled by the group

Select "No scan group" to remove the assignment.

Scan Rate and Sample Rate

Scan rate controls how often the model runs inference; sample rate controls the spacing of historical data points in the input tensor.

  • Scan Rate — accepts values down to 10ms with multiple time units (milliseconds, seconds, minutes, hours)
  • Sample Rate — for example, a model with input depth 10 and sample rate 5s needs the last 50 seconds of data, resampled to 10 evenly-spaced points 5 seconds apart

For nearly every forecasting model these two values are the same, so the form links them by default. A chain icon between the two fields shows the link state — edit one and the other follows. Click the chain to unlink them and edit independently; this is the right choice for controllers that need to react faster than the training data was sampled at (e.g. sample_rate=1.0 history lookback with scan_rate=0.1 execution).

When a scan group is assigned, the chain is hidden:

  • Scan Rate is disabled — controlled by the group
  • Sample Rate remains editable (it's a per-model setting)

Action Map

This section only appears when Output Mode is set to Discrete.

In discrete mode, the model outputs Q-values for each possible action. The action with the highest Q-value is selected, and its mapped value is written to the output tag.

The action map is configured per file rather than per model, since different model files may define different action sets. The Configuration tab shows a link to the active file's detail page where the map is edited.

On the file detail page, the action map editor is a table:

ColumnDescription
IndexThe action index (read-only, sequential)
ValueThe engineering value written to the output tag when this action is selected
LabelOptional descriptive label (e.g. "Decrease", "Hold", "Increase")

You can add and remove actions. The number of actions should match the model's output count.

When activating a new file, you can choose to copy the current action map to the new file or use the new file's embedded map.

Advanced Configuration

On-Demand

When enabled, the model requests fresh device reads before each inference cycle and triggers immediate writes after. This synchronizes the model with its devices, eliminating stale data from independent scan cycles.

For details on how the on-demand cycle works, device-side settings, and when to use it, see On-Demand Inference.

When a scan group is assigned, this field is disabled and controlled by the group.

On-Demand Timeout

The maximum time (0.5–30 seconds) to wait for a fresh device read before the model fails the scan. If the timeout expires, no inference runs — this prevents the model from silently predicting on stale data.

Start with 5 seconds and increase if you see timeout errors. Devices on slow networks or with many tags may need 10–15 seconds.

When a scan group is assigned, this field is disabled and controlled by the group.

Memory Only

When enabled, the model stores its input history in process memory instead of the time-series database. This eliminates the database round-trip on every cycle, enabling ultra-low-latency inference.

Key behaviors:

  • Automatically enables On-Demand (required — the model must actively pull fresh reads)
  • Removes any Scan Group assignment on save (memory-only models cannot be grouped)
  • History is lost on service restart — the model warms up its buffer before predictions begin

For a full explanation of trade-offs and when to use this, see Memory Only Mode.

Settings Affected by Scan Groups

When a model belongs to a scan group, several settings are controlled by the group and disabled in the model's configuration:

SettingWhen Grouped
Scan RateShows the group's scan rate (disabled)
On-DemandShows the group's on-demand state (disabled)
On-Demand TimeoutShows the group's timeout (disabled)
Memory OnlyDisabled (incompatible with scan groups)
Sample RateStill editable (per-model setting)

The disabled fields display a note indicating which scan group controls them and the current value.

What's Next