Exemplo n.º 1
0
    def to_proto(self):
        d = {
            'sync_interval': self.train_options.sync_interval,
            'do_monitoring': self.train_options.do_monitoring,
            'replace_model': self.train_options.replace_model,
            'model_main_py': self.script_locations.model_main_uri,
            'export_py': self.script_locations.export_uri,
            'training_data_uri': self.training_data_uri,
            'training_output_uri': self.training_output_uri,
            'model_uri': self.model_uri,
            'debug': self.debug,
            'fine_tune_checkpoint_name': self.fine_tune_checkpoint_name,
            'tfod_config': self.tfod_config
        }

        conf = json_format.ParseDict(
            d, BackendConfigMsg.TFObjectDetectionConfig())

        msg = BackendConfigMsg(
            backend_type=rv.TF_OBJECT_DETECTION,
            tf_object_detection_config=conf)

        if self.pretrained_model_uri:
            msg.MergeFrom(
                BackendConfigMsg(
                    pretrained_model_uri=self.pretrained_model_uri))

        return msg
Exemplo n.º 2
0
    def to_proto(self):
        d = {
            'train_py': self.script_locations.train_py,
            'eval_py': self.script_locations.eval_py,
            'export_py': self.script_locations.export_py,
            'train_restart_dir': self.train_options.train_restart_dir,
            'sync_interval': self.train_options.sync_interval,
            'do_monitoring': self.train_options.do_monitoring,
            'do_eval': self.train_options.do_eval,
            'replace_model': self.train_options.replace_model,
            'debug': self.debug,
            'training_data_uri': self.training_data_uri,
            'training_output_uri': self.training_output_uri,
            'model_uri': self.model_uri,
            'fine_tune_checkpoint_name': self.fine_tune_checkpoint_name,
            'tfdl_config': self.tfdl_config
        }

        conf = json_format.ParseDict(d, BackendConfigMsg.TFDeeplabConfig())

        msg = BackendConfigMsg(backend_type=rv.TF_DEEPLAB,
                               tf_deeplab_config=conf)

        if self.pretrained_model_uri:
            msg.MergeFrom(
                BackendConfigMsg(
                    pretrained_model_uri=self.pretrained_model_uri))

        return msg
    def test_build_task_from_proto(self):
        config = {
            'backend_type': rv.TF_OBJECT_DETECTION,
            'tf_object_detection_config': {
                'tfod_config': {
                    'model': {
                        'dummy': {
                            'numClasses': 5,
                            'imageResizer': {
                                'keepAspectRatioResizer': {
                                    'minDimension': 300,
                                    'maxDimension': 300
                                }
                            }
                        }
                    },
                    'trainConfig': {
                        'batchSize': 1,
                        'numSteps': 200
                    }
                }
            }
        }

        msg = json_format.ParseDict(config, BackendConfigMsg())
        b = rv.BackendConfig.from_proto(msg)

        self.assertEqual(b.tfod_config['trainConfig']['batchSize'], 1)
        self.assertEqual(b.tfod_config['trainConfig']['numSteps'], 200)
Exemplo n.º 4
0
    def test_build_task_from_proto(self):
        config = {
            'backend_type': rv.KERAS_CLASSIFICATION,
            'keras_classification_config': {
                'kc_config': {
                    'model': {
                        'input_size': 300,
                        'type': 'RESNET50',
                        'load_weights_by_name': False,
                        'model_path': ''
                    },
                    'trainer': {
                        'optimizer': {
                            'type': 'ADAM',
                            'init_lr': 0.0001
                        },
                        'options': {
                            'training_data_dir': '',
                            'validation_data_dir': '',
                            'nb_epochs': 1,
                            'batch_size': 1,
                            'input_size': 300,
                            'output_dir': '',
                            'class_names': ['TEMPLATE'],
                            'short_epoch': True
                        }
                    }
                }
            }
        }

        msg = json_format.ParseDict(config, BackendConfigMsg())
        b = rv.BackendConfig.from_proto(msg)

        self.assertEqual(b.kc_config['model']['type'], 'RESNET50')
