code: def test_experiment_from_runs_with_hparams_limit_returns_differed_hparams_first(
      self,
  ):
      self.session_1_start_info_ = """
              hparams: [
                {key: 'batch_size' value: {number_value: 200}},
                {key: 'lr' value: {number_value: 0.01}},
                {key: 'model_type' value: {string_value: 'CNN'}}
              ]
          """
      self.session_2_start_info_ = """
              hparams: [
                {key: 'batch_size' value: {number_value: 200}},
                {key: 'lr' value: {number_value: 0.02}},
                {key: 'model_type' value: {string_value: 'LATTICE'}}
              ]
          """
      self.session_3_start_info_ = """
              hparams: [
                {key: 'batch_size' value: {number_value: 200}},
                {key: 'lr' value: {number_value: 0.05}},
                {key: 'model_type' value: {string_value: 'CNN'}}
              ]
          """
      expected_exp = """
              hparam_infos: {
                name: 'lr'
                type: DATA_TYPE_FLOAT64
                domain_interval {
                  min_value: 0.01
                  max_value: 0.05
                }
                differs: true
              }
              hparam_infos: {
                name: 'model_type'
                type: DATA_TYPE_STRING
                domain_discrete: {
                  values: [{string_value: 'CNN'},
                           {string_value: 'LATTICE'}]
                }
                differs: true
              }
          """
      actual_exp = self._experiment_from_metadata(
          include_metrics=False, hparams_limit=2
      )
      _canonicalize_experiment(actual_exp)
      self.assertProtoEquals(expected_exp, actual_exp)
  
imports: import operator
  from unittest import mock
  import tensorflow
  from google.protobuf import text_format
  from tensorboard import context
  from tensorboard.data import provider
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.hparams import api_pb2
  from tensorboard.plugins.hparams import backend_context
  from tensorboard.plugins.hparams import metadata
  from tensorboard.plugins.hparams import plugin_data_pb2
label_desc: Use image node_id 30 for calling the BackendContextTest obj's underlying member method code with example usage: obj.test_experiment_from_runs_with_hparams_limit_returns_differed_hparams_first() without return types