code: def run_print_model_performance(
      family,
      train,
      nfolds,
      bc_constraints,
      x,
      y,
      printText,
      seed,
      solver,
  ):
      print("With lambda search, solver = {0}".format(solver))
      h2o_model2 = H2OGeneralizedLinearEstimator(
          family=family,
          nfolds=nfolds,
          beta_constraints=bc_constraints,
          seed=seed,
          lambda_search=True,
          solver=solver,
      )
      h2o_model2.train(x=x, y=y, training_frame=train)
      # make sure coefficients are within bounds
      coeff2 = h2o_model2.coef()
      colNames = bc_constraints["names"]
      lowerB = bc_constraints["lower_bounds"]
      upperB = bc_constraints["upper_bounds"]
      for count in range(0, len(colNames)):
          # fix issue due to rounding difference between bounds and coefficients.
          coef_inactive2 = coeff2[colNames[count, 0]] == 0
          assert (
              round(coeff2[colNames[count, 0]], 6)
              >= round(lowerB[count, 0], 6)
              and round(coeff2[colNames[count, 0]], 6)
              <= round(upperB[count, 0], 6)
          ) or coef_inactive2, (
              "With lambda search: coef for {0}: {1}, lower bound: {2}, upper bound: "
              "{3}".format(
                  colNames[count, 0],
                  coeff2[colNames[count, 0]],
                  lowerB[count, 0],
                  upperB[count, 0],
              )
          )
  
imports: from builtins import range
  import sys
  import h2o
  from tests import pyunit_utils
  from h2o.estimators.glm import H2OGeneralizedLinearEstimator
label_desc: Use image node_id 2 for calling a global function with example usage: run_print_model_performance(family, train, nfolds, bc_constraints, x, y, printText, seed, solver) without return types