Array

class Array(dtype: str, shape: tuple[int, ...], stype: str, data: bytes)[source]
class Array(ndarray: ndarray[tuple[Any, ...], dtype[Any]])
class Array(torch_tensor: torch.Tensor)

Bases : InflatableObject

Type d’array.

Une classe contenant des données sérialisées à partir d’un objet array-like ou tensor-like, ainsi que des métadonnées sur lui. La classe peut être initialisée de trois manières différentes :

  1. En spécifiant explicitement les valeurs pour dtype, shape, stype et data.

  2. En fournissant un ndarray NumPy (via l’argument ndarray).

  3. En fournissant une tensor PyTorch (via l’argument torch_tensor).

Dans les scénarios (2)-(3), les champs dtype, shape, stype et data sont dérivés automatiquement à partir de l’entrée. Dans le scénario (1), ces champs doivent être spécifiés manuellement.

Paramètres:
  • dtype (Optional[str] (default: None)) – Une chaîne représentant le type de données du objet sérialisé (par exemple, « float32 »). Seulement requis si vous n’êtes pas en train de passer un ndarray ou une tensor.

  • shape (Optional[tuple[int, ...]] (default: None)) – Un tuple représentant la forme de l’objet array-like non désérialisé. Seulement requis si vous n’êtes pas en train de passer un ndarray ou une tensor.

  • stype (Optional[str] (default: None)) – Une chaîne indiquant le mécanisme de sérialisation utilisé pour générer les octets dans data à partir d’un objet array-like ou tensor-like. Seulement requis si vous n’êtes pas en train de passer un ndarray ou une tensor.

  • data (Optional[bytes] (default: None)) – Un tampon de bytes contenant les données. Seulement requis si vous n’êtes pas en train de passer un ndarray ou une tensor.

  • ndarray (Optional[NDArray] (default: None)) – Un ndarray NumPy. Si fourni, les champs dtype, shape, stype et data sont dérivés automatiquement à partir de lui.

  • torch_tensor (Optional[torch.Tensor] (default: None)) – Une tensor PyTorch. Si fourni, il sera détaché et déplacé vers le CPU avant la conversion, et les champs dtype, shape, stype et data seront dérivés automatiquement à partir de lui.

Exemples

Initialisation en spécifiant tous les champs directement:

arr1 = Array(
    dtype="float32",
    shape=[3, 3],
    stype="numpy.ndarray",
    data=b"serialized_data...",
)

Initialisation avec un ndarray NumPy:

import numpy as np
arr2 = Array(np.random.randn(3, 3))

Initialisation avec une tensor PyTorch:

import torch
arr3 = Array(torch.randn(3, 3))

Methods

deflate()

Déflate l'Array.

from_numpy_ndarray(ndarray)

Créer Array à partir d'un ndarray NumPy.

from_torch_tensor(tensor)

Créer un tableau à partir d'un tenseur PyTorch.

inflate(object_content[, children])

Infléer un tableau à partir de bytes.

numpy()

Retourner le tableau sous forme de tableau NumPy.

slice_array()

Couper les données du tableau et construire une liste de ArrayChunks.

Attributes

children

Retourner un dictionnaire des ArrayChunks avec leurs ID d'objet comme clés.

is_dirty

Vérifier si l'objet est sale après la dernière déflation.

object_id

Obtenir l'ID d'objet.

dtype

shape

stype

data

property children: dict[str, InflatableObject]

Retourner un dictionnaire des ArrayChunks avec leurs ID d’objet comme clés.

deflate() bytes[source]

Déflate l’Array.

classmethod from_numpy_ndarray(ndarray: ndarray[tuple[Any, ...], dtype[Any]]) Array[source]

Créer Array à partir d’un ndarray NumPy.

classmethod from_torch_tensor(tensor: torch.Tensor) Array[source]

Créer un tableau à partir d’un tenseur PyTorch.

classmethod inflate(object_content: bytes, children: dict[str, InflatableObject] | None = None) Array[source]

Infléer un tableau à partir de bytes.

Paramètres:
  • object_content (bytes) – Le contenu déflé du objet Array.

  • children (Optional[dict[str, InflatableObject]] (default: None)) – Doit être None. Array doit avoir des objets enfants. Fournir aucun enfant entraînera une erreur ValueError.

Renvoie:

L’inflé Array.

Type renvoyé:

Array

property is_dirty: bool

Vérifier si l’objet est sale après la dernière déflation.

numpy() ndarray[tuple[Any, ...], dtype[Any]][source]

Retourner le tableau sous forme de tableau NumPy.

property object_id: str

Obtenir l’ID d’objet.

slice_array() list[tuple[str, InflatableObject]][source]

Couper les données du tableau et construire une liste de ArrayChunks.