in src/smolagents/agent_types.py [0:0]
def __init__(self, value):
AgentType.__init__(self, value)
PIL.Image.Image.__init__(self)
self._path = None
self._raw = None
self._tensor = None
if isinstance(value, AgentImage):
self._raw, self._path, self._tensor = value._raw, value._path, value._tensor
elif isinstance(value, PIL.Image.Image):
self._raw = value
elif isinstance(value, bytes):
self._raw = PIL.Image.open(BytesIO(value))
elif isinstance(value, (str, pathlib.Path)):
self._path = value
else:
try:
import torch
if isinstance(value, torch.Tensor):
self._tensor = value
import numpy as np
if isinstance(value, np.ndarray):
self._tensor = torch.from_numpy(value)
except ModuleNotFoundError:
pass
if self._path is None and self._raw is None and self._tensor is None:
raise TypeError(f"Unsupported type for {self.__class__.__name__}: {type(value)}")