def _create_model_server_runner( model_path: Text, serving_binary: serving_bins.ServingBinary, serving_spec: infra_validator_pb2.ServingSpec): """Create a ModelServerRunner from a model, a ServingBinary and a ServingSpec. Args: model_path: An IV-flavored model path. (See model_path_utils.py) serving_binary: One of ServingBinary instances parsed from the `serving_spec`. serving_spec: A ServingSpec instance of this infra validation. Returns: A ModelServerRunner. """ platform = serving_spec.WhichOneof('serving_platform') if platform == 'local_docker': return local_docker_runner.LocalDockerRunner( model_path=model_path, serving_binary=serving_binary, serving_spec=serving_spec ) elif platform == 'kubernetes': return kubernetes_runner.KubernetesRunner( model_path=model_path, serving_binary=serving_binary, serving_spec=serving_spec ) else: raise NotImplementedError('Invalid serving_platform {}'.format(platform))
def _CreateKubernetesRunner(self, k8s_config_dict=None): self._serving_spec = infra_validator_pb2.ServingSpec() json_format.ParseDict({ 'tensorflow_serving': { 'tags': ['1.15.0']}, 'kubernetes': k8s_config_dict or {}, 'model_name': self._model_name, }, self._serving_spec) serving_binary = serving_bins.parse_serving_binaries(self._serving_spec)[0] return kubernetes_runner.KubernetesRunner( model_path=path_utils.serving_model_path(self._model.uri), serving_binary=serving_binary, serving_spec=self._serving_spec)