Пример #1
0
  def test_serialize_metrics(self):
    metrics = {
        'loss': 'minimize',
        'accuracy': 'maximize',
    }
    expected_outputs = [
        {'metric_id': 'loss', 'goal': 2},
        {'metric_id': 'accuracy', 'goal': 1},
    ]

    outputs = serialize_metrics(metrics)
    self.assertEqual(outputs, expected_outputs)
 def setUp(self):
     super(UtilComponentsCompileTest, self).setUp()
     self._package_path = os.path.join(
         os.getenv("TEST_UNDECLARED_OUTPUTS_DIR"), "pipeline.json")
     self._gcp_resources = (
         '{ "resources": [ { "resourceType": '
         '"HyperparameterTuningJob", "resourceUri": '
         '"https://us-central1-aiplatform.googleapis.com/'
         'v1/projects/186556260430/locations/us-central1/'
         'hyperparameterTuningJobs/1234567890123456789" '
         '} ] }')
     self._trial = (
         '{\n \"id\": \"1\",\n \"state\": 4,\n \"parameters\": [\n '
         '{\n \"parameterId\": \"learning_rate\",\n \"value\": '
         '0.03162277660168379\n },\n {\n \"parameterId\": '
         '\"momentum\",\n \"value\": 0.5\n },\n {\n \"parameterId\":'
         ' \"num_neurons\",\n \"value\": 128.0\n }\n ],\n '
         '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
         '\"metrics\": [\n {\n \"metricId\": '
         '\"accuracy\",\n \"value\": 0.734375\n }\n ]\n },\n '
         '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
         '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
         '\"measurements\": [],\n \"clientId\": \"\",\n '
         '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n}')
     self._best_hp = [
         "{\n \"parameterId\": \"learning_rate\",\n \"value\": 0.028\n}",
         "{\n \"parameterId\": \"momentum\",\n \"value\": 0.49\n}",
         "{\n \"parameterId\": \"num_neurons\",\n \"value\": 512.0\n}"
     ]
     self._worker_pool_specs = [{
         "machine_spec": {
             "machine_type": "n1-standard-4",
             "accelerator_type": "NVIDIA_TESLA_T4",
             "accelerator_count": 1
         },
         "replica_count": 1,
         "container_spec": {
             "image_uri": "gcr.io/project_id/test"
         }
     }]
     self._metrics_spec = serialize_metrics({"accuracy": "maximize"})
Пример #3
0
 def setUp(self):
     super(HPTuningJobCompileTest, self).setUp()
     self._display_name = "test_display_name"
     self._project = "test_project"
     self._location = "us-central1"
     self._package_path = os.path.join(
         os.getenv("TEST_UNDECLARED_OUTPUTS_DIR"), "pipeline.json")
     self._worker_pool_specs = [{
         "machine_spec": {
             "machine_type": "n1-standard-4",
             "accelerator_type": "NVIDIA_TESLA_T4",
             "accelerator_count": 1
         },
         "replica_count": 1,
         "container_spec": {
             "image_uri": "gcr.io/project_id/test"
         }
     }]
     self._metrics_spec = serialize_metrics({"accuracy": "maximize"})
     self._parameter_spec = serialize_parameters({
         "learning_rate":
         hpt.DoubleParameterSpec(min=0.001, max=1, scale="log"),
     })
     self._base_output_directory = "gs://my-bucket/blob"
