class_docstr: Serializable experiment data.
class_docstr_tok: ["Serializable","experiment","data","."]
code: def from_bytes(cls, data: bytes):
      try:
          parsed = json.loads(data)
          if "timestamp" in parsed:
              parsed["timestamp"] = datetime.fromisoformat(
                  parsed["timestamp"]
              )
          if "deps" in parsed:
              parsed["deps"] = {
                  k: ExpDep(**v) for k, v in parsed["deps"].items()
              }
          if "outs" in parsed:
              parsed["outs"] = {
                  k: ExpOut(**v) for k, v in parsed["outs"].items()
              }
          return cls(**parsed)
      except (TypeError, json.JSONDecodeError) as exc:
          raise DeserializeError(
              "failed to load SerializableExp"
          ) from exc
  
imports: import json
  from dataclasses import asdict, dataclass, field
  from datetime import datetime
  from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Literal, Optional
  from dvc.exceptions import DvcException
  from dvc.repo.metrics.show import _gather_metrics
  from dvc.repo.params.show import _gather_params
  from dvc.utils import relpath
label_desc: Use image node_id 4 for calling the SerializableExp obj's underlying member method code with example usage: obj.from_bytes(cls, data) and returns: cls