RecordDict¶
- class RecordDict(records: dict[str, ArrayRecord | MetricRecord | ConfigRecord] | None = None, *, parameters_records: dict[str, ArrayRecord] | None = None, metrics_records: dict[str, MetricRecord] | None = None, configs_records: dict[str, ConfigRecord] | None = None)[source]¶
Bases :
TypedDict[str,ArrayRecord|MetricRecord|ConfigRecord],InflatableObjectRecordDict stocke des groupes d’arrays, de métriques et de configurations.
Un
RecordDictest le mécanisme unifié par lequel les tableaux, les métriques et les configurations peuvent être stockés dans unContextde vos applications ou communiqués dans unMessageentre vos applications.- Paramètres:
records (Optional[dict[str, RecordType]]) – Un dictionnaire associant les clés de chaînes à des instances de documents, où chaque valeur est soit un
ArrayRecord, unMetricRecordou unConfigRecord.
Exemples
Un
RecordDictpeut contenir trois types de records, chacun conçu pour une finalité spécifique. Ce qui est commun à tous d’entre eux est qu’ils sont des dictionnaires Python conçus pour garantir que chaque paire clé-valeur respecte les types de données spécifiés.Voyons un exemple :
from flwr.app import RecordDict from flwr.app import ArrayRecord, ConfigRecord, MetricRecord # Let's begin with an empty record my_records = RecordDict() # We can create a ConfigRecord c_record = ConfigRecord({"lr": 0.1, "batch-size": 128}) # Adding it to the RecordDict would look like this my_records["my_config"] = c_record # We can create a MetricRecord following a similar process m_record = MetricRecord({"accuracy": 0.93, "losses": [0.23, 0.1]}) # Adding it to the RecordDict would look like this my_records["my_metrics"] = m_record
L’ajout d’un
ArrayRecordsuit les mêmes étapes que ci-dessus mais tout d’abord, l’array doit être sérialisé et représenté sous forme deflwr.app.Array. Par exemple:from flwr.app import Array # Creating an ArrayRecord would look like this arr_np = np.random.randn(3, 3) # You can use the built-in tool to serialize the array arr = Array(arr_np) # Finally, create the record arr_record = ArrayRecord({"my_array": arr}) # Adding it to the RecordDict would look like this my_records["my_parameters"] = arr_record
Pour des exemples supplémentaires sur la construction de chaque type de records montrés ci-dessus, veuillez consulter la documentation pour
ConfigRecord,MetricRecordetArrayRecord.Methods
clear()copy()Retourner une copie superficielle du dictionnaire.
deflate()Déflatez le RecordDict.
get(k[,d])inflate(object_content[, children])Infléitez un RecordDict à partir de bytes.
items()keys()pop(k[,d])Si la clé n'est pas trouvée, d est retourné si donné, sinon KeyError est levé.
popitem()Comme une 2-tuple ; mais levez KeyError si D est vide.
setdefault(k[,d])update([E, ]**F)Si E est présent et a une méthode .keys(), faites : pour k dans E: D[k] = E[k] Si E est présent mais manque de la méthode .keys(), faites : pour (k, v) dans E: D[k] = v Dans les deux cas, ceci est suivi de : pour k, v dans F.items(): D[k] = v
values()Attributes
Dictionnaire contenant uniquement des instances ArrayRecord.
Retournez un dictionnaire de records avec leurs ID d'objet comme clés.
Dictionnaire contenant uniquement des instances ConfigRecord.
Propriété dépréciée.
Vérifier si l'objet est sale après la dernière déflation.
Dictionnaire contenant uniquement des instances MetricRecord.
Propriété dépréciée.
Récupérez l'ID d'objet.
Propriété dépréciée.
- property array_records: TypedDict[str, ArrayRecord]¶
Dictionnaire contenant uniquement des instances ArrayRecord.
- property children: dict[str, InflatableObject]¶
Retournez un dictionnaire de records avec leurs ID d’objet comme clés.
- clear() None. Remove all items from D.¶
- property config_records: TypedDict[str, ConfigRecord]¶
Dictionnaire contenant uniquement des instances ConfigRecord.
- property configs_records: TypedDict[str, ConfigRecord]¶
Propriété dépréciée.
Utilisez
config_recordsà la place.
- copy() Self¶
Retourner une copie superficielle du dictionnaire.
- get(k[, d]) D[k] if k in D, else d. d defaults to None.¶
- classmethod inflate(object_content: bytes, children: dict[str, InflatableObject] | None = None) RecordDict[source]¶
Infléitez un RecordDict à partir de bytes.
- Paramètres:
object_content (bytes) – Contenu déflé de l’objet RecordDict.
children (Optional[dict[str, InflatableObject]] (default: None)) – Dictionnaire des enfants InflatableObjects mappés à leurs ID d’objet. Ces enfants permettent la pleine inflation du RecordDict. Par défaut, None.
- Renvoie:
Le RecordDict enflammé.
- Type renvoyé:
- property is_dirty: bool¶
Vérifier si l’objet est sale après la dernière déflation.
Un objet est considéré comme sale si son contenu a changé depuis le dernier calcul de son ID d’objet.
- items() a set-like object providing a view on D's items.¶
- keys() a set-like object providing a view on D's keys.¶
- property metric_records: TypedDict[str, MetricRecord]¶
Dictionnaire contenant uniquement des instances MetricRecord.
- property metrics_records: TypedDict[str, MetricRecord]¶
Propriété dépréciée.
Utilisez
metric_recordsà la place.
- property object_id: str¶
Récupérez l’ID d’objet.
- property parameters_records: TypedDict[str, ArrayRecord]¶
Propriété dépréciée.
Utilisez
array_recordsà la place.
- pop(k[, d]) v, remove specified key and return the corresponding value.¶
Si la clé n’est pas trouvée, d est retourné si donné, sinon KeyError est levé.
- popitem() (k, v), remove and return some (key, value) pair¶
Comme une 2-tuple ; mais levez KeyError si D est vide.
- setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D¶
- update([E, ]**F) None. Update D from mapping/iterable E and F.¶
Si E est présent et a une méthode .keys(), faites : pour k dans E: D[k] = E[k] Si E est présent mais manque de la méthode .keys(), faites : pour (k, v) dans E: D[k] = v Dans les deux cas, ceci est suivi de : pour k, v dans F.items(): D[k] = v
- values() an object providing a view on D's values.¶