def testDoWithCustomSplits(self): # Update input dict. io_utils.copy_dir( os.path.join(self._testdata_dir, 'iris/data/train'), os.path.join(self._output_data_dir, 'data/training')) io_utils.copy_dir( os.path.join(self._testdata_dir, 'iris/data/eval'), os.path.join(self._output_data_dir, 'data/evaluating')) examples = standard_artifacts.Examples() examples.uri = os.path.join(self._output_data_dir, 'data') examples.split_names = artifact_utils.encode_split_names( ['training', 'evaluating']) self._input_dict['examples'] = [examples] # Update exec properties skeleton with custom splits. self._exec_properties['train_args'] = json_format.MessageToJson( trainer_pb2.TrainArgs(splits=['training'], num_steps=1000), preserving_proto_field_name=True) self._exec_properties['eval_args'] = json_format.MessageToJson( trainer_pb2.EvalArgs(splits=['evaluating'], num_steps=500), preserving_proto_field_name=True) self._exec_properties['module_file'] = os.path.join(self._testdata_dir, 'module_file', 'tuner_module.py') tuner = executor.Executor(self._context) tuner.Do( input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testDoWithCustomSplits(self): # Update input dict. io_utils.copy_dir( os.path.join(self._testdata_dir, 'penguin/data/train'), os.path.join(self._output_data_dir, 'data/training')) io_utils.copy_dir( os.path.join(self._testdata_dir, 'penguin/data/eval'), os.path.join(self._output_data_dir, 'data/evaluating')) examples = standard_artifacts.Examples() examples.uri = os.path.join(self._output_data_dir, 'data') examples.split_names = artifact_utils.encode_split_names( ['training', 'evaluating']) self._input_dict[standard_component_specs.EXAMPLES_KEY] = [examples] # Update exec properties skeleton with custom splits. self._exec_properties[standard_component_specs. TRAIN_ARGS_KEY] = proto_utils.proto_to_json( trainer_pb2.TrainArgs(splits=['training'], num_steps=1000)) self._exec_properties[standard_component_specs. EVAL_ARGS_KEY] = proto_utils.proto_to_json( trainer_pb2.EvalArgs(splits=['evaluating'], num_steps=500)) self._exec_properties[ standard_component_specs.MODULE_FILE_KEY] = os.path.join( self._testdata_dir, 'module_file', 'tuner_module.py') tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testTuneArgs(self): with self.assertRaises(ValueError): self._exec_properties['tune_args'] = proto_utils.proto_to_json( tuner_pb2.TuneArgs(num_parallel_trials=3)) tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties)
def testDoWithModuleFile(self): self._exec_properties['module_file'] = os.path.join( self._testdata_dir, 'module_file', 'tuner_module.py') tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testTuneArgs(self): with self.assertRaises(ValueError): self._exec_properties['tune_args'] = json_format.MessageToJson( tuner_pb2.TuneArgs(num_parallel_trials=3), preserving_proto_field_name=True) tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties)
def testDoWithTunerFn(self): self._exec_properties['tuner_fn'] = '%s.%s' % ( tuner_module.tuner_fn.__module__, tuner_module.tuner_fn.__name__) tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testDoWithModuleFile(self): self._exec_properties[ standard_component_specs.MODULE_FILE_KEY] = os.path.join( self._testdata_dir, 'module_file', 'tuner_module.py') tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testTuneArgs(self): with self.assertRaises(ValueError): self._exec_properties[standard_component_specs. TUNE_ARGS_KEY] = proto_utils.proto_to_json( tuner_pb2.TuneArgs( num_parallel_trials=3)) tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties)
def testMultipleArtifacts(self): self._input_dict['examples'] = self._multiple_artifacts self._exec_properties['module_file'] = os.path.join( self._testdata_dir, 'module_file', 'tuner_module.py') tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testDoWithTunerFn(self): self._exec_properties[ standard_component_specs.TUNER_FN_KEY] = '%s.%s' % ( tuner_module.tuner_fn.__module__, tuner_module.tuner_fn.__name__) tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()
def testMultipleArtifacts(self): self._input_dict[ standard_component_specs.EXAMPLES_KEY] = self._multiple_artifacts self._exec_properties[ standard_component_specs.MODULE_FILE_KEY] = os.path.join( self._testdata_dir, 'module_file', 'tuner_module.py') tuner = executor.Executor(self._context) tuner.Do(input_dict=self._input_dict, output_dict=self._output_dict, exec_properties=self._exec_properties) self._verify_output()