Пример #4
0
 def setUp(self):
   super(HyperparameterTuningJobTest, self).setUp()
   self._gcp_resources = ('{ "resources": [ { "resourceType": '
                          '"HyperparameterTuningJob", "resourceUri": '
                          '"https://us-central1-aiplatform.googleapis.com/'
                          'v1/projects/186556260430/locations/us-central1/'
                          'hyperparameterTuningJobs/1234567890123456789" '
                          '} ] }')
   self._best_trial_max = (
       '{\n \"id\": \"2\",\n \"state\": 4,\n \"parameters\": '
       '[\n {\n \"parameterId\": \"learning_rate\",\n \"value\": '
       '0.028\n },\n {\n \"parameterId\": '
       '\"momentum\",\n \"value\": 0.5\n },\n {\n \"parameterId\":'
       ' \"num_neurons\",\n \"value\": 128.0\n }\n ],\n '
       '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
       '\"metrics\": [\n {\n \"metricId\": '
       '\"accuracy\",\n \"value\": 0.734375\n }\n ]\n },\n '
       '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
       '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
       '\"measurements\": [],\n \"clientId\": \"\",\n '
       '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n, '
       '\"webAccessUris\": {}\n}')
   self._trials_max = [
       ('{\n \"id\": \"1\",\n \"state\": 4,\n \"parameters\": '
        '[\n {\n \"parameterId\": \"learning_rate\",\n \"value\": '
        '0.03\n },\n {\n \"parameterId\": '
        '\"momentum\",\n \"value\": 0.44\n },\n {\n \"parameterId\":'
        ' \"num_neurons\",\n \"value\": 256.0\n }\n ],\n '
        '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
        '\"metrics\": [\n {\n \"metricId\": '
        '\"accuracy\",\n \"value\": 0.6\n }\n ]\n },\n '
        '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
        '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
        '\"measurements\": [],\n \"clientId\": \"\",\n '
        '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n, '
        '\"webAccessUris\": {}\n}'),
       self._best_trial_max,
       ('{\n \"id\": \"3\",\n \"state\": 4,\n \"parameters\": '
        '[\n {\n \"parameterId\": \"learning_rate\",\n \"value\": '
        '0.022\n },\n {\n \"parameterId\": '
        '\"momentum\",\n \"value\": 0.45\n },\n {\n \"parameterId\":'
        ' \"num_neurons\",\n \"value\": 512.0\n }\n ],\n '
        '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
        '\"metrics\": [\n {\n \"metricId\": '
        '\"accuracy\",\n \"value\": 0.5\n }\n ]\n },\n '
        '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
        '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
        '\"measurements\": [],\n \"clientId\": \"\",\n '
        '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n, '
        '\"webAccessUris\": {}\n}'),
   ]
   self._best_hp_max = [
       '{\n \"parameterId\": \"learning_rate\",\n \"value\": 0.028\n}',
       '{\n \"parameterId\": \"momentum\",\n \"value\": 0.5\n}',
       '{\n \"parameterId\": \"num_neurons\",\n \"value\": 128.0\n}'
   ]
   self._best_trial_min = (
       '{\n \"id\": \"2\",\n \"state\": 4,\n \"parameters\": '
       '[\n {\n \"parameterId\": \"learning_rate\",\n \"value\": '
       '0.028\n },\n {\n \"parameterId\": '
       '\"momentum\",\n \"value\": 0.4\n },\n {\n \"parameterId\":'
       ' \"num_neurons\",\n \"value\": 256.0\n }\n ],\n '
       '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
       '\"metrics\": [\n {\n \"metricId\": '
       '\"loss\",\n \"value\": 0.4\n }\n ]\n },\n '
       '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
       '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
       '\"measurements\": [],\n \"clientId\": \"\",\n '
       '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n, '
       '\"webAccessUris\": {}\n}')
   self._trials_min = [
       ('{\n \"id\": \"1\",\n \"state\": 4,\n \"parameters\": '
        '[\n {\n \"parameterId\": \"learning_rate\",\n \"value\": '
        '0.03\n },\n {\n \"parameterId\": '
        '\"momentum\",\n \"value\": 0.44\n },\n {\n \"parameterId\":'
        ' \"num_neurons\",\n \"value\": 256.0\n }\n ],\n '
        '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
        '\"metrics\": [\n {\n \"metricId\": '
        '\"loss\",\n \"value\": 0.6\n }\n ]\n },\n '
        '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
        '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
        '\"measurements\": [],\n \"clientId\": \"\",\n '
        '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n, '
        '\"webAccessUris\": {}\n}'),
       self._best_trial_min,
       ('{\n \"id\": \"3\",\n \"state\": 4,\n \"parameters\": '
        '[\n {\n \"parameterId\": \"learning_rate\",\n \"value\": '
        '0.022\n },\n {\n \"parameterId\": '
        '\"momentum\",\n \"value\": 0.45\n },\n {\n \"parameterId\":'
        ' \"num_neurons\",\n \"value\": 512.0\n }\n ],\n '
        '\"finalMeasurement\": {\n \"stepCount\": \"10\",\n '
        '\"metrics\": [\n {\n \"metricId\": '
        '\"loss\",\n \"value\": 0.7\n }\n ]\n },\n '
        '\"startTime\": \"2021-12-10T00:41:57.675086142Z\",\n '
        '\"endTime\": \"2021-12-10T00:52:35Z\",\n \"name\": \"\",\n '
        '\"measurements\": [],\n \"clientId\": \"\",\n '
        '\"infeasibleReason\": \"\",\n \"customJob\": \"\"\n, '
        '\"webAccessUris\": {}\n}'),
   ]
   self._best_hp_min = [
       '{\n \"parameterId\": \"learning_rate\",\n \"value\": 0.028\n}',
       '{\n \"parameterId\": \"momentum\",\n \"value\": 0.4\n}',
       '{\n \"parameterId\": \"num_neurons\",\n \"value\": 256.0\n}'
   ]
   self._worker_pool_specs = [{
       'machine_spec': {
           'machine_type': 'n1-standard-4',
           'accelerator_type': 'NVIDIA_TESLA_T4',
           'accelerator_count': 1
       },
       'replica_count': 1,
       'container_spec': {
           'image_uri': 'gcr.io/project_id/test'
       }
   }]
   self._metrics_spec_max = serialize_metrics({'accuracy': 'maximize'})
   self._metrics_spec_min = serialize_metrics({'loss': 'minimize'})