code: def setup(self, config):
      self.train_data, self.test_data = self._read_data()
      x_train = self.train_data[0]
      model = self._build_model(x_train.shape[1:])
  
      opt = tf.keras.optimizers.Adadelta(
          lr=self.config.get("lr", 1e-4),
          weight_decay=self.config.get("decay", 1e-4),
      )
      model.compile(
          loss="categorical_crossentropy",
          optimizer=opt,
          metrics=["accuracy"],
      )
      self.model = model
  
imports: from __future__ import print_function
  import argparse
  import numpy
  import tensorflow
  from tensorflow.keras.datasets import cifar10
  from tensorflow.keras.layers import Input, Dense, Dropout, Flatten
  from tensorflow.keras.layers import Convolution2D, MaxPooling2D
  from tensorflow.keras.models import Model, load_model
  from tensorflow.keras.preprocessing.image import ImageDataGenerator
  from ray import train, tune
  from ray.tune import Trainable
  from ray.tune.schedulers import PopulationBasedTraining
label_desc: Use image node_id 3 for calling the Cifar10Model obj's underlying member method code with example usage: obj.setup(config) without return types