Exemplo n.º 5
0
 def to_proto(self):
     result = self.mock.to_proto()
     if result is None:
         return BackendConfigMsg(backend_type=self.backend_type,
                                 custom_config={})
     else:
         return result
 def to_proto(self):
     custom_config = struct_pb2.Struct()
     for k, v in self.config.items():
         custom_config[k] = v
     msg = BackendConfigMsg(
         backend_type=self.backend_type,
         custom_config=custom_config)
     return msg
    def to_proto(self):
        struct = struct_pb2.Struct()
        struct['sync_interval'] = self.train_options.sync_interval
        struct['do_monitoring'] = self.train_options.do_monitoring
        struct['replace_model'] = self.train_options.replace_model
        struct['model_uri'] = self.model_uri
        struct['debug'] = self.debug
        struct['training_data_uri'] = self.training_data_uri
        struct['training_output_uri'] = self.training_output_uri

        msg = BackendConfigMsg(backend_type=self.backend_type,
                               custom_config=struct)

        if self.pretrained_model_uri:
            msg.MergeFrom(
                BackendConfigMsg(
                    pretrained_model_uri=self.pretrained_model_uri))
        return msg
Exemplo n.º 8
0
    def to_proto(self):
        struct = struct_pb2.Struct()
        struct['scenes'] = list(
            map(lambda x: json_format.MessageToDict(x.to_proto()),
                self.scenes))
        struct['batch_size'] = self.batch_size
        struct['epochs'] = self.epochs
        struct['epoch_size'] = self.epoch_size
        struct['epoch_save_rate'] = self.epoch_save_rate
        struct['training_output_uri'] = self.training_output_uri
        struct['model_uri'] = self.model_uri

        msg = BackendConfigMsg(backend_type=self.backend_type,
                               custom_config=struct)

        if self.pretrained_model_uri:
            msg.MergeFrom(
                BackendConfigMsg(
                    pretrained_model_uri=self.pretrained_model_uri))
        return msg
    def to_proto(self):
        config = {}
        for k, v in self.backend_opts.__dict__.items():
            config[k] = v
        for k, v in self.train_opts.__dict__.items():
            config[k] = v

        custom_config = struct_pb2.Struct()
        custom_config['json'] = json.dumps(config)
        msg = BackendConfigMsg(backend_type=self.backend_type,
                               custom_config=custom_config)
        return msg
    def to_proto(self):
        d = {
            'sync_interval': self.train_options.sync_interval,
            'do_monitoring': self.train_options.do_monitoring,
            'replace_model': self.train_options.replace_model,
            'training_data_uri': self.training_data_uri,
            'training_output_uri': self.training_output_uri,
            'model_uri': self.model_uri,
            'debug': self.debug,
            'kc_config': self.kc_config
        }

        conf = json_format.ParseDict(
            d, BackendConfigMsg.KerasClassificationConfig())

        msg = BackendConfigMsg(backend_type=rv.KERAS_CLASSIFICATION,
                               keras_classification_config=conf)

        if self.pretrained_model_uri:
            msg.MergeFrom(
                BackendConfigMsg(
                    pretrained_model_uri=self.pretrained_model_uri))

        return msg
Exemplo n.º 11
0
    def test_build_backend_from_proto(self):
        config = {
            'backend_type': rv.TF_DEEPLAB,
            'tf_deeplab_config': {
                'tfdl_config': {
                    'decoderOutputStride': 2,
                    'outputStride': 17
                }
            }
        }

        msg = json_format.ParseDict(config, BackendConfigMsg())
        b = rv.BackendConfig.from_proto(msg)

        self.assertEqual(b.tfdl_config['decoderOutputStride'], 2)
        self.assertEqual(b.tfdl_config['outputStride'], 17)
Exemplo n.º 12
0
 def to_proto(self):
     msg = BackendConfigMsg(backend_type=self.backend_type,
                            custom_config={})
     return msg