code: def test_pipeline_regressor_make_updatable(self):
      builder = self.create_base_builder()
      builder.spec.isUpdatable = False
  
      training_input = [
          ("input", datatypes.Array(3)),
          ("target", "Double"),
      ]
  
      # fails due to missing sub-models
      p_regressor = PipelineRegressor(
          self.input_features, self.output_names, training_input
      )
      with self.assertRaises(ValueError):
          p_regressor.make_updatable()
      self.assertEqual(p_regressor.spec.isUpdatable, False)
  
      # fails due to sub-model being not updatable
      p_regressor.add_model(builder.spec)
      with self.assertRaises(ValueError):
          p_regressor.make_updatable()
      self.assertEqual(p_regressor.spec.isUpdatable, False)
  
      builder.spec.isUpdatable = True
      p_regressor.add_model(builder.spec)
  
      self.assertEqual(p_regressor.spec.isUpdatable, False)
      p_regressor.make_updatable()
      self.assertEqual(p_regressor.spec.isUpdatable, True)
      self.assertEqual(
          p_regressor.spec.description.trainingInput[0].name, "input"
      )
      self.assertEqual(
          p_regressor.spec.description.trainingInput[0].type.WhichOneof(
              "Type"
          ),
          "multiArrayType",
      )
      self.assertEqual(
          p_regressor.spec.description.trainingInput[1].name, "target"
      )
      self.assertEqual(
          p_regressor.spec.description.trainingInput[1].type.WhichOneof(
              "Type"
          ),
          "doubleType",
      )
  
      # fails since once updatable does not allow adding new models
      with self.assertRaises(ValueError):
          p_regressor.add_model(builder.spec)
      self.assertEqual(p_regressor.spec.isUpdatable, True)
  
imports: import os
  import shutil
  import tempfile
  import unittest
  import numpy
  import coremltools.models.datatypes
  from coremltools.models import MLModel
  from coremltools.models.neural_network import AdamParams, NeuralNetworkBuilder, SgdParams, quantization_utils
  from coremltools.models.pipeline import PipelineClassifier, PipelineRegressor
  from coremltools.models.utils import save_spec
label_desc: Use image node_id 17 for calling the MLModelUpdatableTest obj's underlying member method code with example usage: obj.test_pipeline_regressor_make_updatable() without return types