class_docstr: Variant B of the two Reduction layers described in
  https://arxiv.org/abs/1710.02238. All variants use multiple convolutional
  blocks with varying kernel sizes and number of filters, to reduce the spatial
  extent of the image and reduce computational complexity for downstream layers.
docstr: Builds the layers components and set _layers attribute.
docstr_tok: ["Builds","the","layers","components","and","set","_layers","attribute","."]
code: def _build_layer_components(self):
      """Builds the layers components and set _layers attribute."""
      self.max_pool1 = MaxPool2D(
          pool_size=(3, 3), strides=2, padding="valid"
      )
  
      self.conv_block1 = [
          Conv2D(
              self.num_filters,
              kernel_size=1,
              strides=1,
              padding="same",
              activation=tf.nn.relu,
          )
      ]
      self.conv_block1.append(
          Conv2D(
              int(self.num_filters * 1.5),
              kernel_size=3,
              strides=2,
              padding="valid",
              activation=tf.nn.relu,
          )
      )
  
      self.conv_block2 = [
          Conv2D(
              filters=self.num_filters,
              kernel_size=1,
              strides=1,
              activation=tf.nn.relu,
              padding="same",
          )
      ]
      self.conv_block2.append(
          Conv2D(
              filters=int(self.num_filters * 1.125),
              kernel_size=3,
              strides=2,
              activation=tf.nn.relu,
              padding="valid",
          )
      )
  
      self.conv_block3 = [
          Conv2D(
              filters=self.num_filters,
              kernel_size=1,
              strides=1,
              activation=tf.nn.relu,
              padding="same",
          )
      ]
      self.conv_block3.append(
          Conv2D(
              filters=int(self.num_filters * 1.125),
              kernel_size=(3, 1),
              strides=1,
              activation=tf.nn.relu,
              padding="same",
          )
      )
  
      self.conv_block3.append(
          Conv2D(
              filters=int(self.num_filters * 1.25),
              kernel_size=(3, 3),
              strides=2,
              activation=tf.nn.relu,
              padding="valid",
          )
      )
  
      self.concat_layer = Concatenate()
      self.activation_layer = ReLU()
  
      self._layers = (
          self.conv_block1 + self.conv_block2 + self.conv_block3
      )
      self._layers.extend(
          [self.max_pool1, self.concat_layer, self.activation_layer]
      )
  
imports: import tensorflow
  from tensorflow.keras.layers import Conv2D, Concatenate, ReLU, Add, MaxPool2D
label_desc: Use image node_id 2 for calling the ReductionB obj's underlying member method code with example usage: obj._build_layer_components() without return types