Ë
    Fêñi  ã                  óR   — d dl mZ d dlmZ d dlZd dlmZ ddlmZ  G d„ de«      Z	y)	é    )Úannotations)ÚPathN)Úcheck_requirementsé   )ÚBaseBackendc                  ó    — e Zd ZdZdd„Zdd„Zy)ÚAxeleraBackendz©Axelera AI inference backend for Axelera Metis AI accelerators.

    Loads compiled Axelera models (.axm files) and runs inference using the Axelera AI runtime SDK.
    c                ó¨  — 	 ddl m} ddl m} t	        |«      }t        |j                  d«      d«      }|€t        d|› �«      ‚|j                  t        |«      «      j                  «       | _        |j                  d	z  }|j                  «       r'dd
lm} | j!                  |j                  |«      «       yy# t        $ r t        dd¬«       Y ŒÈw xY w)z·Load an Axelera model from a directory containing a .axm file.

        Args:
            weight (str | Path): Path to the Axelera model directory containing the .axm binary.
        r   )Úopzaxelera-rt==1.6.0zV--extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple)Úcmdsz*.axmNzNo .axm file found in: zmetadata.yaml)ÚYAML)Úaxelera.runtimer   ÚImportErrorr   r   ÚnextÚrglobÚFileNotFoundErrorÚloadÚstrÚ	optimizedÚmodelÚparentÚexistsÚultralytics.utilsr   Úapply_metadata)ÚselfÚweightr   ÚwÚfoundÚmetadata_filer   s          úa/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/ultralytics/nn/backends/axelera.pyÚ
load_modelzAxeleraBackend.load_model   s¼   € ð	Ý*õ 	'ä�‹LˆÜ�Q—W‘W˜WÓ% tÓ,ˆØˆ=Ü#Ð&=¸a¸SÐ$AÓBÐBà—W‘WœS ›ZÓ(×2Ñ2Ó4ˆŒ
ð Ÿ™ Ñ6ˆØ×ÑÔ!Ý.à×Ñ §	¡	¨-Ó 8Õ9ð "øô# ò 	ÜØ#Øm÷ð	ús   ‚B8 Â8CÃCc                ó@   — | j                  |j                  «       «      S )zöRun inference on the Axelera hardware accelerator.

        Args:
            im (torch.Tensor): Input image tensor in BCHW format, normalized to [0, 1].

        Returns:
            (list): Model predictions as a list of output arrays.
        )r   Úcpu)r   Úims     r    ÚforwardzAxeleraBackend.forward2   s   € ð �z‰z˜"Ÿ&™&›(Ó#Ð#ó    N)r   z
str | PathÚreturnÚNone)r$   ztorch.Tensorr'   Úlist)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   r%   © r&   r    r	   r	      s   „ ñó
:ô<	$r&   r	   )
Ú
__future__r   Úpathlibr   ÚtorchÚultralytics.utils.checksr   Úbaser   r	   r.   r&   r    ú<module>r4      s"   ðõ #å ã å 7å ô-$�[õ -$r&   