class_docstr: The Flickr dataset from the [Zeng at al. (2019)](https://arxiv.org/abs/1907.04931) paper,
  containing descriptions and common properties of images.
  
  **Arguments**
  
  - `normalize_x`: if True, normalize the features.
  - `dtype`: numpy dtype of graph data.
code: def read(self):
      f = np.load(osp.join(self.path, "adj_full.npz"))
      a = sp.csr_matrix(
          (f["data"], f["indices"], f["indptr"]), f["shape"]
      )
  
      x = np.load(osp.join(self.path, "feats.npy"))
  
      if self.normalize_x:
          print("Pre-processing node features")
          x = _preprocess_features(x)
  
      y = np.zeros(x.shape[0])
      with open(osp.join(self.path, "class_map.json")) as f:
          class_map = json.load(f)
          for key, item in class_map.items():
              y[int(key)] = item
  
      y = label_to_one_hot(y, np.unique(y))
  
      with open(osp.join(self.path, "role.json")) as f:
          role = json.load(f)
  
      self.train_mask = np.zeros(x.shape[0], dtype=bool)
      self.train_mask[np.array(role["tr"])] = 1
  
      self.val_mask = np.zeros(x.shape[0], dtype=bool)
      self.val_mask[np.array(role["va"])] = 1
  
      self.test_mask = np.zeros(x.shape[0], dtype=bool)
      self.test_mask[np.array(role["te"])] = 1
  
      return [
          Graph(
              x=x.astype(self.dtype),
              a=a.astype(self.dtype),
              y=y.astype(self.dtype),
          )
      ]
  
file_path: spektral/spektral/datasets/flickr.py
imports: import json
  import os
  import os.path
  import numpy
  import scipy.sparse
  from spektral.data import Dataset, Graph
  from spektral.datasets.citation import _preprocess_features
  from spektral.datasets.dblp import _download_url
  from spektral.utils import label_to_one_hot
label_desc: Use image node_id 3 for calling the Flickr obj's underlying member method code with example usage: obj.read() and returns: list