CatBoost#
About this page
This is an API reference for CatBoost in BentoML. Please refer to CatBoost guides for more information about how to use CatBoost in BentoML.
- bentoml.catboost.save_model(name: str, model: cb.CatBoost, *, signatures: dict[str, ModelSignatureDict] | None = None, labels: dict[str, str] | None = None, custom_objects: dict[str, t.Any] | None = None, external_modules: t.List[ModuleType] | None = None, metadata: dict[str, t.Any] | None = None) bentoml.Model [source]#
Save an CatBoost model instance to the BentoML model store.
- Parameters:
name β The name to give to the model in the BentoML store. This must be a valid
Tag
name.model β The CatBoost model to be saved.
signatures β Signatures of predict methods to be used. If not provided, the signatures default to
{"predict": {"batchable": False}}
. SeeModelSignature
for more details.labels β A default set of management labels to be associated with the model. An example is
{"training-set": "data-1"}
.custom_objects β
Custom objects to be saved with the model. An example is
{"my-normalizer": normalizer}
.Custom objects are currently serialized with cloudpickle, but this implementation is subject to change.
external_modules (
List[ModuleType]
, optional, default toNone
) β user-defined additional python modules to be saved alongside the model or custom objects, e.g. a tokenizer module, preprocessor module, model configuration modulemetadata β
Metadata to be associated with the model. An example is
{"max_depth": 2}
.Metadata is intended for display in model management UI and therefore must be a default Python type, such as
str
orint
.
- Returns:
A
tag
with a format name:version where name is the user-defined modelβs name, and a generated version by BentoML.- Return type:
Example:
import bentoml import numpy as np from catboost import CatBoostClassifier, Pool # initialize data train_data = np.random.randint(0, 100, size=(100, 10)) train_labels = np.random.randint(0, 2, size=(100)) test_data = catboost_pool = Pool(train_data, train_labels) model = CatBoostClassifier(iterations=2, depth=2, learning_rate=1, loss_function='Logloss', verbose=True) # train the model model.fit(train_data, train_labels) # save the model to the BentoML model store bento_model = bentoml.catboost.save_model("my_catboost_model", model)
- bentoml.catboost.load_model(bento_model: str | bentoml._internal.tag.Tag | bentoml._internal.models.model.Model) catboost.CatBoost [source]#
Load the CatBoost model with the given tag from the local BentoML model store.
- Parameters:
bento_model (
str
|
Tag
|
Model
) β Either the tag of the model to get from the store, or a BentoML ~bentoml.Model instance to load the model from.- Returns:
The CatBoost model loaded from the model store or BentoML
Model
.- Return type:
CatBoost
Example:
import bentoml # target model must be from the BentoML model store booster = bentoml.catboost.load_model("my_catboost_model")
- bentoml.catboost.get(tag_like: str | bentoml._internal.tag.Tag) Model [source]#
Get the BentoML model with the given tag.
- Parameters:
tag_like (
str
|
Tag
) β The tag of the model to retrieve from the model store.- Returns:
A BentoML
Model
with the matching tag.- Return type:
Example:
import bentoml # target model must be from the BentoML model store model = bentoml.catboost.get("my_catboost_model")