def set_dependencies(self, env: BentoServiceEnv):
     # Note that keras module is not required, user can use tf.keras as an
     # replacement for the keras module. Although tensorflow module is required to
     #  be used as the default Keras backend
     pip_deps = ['tensorflow']
     if self._keras_module_name == 'keras':
         pip_deps.append('keras')
     env.add_pip_dependencies_if_missing(pip_deps)
 def set_dependencies(self, env: BentoServiceEnv):
     logger.warning(
         "BentoML by default does not include spacy and torchvision package when "
         "using FastaiModelArtifact. To make sure BentoML bundle those packages if "
         "they are required for your model, either import those packages in "
         "BentoService definition file or manually add them via "
         "`@env(pip_dependencies=['torchvision'])` when defining a BentoService"
     )
     env.add_pip_dependencies_if_missing(['torch', "fastai"])
Exemple #3
0
    def _init_env(self):
        self._env = self.__class__._env or BentoServiceEnv(self.name)

        for api in self._service_apis:
            self._env._add_pip_dependencies_if_missing(api.handler.pip_dependencies)

        for artifact in self._artifacts:
            self._env._add_pip_dependencies_if_missing(artifact.pip_dependencies)
Exemple #4
0
    def _init_env(self, env=None):
        if env is None:
            # By default use BentoServiceEnv defined on class via @env decorator
            env = self.__class__._env

        if isinstance(env, dict):
            self._env = BentoServiceEnv.fromDict(env)
        else:
            self._env = env
Exemple #5
0
 def decorator(bento_service_cls):
     bento_service_cls._env = BentoServiceEnv(
         bento_service_name=bento_service_cls.name(),
         setup_sh=setup_sh,
         pip_dependencies=pip_dependencies,
         conda_channels=conda_channels,
         conda_dependencies=conda_dependencies,
     )
     return bento_service_cls
Exemple #6
0
 def decorator(bento_service_cls):
     bento_service_cls._env = BentoServiceEnv(
         bento_service_name=bento_service_cls.name(),
         pip_dependencies=pip_dependencies,
         auto_pip_dependencies=auto_pip_dependencies,
         requirements_txt_file=requirements_txt_file,
         conda_channels=conda_channels,
         conda_dependencies=conda_dependencies,
         setup_sh=setup_sh,
     )
     return bento_service_cls
Exemple #7
0
    def _config_environments(self):
        self._env = self.__class__._env or BentoServiceEnv(self.name)

        for api in self._inference_apis:
            self._env.add_pip_dependencies_if_missing(
                api.handler.pip_dependencies)
            self._env.add_pip_dependencies_if_missing(
                api.output_adapter.pip_dependencies)

        for artifact in self.artifacts.get_artifact_list():
            artifact.set_dependencies(self.env)
Exemple #8
0
    def _init_env(self, env=None):
        if env is None:
            # By default use BentoServiceEnv defined on class via @env decorator
            env = self.__class__._env

        if isinstance(env, dict):
            self._env = BentoServiceEnv.from_dict(env)
        else:
            self._env = env

        for api in self._service_apis:
            self._env.add_handler_dependencies(api.handler.pip_dependencies)
Exemple #9
0
    def _init_env(self):
        self._env = self.__class__._env or BentoServiceEnv(self.name)

        for api in self._service_apis:
            self._env._add_pip_dependencies_if_missing(
                api.handler.pip_dependencies)
            self._env._add_pip_dependencies_if_missing(
                api.output_adapter.pip_dependencies)

        # TODO(bojiang): adapter dependencies

        for artifact in self._artifacts:
            self._env._add_pip_dependencies_if_missing(
                artifact.pip_dependencies)
Exemple #10
0
    def __init__(self, artifacts, env=None):
        # TODO: validate artifacts arg matches self.__class__._artifacts_spec definition

        if isinstance(artifacts, ArtifactCollection):
            self._artifacts = artifacts
        else:
            self._artifacts = ArtifactCollection()
            for artifact in artifacts:
                self._artifacts[artifact.name] = artifact

        if env is None:
            # By default use BentoServiceEnv defined on class via @env decorator
            env = self.__class__._env

        if isinstance(env, dict):
            self._env = BentoServiceEnv.fromDict(env)
        else:
            self._env = env

        self._config_service_apis()
        self.name = self.__class__.name()
Exemple #11
0
    def _init_env(self):
        self._env = self.__class__._env or BentoServiceEnv(self.name)

        for api in self._service_apis:
            self._env.add_handler_dependencies(api.handler.pip_dependencies)
Exemple #12
0
 def set_dependencies(self, env: BentoServiceEnv):
     if self.backend == 'onnxruntime':
         env.add_pip_dependencies_if_missing(['onnxruntime'])
Exemple #13
0
 def decorator(bento_service_cls):
     bento_service_cls._env = BentoServiceEnv.from_dict(kwargs)
     return bento_service_cls
 def set_dependencies(self, env: BentoServiceEnv):
     env.add_pip_dependencies_if_missing(["fasttext"])
Exemple #15
0
 def set_dependencies(self, env: BentoServiceEnv):
     env.add_pip_dependencies_if_missing(['h2o'])
     env.add_conda_dependencies(['openjdk'])
 def set_dependencies(self, env: BentoServiceEnv):
     env.add_pip_dependencies_if_missing(['coremltools>=4.0b2'])
 def set_dependencies(self, env: BentoServiceEnv):
     env.add_pip_dependencies_if_missing(['xgboost'])
 def set_dependencies(self, env: BentoServiceEnv):
     env.add_pip_dependencies_if_missing(['tensorflow'])
Exemple #19
0
 def set_dependencies(self, env: BentoServiceEnv):
     env.add_pip_dependencies_if_missing(['lightgbm'])