code: def create_base_builder(self):
      self.input_features = [("input", datatypes.Array(3))]
      self.output_features = [("output", None)]
      self.output_names = ["output"]
  
      builder = NeuralNetworkBuilder(
          self.input_features, self.output_features
      )
  
      W1 = _np.random.uniform(-0.5, 0.5, (3, 3))
      W2 = _np.random.uniform(-0.5, 0.5, (3, 3))
      builder.add_inner_product(
          name="ip1",
          W=W1,
          b=None,
          input_channels=3,
          output_channels=3,
          has_bias=False,
          input_name="input",
          output_name="hidden",
      )
      builder.add_inner_product(
          name="ip2",
          W=W2,
          b=None,
          input_channels=3,
          output_channels=3,
          has_bias=False,
          input_name="hidden",
          output_name="output",
      )
  
      builder.make_updatable(
          ["ip1", "ip2"]
      )  # or a dict for weightParams
      return builder
  
imports: import os, shutil
  import numpy
  import coremltools.models.datatypes
  import unittest
  import pytest
  import tempfile
  from coremltools.models.utils import save_spec
  from coremltools.models import MLModel
  from coremltools.models.neural_network import NeuralNetworkBuilder, AdamParams, SgdParams
  from coremltools.models.pipeline import PipelineRegressor, PipelineClassifier
label_desc: Use image node_id 3 for calling the MLModelUpdatableTest obj's underlying member method code with example usage: obj.create_base_builder() and returns: builder