blakeblackshear/frigate · critical · ImportError

MemryX SDK is not installed. Install it and set up MIX envir

Error message

MemryX SDK is not installed. Install it and set up MIX environment.

What it means

The MemryX detector requires the memryX Python SDK (memryx package with AsyncAccl); its absence raises ImportError with guidance to install the SDK and set up the MIX environment. This happens at plugin __init__ before any configuration processing.

Source

Thrown at frigate/detectors/plugins/memryx.py:63

    )


class MemryXDetector(DetectionApi):
    type_key = DETECTOR_KEY  # Set the type key
    supported_models = [
        ModelTypeEnum.ssd,
        ModelTypeEnum.yolonas,
        ModelTypeEnum.yologeneric,  # Treated as yolov9 in MemryX implementation
        ModelTypeEnum.yolox,
    ]

    def __init__(self, detector_config):
        """Initialize MemryX detector with the provided configuration."""
        try:
            # Import MemryX SDK
            from memryx import AsyncAccl
        except ModuleNotFoundError:
            raise ImportError(
                "MemryX SDK is not installed. Install it and set up MIX environment."
            ) from None
            return

        # Initialize stop_event as None, will be set later by set_stop_event()
        self.stop_event = None

        model_cfg = getattr(detector_config, "model", None)

        # Check if model_type was explicitly set by the user
        if "model_type" in getattr(model_cfg, "__fields_set__", set()):
            detector_config.model.model_type = model_cfg.model_type
        else:
            logger.info(
                "model_type not set in config — defaulting to yolonas for MemryX."
            )
            detector_config.model.model_type = ModelTypeEnum.yolonas

View on GitHub (pinned to ca18b8dc13)

Solutions

  1. Use the MemryX-provided Frigate image/MIX environment that bundles the memryx SDK
  2. Install the MemryX SDK per vendor docs into the container (pip package plus matching runtime) and ensure MIX env is configured
  3. On non-MemryX hardware, choose a different detector type (cpu, onnx, etc.)

Example fix

# before
detectors:
  memryx:
    type: memryx
# after (non-MemryX hardware)
detectors:
  cpu:
    type: cpu
Defensive patterns

Strategy: validation

Validate before calling

def memryx_available() -> bool:
    try:
        from memryx import AsyncAccl  # noqa: F401
        return True
    except ModuleNotFoundError:
        return False

Try / catch

try:
    detector = MemryXDetector(config)
except ImportError as e:
    if 'MemryX SDK' in str(e):
        raise SystemExit('Use the MemryX MIX Frigate environment') from None
    raise

Prevention

When it happens

Trigger: Configuring detector type memryx on a system where 'from memryx import AsyncAccl' raises ModuleNotFoundError: non-MemryX hardware, standard Frigate image without the MX SDK, or incomplete MIX container setup.

Common situations: Running the stock Frigate docker image on MemryX hardware without the SDK layer; testing on x86 without the MX3/MX4 accelerator; SDK installed for the wrong python version or missing MIX runtime env vars.

Related errors


AI-assisted analysis of blakeblackshear/frigate@ca18b8dc13 (2026-08-27). Data as JSON: /api/errors/de227ee79d8688c6. Report an issue: GitHub.