<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def runStretchExperiment(numObjects=25):
 """ Generates a lot of random objects to profile the network. Parameters: @param numObjects (int) Number of objects to create and learn. """

  exp = L4L2Experiment(
    "profiling_experiment",
    enableLateralSP = True,
    enableFeedForwardSP=True
  )

  objects = createObjectMachine(
    machineType="simple",
    numInputBits=20,
    sensorInputSize=1024,
    externalInputSize=1024
  )
  objects.createRandomObjects(numObjects=numObjects, numPoints=10)
  exp.learnObjects(objects.provideObjectsToLearn())
  exp.printProfile()

  inferConfig = {
    "numSteps": len(objects[0]),
    "pairs": {
      0: objects[0]
    }
  }

  exp.infer(objects.provideObjectToInfer(inferConfig), objectName=0)
  exp.printProfile()

  exp.plotInferenceStats(
    fields=["L2 Representation",
            "Overlap L2 with object",
            "L4 Representation"]
  )