BentoML Example

Titanic Survival Prediction with LightBGM

This is a BentoML Demo Project demonstrating how to package and serve LightBGM model for production using BentoML.

BentoML is an open source platform for machine learning model serving and deployment.

Let's get started! Impression

In [1]:
%reload_ext autoreload
%autoreload 2
%matplotlib inline

import warnings
warnings.filterwarnings("ignore")
In [3]:
!pip install bentoml
!pip install lightgbm numpy pandas
Installing collected packages: lightgbm
Successfully installed lightgbm-2.3.1
In [4]:
import pandas as pd
import numpy as np
import lightgbm as lgb
from sklearn.model_selection import train_test_split
import bentoml

Prepare Dataset

download dataset from https://www.kaggle.com/c/titanic/data

In [3]:
!mkdir data
!curl https://raw.githubusercontent.com/agconti/kaggle-titanic/master/data/train.csv -o ./data/train.csv
!curl https://raw.githubusercontent.com/agconti/kaggle-titanic/master/data/test.csv -o ./data/test.csv
mkdir: data: File exists
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 60302  100 60302    0     0   154k      0 --:--:-- --:--:-- --:--:--  154k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 28210  100 28210    0     0   101k      0 --:--:-- --:--:-- --:--:--  101k
In [5]:
train_df = pd.read_csv('./data/train.csv')
test_df = pd.read_csv('./data/test.csv')
train_df.head()
Out[5]:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
In [6]:
y = train_df.pop('Survived')
cols = ['Pclass', 'Age', 'Fare', 'SibSp', 'Parch']
X_train, X_test, y_train, y_test = train_test_split(train_df[cols], 
                                                    y, 
                                                    test_size=0.2, 
                                                    random_state=42)
In [7]:
# Create an LGBM dataset for training
train_data = lgb.Dataset(data=X_train[cols],
                        label=y_train)

# Create an LGBM dataset from the test
test_data = lgb.Dataset(data=X_test[cols],
                        label=y_test)

Model Training

In [8]:
lgb_params = {
    'boosting': 'dart',          # dart (drop out trees) often performs better
    'application': 'binary',     # Binary classification
    'learning_rate': 0.05,       # Learning rate, controls size of a gradient descent step
    'min_data_in_leaf': 20,      # Data set is quite small so reduce this a bit
    'feature_fraction': 0.7,     # Proportion of features in each boost, controls overfitting
    'num_leaves': 41,            # Controls size of tree since LGBM uses leaf wise splits
    'metric': 'binary_logloss',  # Area under ROC curve as the evaulation metric
    'drop_rate': 0.15
              }

evaluation_results = {}
model = lgb.train(train_set=train_data,
                params=lgb_params,
                valid_sets=[train_data, test_data], 
                valid_names=['Train', 'Test'],
                evals_result=evaluation_results,
                num_boost_round=500,
                early_stopping_rounds=100,
                verbose_eval=20
                )
[20]	Train's binary_logloss: 0.55215	Test's binary_logloss: 0.587358
[40]	Train's binary_logloss: 0.510164	Test's binary_logloss: 0.559348
[60]	Train's binary_logloss: 0.500602	Test's binary_logloss: 0.551635
[80]	Train's binary_logloss: 0.490215	Test's binary_logloss: 0.547154
[100]	Train's binary_logloss: 0.486812	Test's binary_logloss: 0.547076
[120]	Train's binary_logloss: 0.479242	Test's binary_logloss: 0.542552
[140]	Train's binary_logloss: 0.469847	Test's binary_logloss: 0.539319
[160]	Train's binary_logloss: 0.471384	Test's binary_logloss: 0.542278
[180]	Train's binary_logloss: 0.453052	Test's binary_logloss: 0.535512
[200]	Train's binary_logloss: 0.442048	Test's binary_logloss: 0.533921
[220]	Train's binary_logloss: 0.436788	Test's binary_logloss: 0.534261
[240]	Train's binary_logloss: 0.427196	Test's binary_logloss: 0.532026
[260]	Train's binary_logloss: 0.420145	Test's binary_logloss: 0.531791
[280]	Train's binary_logloss: 0.413336	Test's binary_logloss: 0.527412
[300]	Train's binary_logloss: 0.406546	Test's binary_logloss: 0.529314
[320]	Train's binary_logloss: 0.402753	Test's binary_logloss: 0.525075
[340]	Train's binary_logloss: 0.39979	Test's binary_logloss: 0.523438
[360]	Train's binary_logloss: 0.403024	Test's binary_logloss: 0.525361
[380]	Train's binary_logloss: 0.398387	Test's binary_logloss: 0.528122
[400]	Train's binary_logloss: 0.394841	Test's binary_logloss: 0.529159
[420]	Train's binary_logloss: 0.390478	Test's binary_logloss: 0.528173
[440]	Train's binary_logloss: 0.384254	Test's binary_logloss: 0.526504
[460]	Train's binary_logloss: 0.381594	Test's binary_logloss: 0.525863
[480]	Train's binary_logloss: 0.371362	Test's binary_logloss: 0.527399
[500]	Train's binary_logloss: 0.369978	Test's binary_logloss: 0.525418
In [9]:
test_df['pred'] = model.predict(test_df[cols])
test_df[['Pclass', 'Age', 'Fare', 'SibSp', 'Parch','pred']].iloc[10:].head(2)
Out[9]:
Pclass Age Fare SibSp Parch pred
10 3 NaN 7.8958 0 0 0.052353
11 1 46.0 26.0000 0 0 0.308877

Create BentoService for model serving

In [10]:
%%writefile lightbgm_titanic_bento_service.py

import lightgbm as lgb

import bentoml
from bentoml.artifact import LightGBMModelArtifact
from bentoml.adapters import DataframeInput

@bentoml.artifacts([LightGBMModelArtifact('model')])
@bentoml.env(pip_dependencies=['lightgbm'])
class TitanicSurvivalPredictionService(bentoml.BentoService):
    
    @bentoml.api(input=DataframeInput())
    def predict(self, df):
        data = df[['Pclass', 'Age', 'Fare', 'SibSp', 'Parch']]
        return self.artifacts.model.predict(data)
Overwriting lightbgm_titanic_bento_service.py

Save BentoML service archive

In [11]:
# 1) import the custom BentoService defined above
from lightbgm_titanic_bento_service import TitanicSurvivalPredictionService

# 2) `pack` it with required artifacts
bento_service = TitanicSurvivalPredictionService()
bento_service.pack('model', model)

# 3) save your BentoSerivce
saved_path = bento_service.save()
[2020-08-04 10:02:12,116] WARNING - Using BentoML installed in `editable` model, the local BentoML repository including all code changes will be packaged together with saved bundle created, under the './bundled_pip_dependencies' directory of the saved bundle.
[2020-08-04 10:02:22,865] INFO - Detect BentoML installed in development model, copying local BentoML module file to target saved bundle path
running sdist
running egg_info
writing BentoML.egg-info/PKG-INFO
writing dependency_links to BentoML.egg-info/dependency_links.txt
writing entry points to BentoML.egg-info/entry_points.txt
writing requirements to BentoML.egg-info/requires.txt
writing top-level names to BentoML.egg-info/top_level.txt
reading manifest file 'BentoML.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '.git' found anywhere in distribution
warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
warning: no previously-included files matching '__pycache__' found anywhere in distribution
warning: no directories found matching 'bentoml/server/static'
warning: no directories found matching 'bentoml/yatai/web/dist'
no previously-included directories found matching 'e2e_tests'
no previously-included directories found matching 'tests'
no previously-included directories found matching 'benchmark'
writing manifest file 'BentoML.egg-info/SOURCES.txt'
running check
creating BentoML-0.8.3+47.g5daa71b
creating BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
creating BentoML-0.8.3+47.g5daa71b/bentoml
creating BentoML-0.8.3+47.g5daa71b/bentoml/adapters
creating BentoML-0.8.3+47.g5daa71b/bentoml/artifact
creating BentoML-0.8.3+47.g5daa71b/bentoml/cli
creating BentoML-0.8.3+47.g5daa71b/bentoml/clipper
creating BentoML-0.8.3+47.g5daa71b/bentoml/configuration
creating BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
creating BentoML-0.8.3+47.g5daa71b/bentoml/handlers
creating BentoML-0.8.3+47.g5daa71b/bentoml/marshal
creating BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
creating BentoML-0.8.3+47.g5daa71b/bentoml/server
creating BentoML-0.8.3+47.g5daa71b/bentoml/utils
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/client
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/aws_lambda
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/__pycache__
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/versions
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/versions/__pycache__
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
creating BentoML-0.8.3+47.g5daa71b/bentoml/yatai/validator
copying files to BentoML-0.8.3+47.g5daa71b...
copying LICENSE -> BentoML-0.8.3+47.g5daa71b
copying MANIFEST.in -> BentoML-0.8.3+47.g5daa71b
copying README.md -> BentoML-0.8.3+47.g5daa71b
copying pyproject.toml -> BentoML-0.8.3+47.g5daa71b
copying setup.cfg -> BentoML-0.8.3+47.g5daa71b
copying setup.py -> BentoML-0.8.3+47.g5daa71b
copying versioneer.py -> BentoML-0.8.3+47.g5daa71b
copying BentoML.egg-info/PKG-INFO -> BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
copying BentoML.egg-info/SOURCES.txt -> BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
copying BentoML.egg-info/dependency_links.txt -> BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
copying BentoML.egg-info/entry_points.txt -> BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
copying BentoML.egg-info/requires.txt -> BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
copying BentoML.egg-info/top_level.txt -> BentoML-0.8.3+47.g5daa71b/BentoML.egg-info
copying bentoml/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml
copying bentoml/_version.py -> BentoML-0.8.3+47.g5daa71b/bentoml
copying bentoml/exceptions.py -> BentoML-0.8.3+47.g5daa71b/bentoml
copying bentoml/service.py -> BentoML-0.8.3+47.g5daa71b/bentoml
copying bentoml/service_env.py -> BentoML-0.8.3+47.g5daa71b/bentoml
copying bentoml/adapters/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/base_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/base_output.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/clipper_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/dataframe_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/dataframe_output.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/default_output.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/fastai_image_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/file_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/image_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/json_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/json_output.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/legacy_image_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/legacy_json_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/multi_image_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/pytorch_tensor_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/tensorflow_tensor_input.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/tensorflow_tensor_output.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/adapters/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/adapters
copying bentoml/artifact/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/fastai2_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/fastai_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/fasttext_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/h2o_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/json_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/keras_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/lightgbm_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/onnx_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/pickle_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/pytorch_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/sklearn_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/spacy_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/text_file_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/tf_savedmodel_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/artifact/xgboost_model_artifact.py -> BentoML-0.8.3+47.g5daa71b/bentoml/artifact
copying bentoml/cli/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/aws_lambda.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/aws_sagemaker.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/azure_functions.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/bento_management.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/bento_service.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/click_utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/config.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/deployment.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/cli/yatai_service.py -> BentoML-0.8.3+47.g5daa71b/bentoml/cli
copying bentoml/clipper/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/clipper
copying bentoml/configuration/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration
copying bentoml/configuration/configparser.py -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration
copying bentoml/configuration/default_bentoml.cfg -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration
copying bentoml/configuration/__pycache__/__init__.cpython-36.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
copying bentoml/configuration/__pycache__/__init__.cpython-37.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
copying bentoml/configuration/__pycache__/__init__.cpython-38.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
copying bentoml/configuration/__pycache__/configparser.cpython-36.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
copying bentoml/configuration/__pycache__/configparser.cpython-37.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
copying bentoml/configuration/__pycache__/configparser.cpython-38.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/configuration/__pycache__
copying bentoml/handlers/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/handlers
copying bentoml/marshal/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/marshal
copying bentoml/marshal/dispatcher.py -> BentoML-0.8.3+47.g5daa71b/bentoml/marshal
copying bentoml/marshal/marshal.py -> BentoML-0.8.3+47.g5daa71b/bentoml/marshal
copying bentoml/marshal/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/marshal
copying bentoml/saved_bundle/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/bentoml-init.sh -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/bundler.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/config.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/docker-entrypoint.sh -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/loader.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/pip_pkg.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/py_module_utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/saved_bundle/templates.py -> BentoML-0.8.3+47.g5daa71b/bentoml/saved_bundle
copying bentoml/server/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/api_server.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/gunicorn_config.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/gunicorn_server.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/instruments.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/marshal_server.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/open_api.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/trace.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/server/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/server
copying bentoml/utils/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/alg.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/benchmark.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/cloudpickle.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/dataframe_util.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/flask_ngrok.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/hybridmethod.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/lazy_loader.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/log.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/s3.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/tempdir.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/utils/usage_stats.py -> BentoML-0.8.3+47.g5daa71b/bentoml/utils
copying bentoml/yatai/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/alembic.ini -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/db.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/deployment_utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/status.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/yatai_service.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/yatai_service_impl.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai
copying bentoml/yatai/client/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/client
copying bentoml/yatai/client/bento_repository_api.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/client
copying bentoml/yatai/client/deployment_api.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/client
copying bentoml/yatai/deployment/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment
copying bentoml/yatai/deployment/operator.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment
copying bentoml/yatai/deployment/store.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment
copying bentoml/yatai/deployment/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment
copying bentoml/yatai/deployment/aws_lambda/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/aws_lambda
copying bentoml/yatai/deployment/aws_lambda/download_extra_resources.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/aws_lambda
copying bentoml/yatai/deployment/aws_lambda/lambda_app.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/aws_lambda
copying bentoml/yatai/deployment/aws_lambda/operator.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/aws_lambda
copying bentoml/yatai/deployment/aws_lambda/utils.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/aws_lambda
copying bentoml/yatai/deployment/azure_functions/Dockerfile -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/app_init.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/constants.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/host.json -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/local.settings.json -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/operator.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/azure_functions/templates.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/azure_functions
copying bentoml/yatai/deployment/sagemaker/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
copying bentoml/yatai/deployment/sagemaker/model_server.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
copying bentoml/yatai/deployment/sagemaker/nginx.conf -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
copying bentoml/yatai/deployment/sagemaker/operator.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
copying bentoml/yatai/deployment/sagemaker/serve -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
copying bentoml/yatai/deployment/sagemaker/wsgi.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/deployment/sagemaker
copying bentoml/yatai/migrations/README -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations
copying bentoml/yatai/migrations/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations
copying bentoml/yatai/migrations/env.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations
copying bentoml/yatai/migrations/script.py.mako -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations
copying bentoml/yatai/migrations/__pycache__/env.cpython-36.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/__pycache__
copying bentoml/yatai/migrations/versions/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/versions
copying bentoml/yatai/migrations/versions/a6b00ae45279_add_last_updated_at_for_deployments.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/versions
copying bentoml/yatai/migrations/versions/__pycache__/a6b00ae45279_add_last_updated_at_for_deployments.cpython-36.pyc -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/migrations/versions/__pycache__
copying bentoml/yatai/proto/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
copying bentoml/yatai/proto/deployment_pb2.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
copying bentoml/yatai/proto/repository_pb2.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
copying bentoml/yatai/proto/status_pb2.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
copying bentoml/yatai/proto/yatai_service_pb2.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
copying bentoml/yatai/proto/yatai_service_pb2_grpc.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/proto
copying bentoml/yatai/repository/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
copying bentoml/yatai/repository/base_repository.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
copying bentoml/yatai/repository/local_repository.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
copying bentoml/yatai/repository/metadata_store.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
copying bentoml/yatai/repository/repository.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
copying bentoml/yatai/repository/s3_repository.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/repository
copying bentoml/yatai/validator/__init__.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/validator
copying bentoml/yatai/validator/deployment_pb_validator.py -> BentoML-0.8.3+47.g5daa71b/bentoml/yatai/validator
Writing BentoML-0.8.3+47.g5daa71b/setup.cfg
UPDATING BentoML-0.8.3+47.g5daa71b/bentoml/_version.py
set BentoML-0.8.3+47.g5daa71b/bentoml/_version.py to '0.8.3+47.g5daa71b'
Creating tar archive
removing 'BentoML-0.8.3+47.g5daa71b' (and everything under it)
[2020-08-04 10:02:23,797] INFO - BentoService bundle 'TitanicSurvivalPredictionService:20200804100212_2598E6' saved to: /home/bentoml/bentoml/repository/TitanicSurvivalPredictionService/20200804100212_2598E6

Load saved BentoService for serving

In [12]:
import bentoml

bento_model = bentoml.load(saved_path)

result = bento_model.predict(test_df)
test_df['pred'] = result
test_df[['Pclass', 'Age', 'Fare', 'SibSp', 'Parch','pred']].iloc[10:].head(2)
[2020-08-04 10:02:31,584] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[2020-08-04 10:02:31,585] WARNING - Module `lightbgm_titanic_bento_service` already loaded, using existing imported module.
[2020-08-04 10:02:31,587] WARNING - `load` on a 'packed' artifact may lead to unexpected behaviors
[2020-08-04 10:02:31,622] WARNING - `pack` an artifact multiple times may lead to unexpected behaviors
Out[12]:
Pclass Age Fare SibSp Parch pred
10 3 NaN 7.8958 0 0 0.052353
11 1 46.0 26.0000 0 0 0.308877

Access BentoService bundle with CLI

In [ ]:
!bentoml get TitanicSurvivalPredictionService
In [18]:
!bentoml get {bento_service.name}:{bento_service.version}
{
  "name": "TitanicSurvivalPredictionService",
  "version": "20200804100212_2598E6",
  "uri": {
    "type": "LOCAL",
    "uri": "/home/bentoml/bentoml/repository/TitanicSurvivalPredictionService/20200804100212_2598E6"
  },
  "bentoServiceMetadata": {
    "name": "TitanicSurvivalPredictionService",
    "version": "20200804100212_2598E6",
    "createdAt": "2020-08-04T02:02:23.770916Z",
    "env": {
      "condaEnv": "name: bentoml-TitanicSurvivalPredictionService\nchannels:\n- defaults\ndependencies:\n- python=3.6.10\n- pip\n",
      "pipDependencies": "lightgbm\npandas\nbentoml==0.8.3",
      "pythonVersion": "3.6.10",
      "dockerBaseImage": "bentoml/model-server:0.8.3"
    },
    "artifacts": [
      {
        "name": "model",
        "artifactType": "LightGBMModelArtifact"
      }
    ],
    "apis": [
      {
        "name": "predict",
        "inputType": "DataframeInput",
        "docs": "BentoService inference API 'predict', input: 'DataframeInput', output: 'DefaultOutput'",
        "inputConfig": {
          "orient": null,
          "typ": "frame",
          "is_batch_input": true,
          "input_dtypes": null
        },
        "outputConfig": {
          "cors": "*"
        },
        "outputType": "DefaultOutput",
        "mbMaxLatency": 10000,
        "mbMaxBatchSize": 2000
      }
    ]
  }
}
In [20]:
!bentoml run TitanicSurvivalPredictionService:latest predict \
--input '{"PassengerId":{"3":895},"Pclass":{"3":3},"Name":{"3":"Wirz, Mr. Albert"},"Sex":{"3":"male"},"Age":{"3":27.0},"SibSp":{"3":0},"Parch":{"3":0},"Ticket":{"3":"315154"},"Fare":{"3":8.6625},"Cabin":{"3":null},"Embarked":{"3":"S"},"pred":{"3":0.5045963287}}'
[2020-08-04 10:04:51,776] INFO - Getting latest version TitanicSurvivalPredictionService:20200804100212_2598E6
[2020-08-04 10:04:52,809] WARNING - Using BentoML installed in `editable` model, the local BentoML repository including all code changes will be packaged together with saved bundle created, under the './bundled_pip_dependencies' directory of the saved bundle.
[2020-08-04 10:04:52,836] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[0.50459633]

BentoService Serving via REST API

In your termnial, run the following command to start the REST API server:

In [22]:
!bentoml serve TitanicSurvivalPredictionService:latest --enable-microbatch
[2020-08-04 10:05:18,992] INFO - Getting latest version TitanicSurvivalPredictionService:20200804100212_2598E6
[2020-08-04 10:05:18,992] INFO - Starting BentoML API server in development mode..
[2020-08-04 10:05:19,966] WARNING - Using BentoML installed in `editable` model, the local BentoML repository including all code changes will be packaged together with saved bundle created, under the './bundled_pip_dependencies' directory of the saved bundle.
[2020-08-04 10:05:19,988] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[2020-08-04 10:05:21,477] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[2020-08-04 10:05:21,478] INFO - Micro batch enabled for API `predict`
[2020-08-04 10:05:21,480] INFO - Your system nofile limit is 10000, which means each instance of microbatch service is able to hold this number of connections at same time. You can increase the number of file descriptors for the server process, or launch more microbatch instances to accept more concurrent connection.
[2020-08-04 10:05:21,488] INFO - Running micro batch service on :5000
 * Serving Flask app "TitanicSurvivalPredictionService" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:52753/ (Press CTRL+C to quit)
======== Running on http://0.0.0.0:5000 ========
(Press CTRL+C to quit)
127.0.0.1 - - [04/Aug/2020 10:05:33] "POST /predict HTTP/1.1" 200 -
127.0.0.1 - - [04/Aug/2020 10:05:35] "POST /predict HTTP/1.1" 200 -
127.0.0.1 - - [04/Aug/2020 10:05:36] "POST /predict HTTP/1.1" 200 -
^C

Open http://127.0.0.1:5000 to see more information about the REST APIs server in your browser.

Send prediction requeset to the REST API server

Navigate to parent directory of the notebook(so you have reference to the test.jpg image), and run the following curl command to send the image to REST API server and get a prediction result:

curl -i \
--header "Content-Type: application/json" \
--request POST \
--data '[{"Pclass": 1, "Age": 30, "Fare": 200, "SibSp": 1, "Parch": 0}]' \
localhost:5000/predict

Use BentoService as PyPI package

In [23]:
!pip install --quiet {saved_path}
In [34]:
!TitanicSurvivalPredictionService info
[2020-01-22 18:21:12,485] WARNING - BentoML local changes detected - Local BentoML repository including all code changes will be bundled together with the BentoService bundle. When used with docker, the base docker image will be default to same version as last PyPI release at version: 0.5.8. You can also force bentoml to use a specific version for deploying your BentoService bundle, by setting the config 'core/bentoml_deploy_version' to a pinned version or your custom BentoML on github, e.g.:'bentoml_deploy_version = git+https://github.com/{username}/[email protected]{branch}'
[2020-01-22 18:21:12,494] WARNING - Saved BentoService bundle version mismatch: loading BentoServie bundle create with BentoML version 0.5.8,  but loading from BentoML version 0.5.8+23.g1dd72d3
{
  "name": "TitanicSurvivalPredictionService",
  "version": "20200122154116_FCEE7A",
  "created_at": "2020-01-22T23:41:33.581979Z",
  "env": {
    "conda_env": "name: bentoml-TitanicSurvivalPredictionService\nchannels:\n- defaults\ndependencies:\n- python=3.7.3\n- pip\n",
    "pip_dependencies": "bentoml==0.5.8\nlightgbm",
    "python_version": "3.7.3"
  },
  "artifacts": [
    {
      "name": "model",
      "artifact_type": "LightGBMModelArtifact"
    }
  ],
  "apis": [
    {
      "name": "predict",
      "handler_type": "DataframeHandler",
      "docs": "BentoService API"
    }
  ]
}
In [25]:
!TitanicSurvivalPredictionService run predict --input '[{"Pclass": 1, "Age": 30, "Fare": 200, "SibSp": 1, "Parch": 0}]'
[0.80731289]

Containerize REST API server with Docker

The BentoService SavedBundle is structured to work as a docker build context, that can be directed used to build a docker image for API server. Simply use it as the docker build context directory:

In [26]:
!docker build --quiet -t lightgbm-titanic {saved_path}
sha256:cc5736d088e4beea88863682c5107dd4d2a8e067670db1cf667134569936896f

Next, you can docker push the image to your choice of registry for deployment, or run it locally for development and testing:

In [28]:
!docker run -p 5000:5000 lightgbm-titanic --enable-microbatch
[2020-08-04 02:09:42,448] INFO - Starting BentoML API server in production mode..
[2020-08-04 02:09:42,880] INFO - get_gunicorn_num_of_workers: 3, calculated by cpu count
[2020-08-04 02:09:42,890] INFO - Running micro batch service on :5000
[2020-08-04 02:09:42 +0000] [1] [INFO] Starting gunicorn 20.0.4
[2020-08-04 02:09:42 +0000] [12] [INFO] Starting gunicorn 20.0.4
[2020-08-04 02:09:42 +0000] [1] [INFO] Listening at: http://0.0.0.0:40927 (1)
[2020-08-04 02:09:42 +0000] [12] [INFO] Listening at: http://0.0.0.0:5000 (12)
[2020-08-04 02:09:42 +0000] [12] [INFO] Using worker: aiohttp.worker.GunicornWebWorker
[2020-08-04 02:09:42 +0000] [1] [INFO] Using worker: sync
[2020-08-04 02:09:42 +0000] [13] [INFO] Booting worker with pid: 13
[2020-08-04 02:09:42 +0000] [14] [INFO] Booting worker with pid: 14
[2020-08-04 02:09:42 +0000] [15] [INFO] Booting worker with pid: 15
[2020-08-04 02:09:42,920] WARNING - Using BentoML not from official PyPI release. In order to find the same version of BentoML when deplying your BentoService, you must set the 'core/bentoml_deploy_version' config to a http/git location of your BentoML fork, e.g.: 'bentoml_deploy_version = git+https://github.com/{username}/[email protected]{branch}'
[2020-08-04 02:09:42,940] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[2020-08-04 02:09:43 +0000] [16] [INFO] Booting worker with pid: 16
[2020-08-04 02:09:43,187] INFO - Micro batch enabled for API `predict`
[2020-08-04 02:09:43,187] INFO - Your system nofile limit is 1048576, which means each instance of microbatch service is able to hold this number of connections at same time. You can increase the number of file descriptors for the server process, or launch more microbatch instances to accept more concurrent connection.
[2020-08-04 02:09:43,775] WARNING - Using BentoML not from official PyPI release. In order to find the same version of BentoML when deplying your BentoService, you must set the 'core/bentoml_deploy_version' config to a http/git location of your BentoML fork, e.g.: 'bentoml_deploy_version = git+https://github.com/{username}/[email protected]{branch}'
[2020-08-04 02:09:43,791] WARNING - Using BentoML not from official PyPI release. In order to find the same version of BentoML when deplying your BentoService, you must set the 'core/bentoml_deploy_version' config to a http/git location of your BentoML fork, e.g.: 'bentoml_deploy_version = git+https://github.com/{username}/[email protected]{branch}'
[2020-08-04 02:09:43,800] WARNING - Using BentoML not from official PyPI release. In order to find the same version of BentoML when deplying your BentoService, you must set the 'core/bentoml_deploy_version' config to a http/git location of your BentoML fork, e.g.: 'bentoml_deploy_version = git+https://github.com/{username}/[email protected]{branch}'
[2020-08-04 02:09:43,825] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[2020-08-04 02:09:43,831] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
[2020-08-04 02:09:43,836] WARNING - Saved BentoService bundle version mismatch: loading BentoService bundle create with BentoML version 0.8.3, but loading from BentoML version 0.8.3+47.g5daa71b
^C
[2020-08-04 02:09:50 +0000] [1] [INFO] Handling signal: int
[2020-08-04 02:09:51 +0000] [14] [INFO] Worker exiting (pid: 14)
[2020-08-04 02:09:51 +0000] [15] [INFO] Worker exiting (pid: 15)
[2020-08-04 02:09:51 +0000] [16] [INFO] Worker exiting (pid: 16)

Deploy BentoService as REST API server to the cloud

BentoML support deployment to multiply cloud provider services, such as AWS Lambda, AWS Sagemaker, Google Cloudrun and etc. You can find the full list and guide on the documentation site at https://docs.bentoml.org/en/latest/deployment/index.html

For this demo, we are going to deploy to AWS Sagemaker

Deploying to Sagemaker with bentoml sagemaker deploy command

In [24]:
!bentoml sagemaker deploy first-light-bgm -b {bento_service.name}:{bento_service.version} \
    --api-name predict --region us-west-2
[2020-01-22 16:59:41,021] DEBUG - Using BentoML with local Yatai server
[2020-01-22 16:59:41,106] DEBUG - Upgrading tables to the latest revision
Deploying Sagemaker deployment /[2020-01-22 16:59:42,117] DEBUG - Created temporary directory: /private/var/folders/kn/xnc9k74x03567n1mx2tfqnpr0000gn/T/bentoml-temp-esrezr4x
\[2020-01-22 16:59:42,748] DEBUG - Getting docker login info from AWS
[2020-01-22 16:59:42,749] DEBUG - Building docker image: 192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A
-[2020-01-22 16:59:43,159] INFO - Step 1/11 : FROM continuumio/miniconda3:4.7.12
[2020-01-22 16:59:43,159] INFO - 

[2020-01-22 16:59:43,160] INFO -  ---> 406f2b43ea59

[2020-01-22 16:59:43,160] INFO - Step 2/11 : EXPOSE 8080
[2020-01-22 16:59:43,160] INFO - 

[2020-01-22 16:59:43,160] INFO -  ---> Using cache

[2020-01-22 16:59:43,160] INFO -  ---> d8ec94af8603

[2020-01-22 16:59:43,160] INFO - Step 3/11 : RUN set -x      && apt-get update      && apt-get install --no-install-recommends --no-install-suggests -y libpq-dev build-essential     && apt-get install -y nginx      && rm -rf /var/lib/apt/lists/*
[2020-01-22 16:59:43,160] INFO - 

[2020-01-22 16:59:43,161] INFO -  ---> Using cache

[2020-01-22 16:59:43,161] INFO -  ---> 2d40d6bd126a

[2020-01-22 16:59:43,161] INFO - Step 4/11 : RUN conda install pip numpy scipy       && pip install gunicorn gevent
[2020-01-22 16:59:43,161] INFO - 

[2020-01-22 16:59:43,161] INFO -  ---> Using cache

[2020-01-22 16:59:43,161] INFO -  ---> 62c846ad06a6

[2020-01-22 16:59:43,161] INFO - Step 5/11 : COPY . /opt/program
[2020-01-22 16:59:43,161] INFO - 

-[2020-01-22 16:59:43,590] INFO -  ---> 929fed5f5e69

[2020-01-22 16:59:43,590] INFO - Step 6/11 : WORKDIR /opt/program
[2020-01-22 16:59:43,591] INFO - 

/[2020-01-22 16:59:43,704] INFO -  ---> Running in 72497cf00d3d

-[2020-01-22 16:59:43,976] INFO -  ---> bba32d4fa9a3

[2020-01-22 16:59:43,976] INFO - Step 7/11 : RUN conda env update -n base -f /opt/program/environment.yml
[2020-01-22 16:59:43,976] INFO - 

/[2020-01-22 16:59:44,142] INFO -  ---> Running in b84b7b41145c

|[2020-01-22 16:59:45,883] INFO - Collecting package metadata (repodata.json): ...working... 
\[2020-01-22 16:59:50,389] INFO - done
Solving environment: ...working... 
\[2020-01-22 16:59:54,881] INFO - done

[2020-01-22 16:59:54,966] INFO - 
Downloading and Extracting Packages
python-3.7.3         | 32.1 MB   |            |   0% 
python-3.7.3         | 32.1 MB   |            |   0% 
python-3.7.3         | 32.1 MB   | 2          |   3% 
python-3.7.3         | 32.1 MB   | 5          |   6% 
python-3.7.3         | 32.1 MB   | 8          |   8% 
python-3.7.3         | 32.1 MB   | #2         |  13% 
python-3.7.3         | 32.1 MB   | #6         |  16% 
python-3.7.3         | 32.1 MB   | #9         |  20% 
python-3.7.3         | 32.1 MB   | ##3        |  24% 
python-3.7.3         | 32.1 MB   | ##7        |  27% 
python-3.7.3         | 32.1 MB   | ###        |  30% 
python-3.7.3         | 32.1 MB   | ###4       |  34% 
python-3.7.3         | 32.1 MB   | ###7       |  38% 
python-3.7.3         | 32.1 MB   | ####1      |  42% 
python-3.7.3         | 32.1 MB   | ####4      |  45% 
python-3.7.3         | 32.1 MB   | ####7      |  48% 
python-3.7.3         | 32.1 MB   | #####1     |  52% 
python-3.7.3         | 32.1 MB   | #####4     |  55% 
python-3.7.3         | 32.1 MB   | #####8     |  59% 
python-3.7.3         | 32.1 MB   | ######2    |  62% 
python-3.7.3         | 32.1 MB   | ######4    |  65% 
python-3.7.3         | 32.1 MB   | ######8    |  69% 
python-3.7.3         | 32.1 MB   | #######3   |  73% 
python-3.7.3         | 32.1 MB   | #######8   |  79% 
python-3.7.3         | 32.1 MB   | ########2  |  82% 
python-3.7.3         | 32.1 MB   | ########6  |  86% 
python-3.7.3         | 32.1 MB   | #########3 |  94% 
python-3.7.3         | 32.1 MB   | #########8 |  99% 
python-3.7.3         | 32.1 MB   | ########## | 100% 
[2020-01-22 16:59:58,813] INFO - 
Preparing transaction: ...working... 
|[2020-01-22 16:59:58,919] INFO - done

[2020-01-22 16:59:58,919] INFO - Verifying transaction: ...working... 
-[2020-01-22 16:59:59,576] INFO - done

[2020-01-22 16:59:59,576] INFO - Executing transaction: ...working... 
|[2020-01-22 17:00:02,952] INFO - done

|[2020-01-22 17:00:03,412] INFO - #
# To activate this environment, use
#
#     $ conda activate base
#
# To deactivate an active environment, use
#
#     $ conda deactivate


\[2020-01-22 17:00:06,819] INFO -  ---> a2d21de47a3f

[2020-01-22 17:00:06,822] INFO - Step 8/11 : RUN pip install -r /opt/program/requirements.txt
[2020-01-22 17:00:06,822] INFO - 

-[2020-01-22 17:00:06,947] INFO -  ---> Running in 649baeaba5ee

|[2020-01-22 17:00:08,336] INFO - Collecting bentoml==0.5.8

-[2020-01-22 17:00:08,552] INFO -   Downloading https://files.pythonhosted.org/packages/a4/ad/707fb1cd011fe772b803b5c106fa4fbb5e12448fa4db2ac42d01db4859cf/BentoML-0.5.8-py3-none-any.whl (537kB)

-[2020-01-22 17:00:08,961] INFO - Collecting lightgbm

[2020-01-22 17:00:08,999] INFO -   Downloading https://files.pythonhosted.org/packages/0b/9d/ddcb2f43aca194987f1a99e27edf41cf9bc39ea750c3371c2a62698c509a/lightgbm-2.3.1-py2.py3-none-manylinux1_x86_64.whl (1.2MB)

|[2020-01-22 17:00:09,220] INFO - Collecting configparser

\[2020-01-22 17:00:09,257] INFO -   Downloading https://files.pythonhosted.org/packages/7a/2a/95ed0501cf5d8709490b1d3a3f9b5cf340da6c433f896bbe9ce08dbe6785/configparser-4.0.2-py2.py3-none-any.whl

-[2020-01-22 17:00:09,339] INFO - Collecting click>=7.0

[2020-01-22 17:00:09,375] INFO -   Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)

/[2020-01-22 17:00:09,478] INFO - Collecting humanfriendly

[2020-01-22 17:00:09,516] INFO -   Downloading https://files.pythonhosted.org/packages/90/df/88bff450f333114680698dc4aac7506ff7cab164b794461906de31998665/humanfriendly-4.18-py2.py3-none-any.whl (73kB)

|[2020-01-22 17:00:09,616] INFO - Collecting docker

\[2020-01-22 17:00:09,652] INFO -   Downloading https://files.pythonhosted.org/packages/cc/ca/699d4754a932787ef353a157ada74efd1ceb6d1fc0bfb7989ae1e7b33111/docker-4.1.0-py2.py3-none-any.whl (139kB)

\[2020-01-22 17:00:10,492] INFO - Collecting grpcio

-[2020-01-22 17:00:10,594] INFO -   Downloading https://files.pythonhosted.org/packages/bc/b3/0052e38c640d52b710e235b15821cc3c61d0065bf54e70a44550ef127349/grpcio-1.26.0-cp37-cp37m-manylinux2010_x86_64.whl (2.4MB)

\[2020-01-22 17:00:12,500] INFO - Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (1.17.4)

[2020-01-22 17:00:12,550] INFO - Collecting python-json-logger

[2020-01-22 17:00:12,583] INFO -   Downloading https://files.pythonhosted.org/packages/80/9d/1c3393a6067716e04e6fcef95104c8426d262b4adaf18d7aa2470eab028d/python-json-logger-0.1.11.tar.gz

|[2020-01-22 17:00:12,849] INFO - Requirement already satisfied: gunicorn in /opt/conda/lib/python3.7/site-packages (from bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (20.0.4)

-[2020-01-22 17:00:13,484] INFO - Collecting ruamel.yaml>=0.15.0

[2020-01-22 17:00:13,521] INFO -   Downloading https://files.pythonhosted.org/packages/99/a8/25242fc81d0c02460e93e8cc7ec4ae60c2382c00ba0a0e1becc22e76548d/ruamel.yaml-0.16.6-py2.py3-none-any.whl (123kB)

|[2020-01-22 17:00:13,704] INFO - Collecting tabulate

\[2020-01-22 17:00:13,742] INFO -   Downloading https://files.pythonhosted.org/packages/c4/41/523f6a05e6dc3329a5660f6a81254c6cd87e5cfb5b7482bae3391d86ec3a/tabulate-0.8.6.tar.gz (45kB)

\[2020-01-22 17:00:14,161] INFO - Collecting protobuf>=3.6.0

[2020-01-22 17:00:14,198] INFO -   Downloading https://files.pythonhosted.org/packages/4a/14/f5c294f1e36a031f165128c25feba93b3116f15a74398d0b2747ed75744f/protobuf-3.11.2-cp37-cp37m-manylinux1_x86_64.whl (1.3MB)

/[2020-01-22 17:00:15,658] INFO - Collecting cerberus

|[2020-01-22 17:00:15,692] INFO -   Downloading https://files.pythonhosted.org/packages/90/a7/71c6ed2d46a81065e68c007ac63378b96fa54c7bb614d653c68232f9c50c/Cerberus-1.3.2.tar.gz (52kB)

-[2020-01-22 17:00:16,339] INFO - Collecting pandas

[2020-01-22 17:00:16,376] INFO -   Downloading https://files.pythonhosted.org/packages/63/e0/a1b39cdcb2c391f087a1538bc8a6d62a82d0439693192aef541d7b123769/pandas-0.25.3-cp37-cp37m-manylinux1_x86_64.whl (10.4MB)

/[2020-01-22 17:00:26,234] INFO - Collecting flask

[2020-01-22 17:00:26,266] INFO -   Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl (94kB)

|[2020-01-22 17:00:26,375] INFO - Requirement already satisfied: requests in /opt/conda/lib/python3.7/site-packages (from bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (2.22.0)

\[2020-01-22 17:00:26,445] INFO - Collecting python-dateutil<2.8.1,>=2.1

[2020-01-22 17:00:26,480] INFO -   Downloading https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl (226kB)

/[2020-01-22 17:00:26,696] INFO - Collecting prometheus-client

|[2020-01-22 17:00:26,729] INFO -   Downloading https://files.pythonhosted.org/packages/b3/23/41a5a24b502d35a4ad50a5bb7202a5e1d9a0364d0c12f56db3dbf7aca76d/prometheus_client-0.7.1.tar.gz

/[2020-01-22 17:00:27,087] INFO - Collecting packaging

|[2020-01-22 17:00:27,183] INFO -   Downloading https://files.pythonhosted.org/packages/d8/5b/3098db49a61ccc8583ffead6aedc226f08ff56dc03106b6ec54451e27a30/packaging-20.0-py2.py3-none-any.whl

\[2020-01-22 17:00:27,307] INFO - Collecting sqlalchemy>=1.3.0

-[2020-01-22 17:00:27,402] INFO -   Downloading https://files.pythonhosted.org/packages/af/47/35edeb0f86c0b44934c05d961c893e223ef27e79e1f53b5e6f14820ff553/SQLAlchemy-1.3.13.tar.gz (6.0MB)

\[2020-01-22 17:00:35,947] INFO - Collecting boto3

-[2020-01-22 17:00:35,984] INFO -   Downloading https://files.pythonhosted.org/packages/ea/4f/a75bf88d30b79e08dd7930d9643aded0a79c9f696b307f353bb33f62cc5b/boto3-1.11.7-py2.py3-none-any.whl (128kB)

|[2020-01-22 17:00:36,246] INFO - Collecting alembic

\[2020-01-22 17:00:36,280] INFO -   Downloading https://files.pythonhosted.org/packages/9d/c9/d4aa3be3511dfd6d86f8f483ce0d9f120258be4aceadc17601843593e2ec/alembic-1.3.3.tar.gz (1.1MB)

\[2020-01-22 17:00:38,003] INFO - Collecting scikit-learn

-[2020-01-22 17:00:38,038] INFO -   Downloading https://files.pythonhosted.org/packages/73/db/7d8204ddba84ab5d1e4fd1af8f82bbe39c589488bee71e45c662f4144010/scikit_learn-0.22.1-cp37-cp37m-manylinux1_x86_64.whl (7.0MB)

/[2020-01-22 17:00:44,694] INFO - Requirement already satisfied: scipy in /opt/conda/lib/python3.7/site-packages (from lightgbm->-r /opt/program/requirements.txt (line 2)) (1.3.2)

[2020-01-22 17:00:44,696] INFO - Requirement already satisfied: six>=1.4.0 in /opt/conda/lib/python3.7/site-packages (from docker->bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (1.12.0)

|[2020-01-22 17:00:44,762] INFO - Collecting websocket-client>=0.32.0

[2020-01-22 17:00:44,795] INFO -   Downloading https://files.pythonhosted.org/packages/4c/5f/f61b420143ed1c8dc69f9eaec5ff1ac36109d52c80de49d66e0c36c3dfdf/websocket_client-0.57.0-py2.py3-none-any.whl (200kB)

-[2020-01-22 17:00:44,945] INFO - Requirement already satisfied: setuptools>=3.0 in /opt/conda/lib/python3.7/site-packages (from gunicorn->bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (41.4.0)

[2020-01-22 17:00:45,004] INFO - Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.8"

[2020-01-22 17:00:45,041] INFO -   Downloading https://files.pythonhosted.org/packages/40/80/da16b691d5e259dd9919a10628e541fca321cb4b078fbb88e1c7c22aa42d/ruamel.yaml.clib-0.2.0-cp37-cp37m-manylinux1_x86_64.whl (547kB)

|[2020-01-22 17:00:45,632] INFO - Collecting pytz>=2017.2

\[2020-01-22 17:00:45,679] INFO -   Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)

-[2020-01-22 17:00:46,208] INFO - Collecting Jinja2>=2.10.1

[2020-01-22 17:00:46,239] INFO -   Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)

/[2020-01-22 17:00:46,367] INFO - Collecting itsdangerous>=0.24

|[2020-01-22 17:00:46,400] INFO -   Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl

\[2020-01-22 17:00:46,491] INFO - Collecting Werkzeug>=0.15

[2020-01-22 17:00:46,526] INFO -   Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)

/[2020-01-22 17:00:46,724] INFO - Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (2019.11.28)

[2020-01-22 17:00:46,726] INFO - Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (2.8)

[2020-01-22 17:00:46,729] INFO - Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (3.0.4)

[2020-01-22 17:00:46,734] INFO - Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.5.8->-r /opt/program/requirements.txt (line 1)) (1.24.2)

|[2020-01-22 17:00:46,842] INFO - Collecting pyparsing>=2.0.2

[2020-01-22 17:00:46,876] INFO -   Downloading https://files.pythonhosted.org/packages/5d/bc/1e58593167fade7b544bfe9502a26dc860940a79ab306e651e7f13be68c2/pyparsing-2.4.6-py2.py3-none-any.whl (67kB)

-[2020-01-22 17:00:47,485] INFO - Collecting botocore<1.15.0,>=1.14.7

/[2020-01-22 17:00:47,522] INFO -   Downloading https://files.pythonhosted.org/packages/10/d7/da416c5d6a8c61796dbc37875c886955798ca88385882725049af49d417a/botocore-1.14.7-py2.py3-none-any.whl (5.9MB)

/[2020-01-22 17:00:59,450] INFO - Collecting jmespath<1.0.0,>=0.7.1

|[2020-01-22 17:00:59,485] INFO -   Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl

\[2020-01-22 17:00:59,559] INFO - Collecting s3transfer<0.4.0,>=0.3.0

[2020-01-22 17:00:59,593] INFO -   Downloading https://files.pythonhosted.org/packages/de/6d/27abf73e66a05726dd52fb3a6645417b5dc86d90488b59589296dafbf054/s3transfer-0.3.1-py2.py3-none-any.whl (69kB)

-[2020-01-22 17:00:59,706] INFO - Collecting Mako

|[2020-01-22 17:00:59,903] INFO -   Downloading https://files.pythonhosted.org/packages/28/03/329b21f00243fc2d3815399413845dbbfb0745cff38a29d3597e97f8be58/Mako-1.1.1.tar.gz (468kB)

\[2020-01-22 17:01:00,810] INFO - Collecting python-editor>=0.3

[2020-01-22 17:01:00,845] INFO -   Downloading https://files.pythonhosted.org/packages/c6/d3/201fc3abe391bbae6606e6f1d598c15d367033332bd54352b12f35513717/python_editor-1.0.4-py3-none-any.whl

-[2020-01-22 17:01:00,950] INFO - Collecting joblib>=0.11

/[2020-01-22 17:01:00,986] INFO -   Downloading https://files.pythonhosted.org/packages/28/5c/cf6a2b65a321c4a209efcdf64c2689efae2cb62661f8f6f4bb28547cf1bf/joblib-0.14.1-py2.py3-none-any.whl (294kB)

/[2020-01-22 17:01:01,460] INFO - Collecting MarkupSafe>=0.23

|[2020-01-22 17:01:01,497] INFO -   Downloading https://files.pythonhosted.org/packages/98/7b/ff284bd8c80654e471b769062a9b43cc5d03e7a615048d96f4619df8d420/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl

[2020-01-22 17:01:01,576] INFO - Collecting docutils<0.16,>=0.10

\[2020-01-22 17:01:01,610] INFO -   Downloading https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl (547kB)

-[2020-01-22 17:01:02,964] INFO - Building wheels for collected packages: python-json-logger, tabulate, cerberus, prometheus-client, sqlalchemy, alembic, Mako

[2020-01-22 17:01:02,965] INFO -   Building wheel for python-json-logger (setup.py): started

\[2020-01-22 17:01:03,257] INFO -   Building wheel for python-json-logger (setup.py): finished with status 'done'

[2020-01-22 17:01:03,258] INFO -   Created wheel for python-json-logger: filename=python_json_logger-0.1.11-py2.py3-none-any.whl size=5076 sha256=4a000ec088dd0d565eed9ed4e8107d6a9823825d2441c35fabb475d67c73d60e

[2020-01-22 17:01:03,258] INFO -   Stored in directory: /root/.cache/pip/wheels/97/f7/a1/752e22bb30c1cfe38194ea0070a5c66e76ef4d06ad0c7dc401

[2020-01-22 17:01:03,263] INFO -   Building wheel for tabulate (setup.py): started

/[2020-01-22 17:01:03,534] INFO -   Building wheel for tabulate (setup.py): finished with status 'done'

[2020-01-22 17:01:03,534] INFO -   Created wheel for tabulate: filename=tabulate-0.8.6-cp37-none-any.whl size=23274 sha256=662ecb34c9909bfe354e49d231a1691d1089431556c34e7bbc22e252d53f0fd7
  Stored in directory: /root/.cache/pip/wheels/9c/9b/f4/eb243fdb89676ec00588e8c54bb54360724c06e7fafe95278e

[2020-01-22 17:01:03,539] INFO -   Building wheel for cerberus (setup.py): started

-[2020-01-22 17:01:03,811] INFO -   Building wheel for cerberus (setup.py): finished with status 'done'

[2020-01-22 17:01:03,812] INFO -   Created wheel for cerberus: filename=Cerberus-1.3.2-cp37-none-any.whl size=54336 sha256=323039d74a4f52d2ac41f509401c4aab605af0138be189b77eb02a76c0b342a1
  Stored in directory: /root/.cache/pip/wheels/e9/38/1f/f2cc84182676f3ae7134b9b2d744f9c235b24d2ddc8f7fe465

[2020-01-22 17:01:03,822] INFO -   Building wheel for prometheus-client (setup.py): started

\[2020-01-22 17:01:04,082] INFO -   Building wheel for prometheus-client (setup.py): finished with status 'done'

[2020-01-22 17:01:04,083] INFO -   Created wheel for prometheus-client: filename=prometheus_client-0.7.1-cp37-none-any.whl size=41402 sha256=06342c36c8be27e151132e4f5833607686b3948f8441a24c2643b6c99ab299ef
  Stored in directory: /root/.cache/pip/wheels/1c/54/34/fd47cd9b308826cc4292b54449c1899a30251ef3b506bc91ea

[2020-01-22 17:01:04,092] INFO -   Building wheel for sqlalchemy (setup.py): started

|[2020-01-22 17:01:05,603] INFO -   Building wheel for sqlalchemy (setup.py): finished with status 'done'

[2020-01-22 17:01:05,607] INFO -   Created wheel for sqlalchemy: filename=SQLAlchemy-1.3.13-cp37-cp37m-linux_x86_64.whl size=1223695 sha256=3f7e27e20da6eefa9fc7e87c4bb7adcea73ea6eb37c7327a0249f922756c3df2
  Stored in directory: /root/.cache/pip/wheels/b3/35/98/4c9cb3fd63d21d5606b972dd70643769745adf60e622467b71

\[2020-01-22 17:01:05,707] INFO -   Building wheel for alembic (setup.py): started

|[2020-01-22 17:01:06,051] INFO -   Building wheel for alembic (setup.py): finished with status 'done'

[2020-01-22 17:01:06,053] INFO -   Created wheel for alembic: filename=alembic-1.3.3-py2.py3-none-any.whl size=155684 sha256=be62f52fcb6519181de7cb12844452f11134d3f9c0d414d27e18b1ad6051364f

[2020-01-22 17:01:06,053] INFO -   Stored in directory: /root/.cache/pip/wheels/12/6a/49/94a4af65af2edbccf9f467c0f4b26f24d0e5b61be0d8a7e066

[2020-01-22 17:01:06,079] INFO -   Building wheel for Mako (setup.py): started

|[2020-01-22 17:01:06,458] INFO -   Building wheel for Mako (setup.py): finished with status 'done'

[2020-01-22 17:01:06,459] INFO -   Created wheel for Mako: filename=Mako-1.1.1-cp37-none-any.whl size=75411 sha256=2907d89cbeb01db48953413dcf4a6e7db3ca786a98db8be4b6f20f2ed8d4fb48

[2020-01-22 17:01:06,460] INFO -   Stored in directory: /root/.cache/pip/wheels/ff/50/a9/0ddeed8679a1fb65bf4677cb9c92701828b2c1821e22ef72fd

[2020-01-22 17:01:06,478] INFO - Successfully built python-json-logger tabulate cerberus prometheus-client sqlalchemy alembic Mako

/[2020-01-22 17:01:06,793] INFO - Installing collected packages: configparser, click, humanfriendly, websocket-client, docker, grpcio, python-json-logger, ruamel.yaml.clib, ruamel.yaml, tabulate, protobuf, cerberus, python-dateutil, pytz, pandas, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask, prometheus-client, pyparsing, packaging, sqlalchemy, jmespath, docutils, botocore, s3transfer, boto3, Mako, python-editor, alembic, bentoml, joblib, scikit-learn, lightgbm

|[2020-01-22 17:01:14,223] INFO - Successfully installed Jinja2-2.10.3 Mako-1.1.1 MarkupSafe-1.1.1 Werkzeug-0.16.0 alembic-1.3.3 bentoml-0.5.8 boto3-1.11.7 botocore-1.14.7 cerberus-1.3.2 click-7.0 configparser-4.0.2 docker-4.1.0 docutils-0.15.2 flask-1.1.1 grpcio-1.26.0 humanfriendly-4.18 itsdangerous-1.1.0 jmespath-0.9.4 joblib-0.14.1 lightgbm-2.3.1 packaging-20.0 pandas-0.25.3 prometheus-client-0.7.1 protobuf-3.11.2 pyparsing-2.4.6 python-dateutil-2.8.0 python-editor-1.0.4 python-json-logger-0.1.11 pytz-2019.3 ruamel.yaml-0.16.6 ruamel.yaml.clib-0.2.0 s3transfer-0.3.1 scikit-learn-0.22.1 sqlalchemy-1.3.13 tabulate-0.8.6 websocket-client-0.57.0

-[2020-01-22 17:01:18,567] INFO -  ---> 656eca4eed5b

[2020-01-22 17:01:18,569] INFO - Step 9/11 : RUN if [ -f /bento/bentoml_init.sh ]; then /bin/bash -c /bento/bentoml_init.sh; fi
[2020-01-22 17:01:18,570] INFO - 

|[2020-01-22 17:01:18,723] INFO -  ---> Running in 5324268d42c0

|[2020-01-22 17:01:19,916] INFO -  ---> be0eccca2e20

[2020-01-22 17:01:19,916] INFO - Step 10/11 : RUN if [ -f /opt/program/setup.sh ]; then /bin/bash -c /opt/program/setup.sh; fi
[2020-01-22 17:01:19,916] INFO - 

\[2020-01-22 17:01:20,081] INFO -  ---> Running in d6aef92a1bfc

|[2020-01-22 17:01:21,613] INFO -  ---> fa72965c33ad

[2020-01-22 17:01:21,614] INFO - Step 11/11 : ENV PATH="/opt/program:${PATH}"
[2020-01-22 17:01:21,614] INFO - 

-[2020-01-22 17:01:21,759] INFO -  ---> Running in ff2375210f56

|[2020-01-22 17:01:22,043] INFO -  ---> c7491cffe1c5

[2020-01-22 17:01:22,047] INFO - Successfully built c7491cffe1c5

\[2020-01-22 17:01:22,052] INFO - Successfully tagged 192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A

/[2020-01-22 17:01:22,353] DEBUG - Pushing image to AWS ECR at 192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A
|[2020-01-22 17:05:21,633] DEBUG - Finished pushing image: 192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A
[2020-01-22 17:05:21,638] DEBUG - BentoML in debug mode, keeping temp directory "/private/var/folders/kn/xnc9k74x03567n1mx2tfqnpr0000gn/T/bentoml-temp-esrezr4x"
\[2020-01-22 17:05:23,830] DEBUG - AWS create model response: {'ModelArn': 'arn:aws:sagemaker:us-west-2:192023623294:model/dev-first-light--titanicsurvivalpredi-20200122154116-fcee7a', 'ResponseMetadata': {'RequestId': '681c52ed-7517-405c-92db-a7240e32d481', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '681c52ed-7517-405c-92db-a7240e32d481', 'content-type': 'application/x-amz-json-1.1', 'content-length': '121', 'date': 'Thu, 23 Jan 2020 01:05:22 GMT'}, 'RetryAttempts': 0}}
[2020-01-22 17:05:23,830] DEBUG - Creating Sagemaker endpoint dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A configuration
-[2020-01-22 17:05:23,906] DEBUG - AWS create endpoint config response: {'EndpointConfigArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint-config/dev-first-light--titanicsurvivalpredi-20200122154116-fcee7a', 'ResponseMetadata': {'RequestId': '41c7df55-4755-47c8-81e9-aa3433d69a02', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '41c7df55-4755-47c8-81e9-aa3433d69a02', 'content-type': 'application/x-amz-json-1.1', 'content-length': '140', 'date': 'Thu, 23 Jan 2020 01:05:22 GMT'}, 'RetryAttempts': 0}}
[2020-01-22 17:05:23,906] DEBUG - Creating sagemaker endpoint dev-first-light-bgm
|[2020-01-22 17:05:24,091] DEBUG - AWS create endpoint response: {'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'ResponseMetadata': {'RequestId': 'd3fe7adc-c2e3-49be-903b-b1ac7ca419b7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd3fe7adc-c2e3-49be-903b-b1ac7ca419b7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '87', 'date': 'Thu, 23 Jan 2020 01:05:23 GMT'}, 'RetryAttempts': 0}}
[2020-01-22 17:05:24,112] INFO - ApplyDeployment (first-light-bgm, namespace dev) succeeded
-[2020-01-22 17:05:24,315] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '257abdff-85dc-40f9-8a7e-2a29f9cfd475', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '257abdff-85dc-40f9-8a7e-2a29f9cfd475', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:24 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:05:29,627] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '210d4b96-5987-4036-84fe-4135e1bcfabd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '210d4b96-5987-4036-84fe-4135e1bcfabd', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:29 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:05:34,855] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '81cc8024-94f4-470f-a722-4a9c47f86ee1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '81cc8024-94f4-470f-a722-4a9c47f86ee1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:34 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:05:40,079] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '63bcf3d3-fcdd-4faa-a878-7ceb218aa5a8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '63bcf3d3-fcdd-4faa-a878-7ceb218aa5a8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:39 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:05:45,302] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '3b10b74b-6531-4b49-8800-07f1910801eb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '3b10b74b-6531-4b49-8800-07f1910801eb', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:45 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:05:50,989] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'ef59c74e-a1c8-4747-a615-70cb1dbfeaec', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ef59c74e-a1c8-4747-a615-70cb1dbfeaec', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:50 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:05:56,210] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2fb48708-c9b8-4592-bdec-2e1d2e417d63', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2fb48708-c9b8-4592-bdec-2e1d2e417d63', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:05:55 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:06:01,515] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'd376e67a-0bf5-4689-a7d9-eb01bc7f62cf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd376e67a-0bf5-4689-a7d9-eb01bc7f62cf', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:00 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:06:06,837] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '17081c42-4e14-4121-8a55-19ea4251bfe8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '17081c42-4e14-4121-8a55-19ea4251bfe8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:06 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:06:12,102] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'cb1afb1a-d49f-4de9-aebd-da7d8c55e673', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'cb1afb1a-d49f-4de9-aebd-da7d8c55e673', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:12 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:06:17,330] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'ef7dcd2a-dd8c-407c-8e53-a2951f85f72d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ef7dcd2a-dd8c-407c-8e53-a2951f85f72d', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:16 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:06:22,555] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2346e4d4-cb09-4aa3-bb9a-44215069af07', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2346e4d4-cb09-4aa3-bb9a-44215069af07', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:22 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:06:27,764] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8c7667d8-14ce-4fef-9bbf-dfd9f8257985', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8c7667d8-14ce-4fef-9bbf-dfd9f8257985', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:27 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:06:32,972] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '56b5f811-7a97-4f6a-803d-49e320662879', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '56b5f811-7a97-4f6a-803d-49e320662879', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:32 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:06:38,204] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '7d0a761e-1160-4924-8f2a-9a66c231ac8e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '7d0a761e-1160-4924-8f2a-9a66c231ac8e', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:37 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:06:43,463] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a735cdaa-21c9-45a4-8889-bb13fdead0b8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a735cdaa-21c9-45a4-8889-bb13fdead0b8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:43 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:06:48,675] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '18424a71-1892-464d-8af5-69d74974ec84', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '18424a71-1892-464d-8af5-69d74974ec84', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:48 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:06:53,897] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '25f11b5b-b9b2-4d76-bc81-cf9d4f0b508e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '25f11b5b-b9b2-4d76-bc81-cf9d4f0b508e', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:53 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:06:59,127] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b7ac2156-3dba-484f-979a-41966b7e42d8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b7ac2156-3dba-484f-979a-41966b7e42d8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:06:58 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:07:04,365] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '66ffc7c3-64f5-4963-9e1a-d84e6a7243c9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '66ffc7c3-64f5-4963-9e1a-d84e6a7243c9', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:03 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:07:09,586] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'ffe61c59-6b9d-44b6-969b-903d3858b066', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ffe61c59-6b9d-44b6-969b-903d3858b066', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:08 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:07:14,807] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b7dc1ed5-00df-4d86-8a02-fbcb5d8ec0d2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b7dc1ed5-00df-4d86-8a02-fbcb5d8ec0d2', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:14 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:07:20,017] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '0e03dfdb-0868-449f-80fe-0380e1ab7363', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '0e03dfdb-0868-449f-80fe-0380e1ab7363', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:19 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:07:26,252] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b3cfefd3-828f-457f-add4-ea7159fc28dd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b3cfefd3-828f-457f-add4-ea7159fc28dd', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:25 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:07:31,464] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '3336de0d-8292-44b8-9712-138136a880a2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '3336de0d-8292-44b8-9712-138136a880a2', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:30 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:07:36,666] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '56c6de0a-2106-40a6-8f87-a472fc7c17ce', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '56c6de0a-2106-40a6-8f87-a472fc7c17ce', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:36 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:07:41,874] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '66bc8a2d-431d-406a-a328-46d81ea99078', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '66bc8a2d-431d-406a-a328-46d81ea99078', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:41 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:07:47,099] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8b2d75d1-cea3-417f-a95a-38613fa09c6c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8b2d75d1-cea3-417f-a95a-38613fa09c6c', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:46 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:07:52,312] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'd9a62193-1fa7-443d-b280-2a297b9e1eaf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd9a62193-1fa7-443d-b280-2a297b9e1eaf', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:51 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:07:57,526] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f0bbe1eb-d341-424b-aad5-df534850aaf6', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f0bbe1eb-d341-424b-aad5-df534850aaf6', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:07:57 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:08:02,786] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '7ede7f43-b7ce-4e44-8be1-88d22e9ee698', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '7ede7f43-b7ce-4e44-8be1-88d22e9ee698', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:02 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:08:07,990] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'bf85da38-576f-4423-a253-91ccd07487b9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'bf85da38-576f-4423-a253-91ccd07487b9', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:07 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:08:13,195] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'da994033-5f3c-4f76-9b44-53f8e86d69f3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'da994033-5f3c-4f76-9b44-53f8e86d69f3', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:12 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:08:18,401] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '580a0990-b526-4f14-9566-abaefcdfb6cc', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '580a0990-b526-4f14-9566-abaefcdfb6cc', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:18 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:08:23,619] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f11ed820-aedb-4959-b465-7c9aecede1a8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f11ed820-aedb-4959-b465-7c9aecede1a8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:23 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:08:28,834] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'ee688212-5fd2-4acd-be5f-6b4364bd804e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ee688212-5fd2-4acd-be5f-6b4364bd804e', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:28 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:08:34,094] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '992dd800-0106-4aa9-a0b1-58a87dc5613a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '992dd800-0106-4aa9-a0b1-58a87dc5613a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:33 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:08:39,301] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '937482d0-0f6a-4a44-a2f6-b542b90bda6a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '937482d0-0f6a-4a44-a2f6-b542b90bda6a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:38 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:08:44,500] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'd9ae43bd-fb78-450c-96fa-9055b94bb7c7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd9ae43bd-fb78-450c-96fa-9055b94bb7c7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:43 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:08:49,727] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'fe95e509-523b-4d93-bff2-5f2b23c5ad4b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'fe95e509-523b-4d93-bff2-5f2b23c5ad4b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:49 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:08:54,946] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '409dbc90-471e-4f12-b1ec-35744833c155', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '409dbc90-471e-4f12-b1ec-35744833c155', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:54 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:09:00,168] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '0591426c-766a-4f38-a9a2-c4a51356fc0a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '0591426c-766a-4f38-a9a2-c4a51356fc0a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:08:59 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:09:05,389] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2f251fea-9e09-41db-91b4-804c16333322', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2f251fea-9e09-41db-91b4-804c16333322', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:05 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:09:10,593] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b3fdf3b8-11d3-4fe9-8ca5-a276fc6d6b81', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b3fdf3b8-11d3-4fe9-8ca5-a276fc6d6b81', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:09 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:09:15,808] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c730c505-b777-45a0-a6b8-8fd72b815383', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c730c505-b777-45a0-a6b8-8fd72b815383', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:15 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:09:21,058] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '581e6d5d-537d-42b4-b4d4-f5f22cc25ac4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '581e6d5d-537d-42b4-b4d4-f5f22cc25ac4', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:20 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:09:26,286] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e5de734c-1962-4dfa-9dc0-e920d6aca087', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e5de734c-1962-4dfa-9dc0-e920d6aca087', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:25 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:09:31,529] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c34be0bd-5fef-4045-8318-2aaa12dd1ad8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c34be0bd-5fef-4045-8318-2aaa12dd1ad8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:31 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:09:36,734] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'be676eed-6db8-40fa-832a-1cb67b6faf54', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'be676eed-6db8-40fa-832a-1cb67b6faf54', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:35 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:09:41,954] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '4c2e1870-eb83-4a3e-8ce6-088fea4a0f1b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '4c2e1870-eb83-4a3e-8ce6-088fea4a0f1b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:41 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:09:47,163] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e95e63b5-bb39-4223-80ab-1f767ce40b77', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e95e63b5-bb39-4223-80ab-1f767ce40b77', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:47 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:09:52,386] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'd299d5aa-3d02-4c14-bb4e-9b23d5fed812', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd299d5aa-3d02-4c14-bb4e-9b23d5fed812', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:52 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:09:57,603] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a0689dec-0b5e-4cdc-a13c-c9473e14a01b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a0689dec-0b5e-4cdc-a13c-c9473e14a01b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:09:56 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:10:02,817] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '21c3b99d-3449-46fc-b495-bfab677575d5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '21c3b99d-3449-46fc-b495-bfab677575d5', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:02 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:10:08,015] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '47dabcfc-5fc1-4830-abd8-a435425d3f46', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '47dabcfc-5fc1-4830-abd8-a435425d3f46', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:07 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:10:13,266] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'd4c54a20-3af6-4f58-a4ba-6f984afcaaaf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd4c54a20-3af6-4f58-a4ba-6f984afcaaaf', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:12 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:10:18,494] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c7110e0f-830b-4388-bdc1-d39aa7b8793f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c7110e0f-830b-4388-bdc1-d39aa7b8793f', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:17 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:10:23,714] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2165a844-887c-44f8-a33a-1cc1cca9101d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2165a844-887c-44f8-a33a-1cc1cca9101d', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:23 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:10:28,921] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '3e1f42d2-73f0-4ab4-ab07-c30df872efee', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '3e1f42d2-73f0-4ab4-ab07-c30df872efee', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:28 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:10:34,143] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '51ecfef0-62e2-4234-b114-b5b3cbba1618', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '51ecfef0-62e2-4234-b114-b5b3cbba1618', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:33 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:10:39,398] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '6cfaf92f-0c53-44cf-ab02-73095c79b160', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '6cfaf92f-0c53-44cf-ab02-73095c79b160', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:39 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:10:44,608] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '59633462-0d24-4e02-bcfc-8329a58767c7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '59633462-0d24-4e02-bcfc-8329a58767c7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:44 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:10:50,063] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'af391216-5c8c-4846-8ed3-a6946c5a4181', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'af391216-5c8c-4846-8ed3-a6946c5a4181', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:49 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:10:55,284] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8edc0127-a2db-491f-9887-1da165bda6e2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8edc0127-a2db-491f-9887-1da165bda6e2', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:54 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:11:00,517] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2c2a1ba3-dc3c-43ce-881b-5e0698716cf8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2c2a1ba3-dc3c-43ce-881b-5e0698716cf8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:10:59 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:11:05,719] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '315ec6bd-7989-46a5-a667-f4276a1f5d85', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '315ec6bd-7989-46a5-a667-f4276a1f5d85', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:05 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:11:10,923] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '293e4255-b7f3-4588-b6cc-e2c7fd420b13', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '293e4255-b7f3-4588-b6cc-e2c7fd420b13', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:10 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:11:16,138] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f5322a60-4478-4d7c-901e-c504ee1723ed', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f5322a60-4478-4d7c-901e-c504ee1723ed', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:15 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:11:21,351] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '1568217a-e4e2-45ee-b689-49f6838f31d1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '1568217a-e4e2-45ee-b689-49f6838f31d1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:20 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:11:26,572] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '66275155-495e-4308-bd78-808a82ef5119', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '66275155-495e-4308-bd78-808a82ef5119', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:25 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:11:31,823] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '0d01f956-1a0e-4ae3-8cb4-226b3c25abf7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '0d01f956-1a0e-4ae3-8cb4-226b3c25abf7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:31 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:11:37,034] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '641309ec-870a-4356-b5bd-af1154dd144f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '641309ec-870a-4356-b5bd-af1154dd144f', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:36 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:11:42,257] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8a7aa9a6-37a8-42c5-aca5-53d4c15bd58a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8a7aa9a6-37a8-42c5-aca5-53d4c15bd58a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:41 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:11:47,470] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '0fd1de83-2a4e-464e-b63d-f1f9bc43db62', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '0fd1de83-2a4e-464e-b63d-f1f9bc43db62', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:47 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:11:52,692] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '61ab943c-a3f8-4125-8344-26a1fb125352', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '61ab943c-a3f8-4125-8344-26a1fb125352', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:52 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:11:57,956] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '885d662c-6ee8-4a86-a11e-66f53a9516b4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '885d662c-6ee8-4a86-a11e-66f53a9516b4', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:11:57 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:12:03,156] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b99999b9-5b0e-4d33-9a3a-aa9f29a0c0f6', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b99999b9-5b0e-4d33-9a3a-aa9f29a0c0f6', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:02 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:12:08,370] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '14144ca3-699d-401b-a397-bef9b7ec821c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '14144ca3-699d-401b-a397-bef9b7ec821c', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:07 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:12:13,576] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '4f868501-ca68-45c2-b132-f3c9ee846851', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '4f868501-ca68-45c2-b132-f3c9ee846851', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:12 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:12:18,783] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '9763197c-407f-4e36-8c5f-d13ce89f2493', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '9763197c-407f-4e36-8c5f-d13ce89f2493', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:18 GMT'}, 'RetryAttempts': 0}}
|[2020-01-22 17:12:23,998] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a76c07f5-5537-41c7-aad2-0a168cd34984', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a76c07f5-5537-41c7-aad2-0a168cd34984', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:23 GMT'}, 'RetryAttempts': 0}}
/[2020-01-22 17:12:29,219] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '62c6bb6c-fb28-4d04-8dd9-36fbdf1b882a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '62c6bb6c-fb28-4d04-8dd9-36fbdf1b882a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:28 GMT'}, 'RetryAttempts': 0}}
-[2020-01-22 17:12:34,417] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '546bfd62-fd21-414b-882b-aa38e06fcf63', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '546bfd62-fd21-414b-882b-aa38e06fcf63', 'content-type': 'application/x-amz-json-1.1', 'content-length': '303', 'date': 'Thu, 23 Jan 2020 01:12:33 GMT'}, 'RetryAttempts': 0}}
\[2020-01-22 17:12:39,658] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-light-bgm', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm', 'EndpointConfigName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'ProductionVariants': [{'VariantName': 'dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A', 'DeployedImages': [{'SpecifiedImage': '192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A', 'ResolvedImage': '192023623294.dkr.ecr.us-west-2.amazonaws.com/[email protected]:878340123880c3da4859a61d8898d2a6766b320141f03e25c1c056ff23a2a459', 'ResolutionTime': datetime.datetime(2020, 1, 22, 17, 5, 26, 617000, tzinfo=tzlocal())}], 'CurrentWeight': 1.0, 'DesiredWeight': 1.0, 'CurrentInstanceCount': 1, 'DesiredInstanceCount': 1}], 'EndpointStatus': 'InService', 'CreationTime': datetime.datetime(2020, 1, 22, 17, 5, 24, 56000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 22, 17, 12, 38, 539000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '5bf734ce-ce38-485e-976b-61c6a9c88bc7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '5bf734ce-ce38-485e-976b-61c6a9c88bc7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '857', 'date': 'Thu, 23 Jan 2020 01:12:39 GMT'}, 'RetryAttempts': 0}}
Successfully created AWS Sagemaker deployment first-light-bgm
{
  "namespace": "dev",
  "name": "first-light-bgm",
  "spec": {
    "bentoName": "TitanicSurvivalPredictionService",
    "bentoVersion": "20200122154116_FCEE7A",
    "operator": "AWS_SAGEMAKER",
    "sagemakerOperatorConfig": {
      "region": "us-west-2",
      "instanceType": "ml.m4.xlarge",
      "instanceCount": 1,
      "apiName": "predict"
    }
  },
  "state": {
    "state": "RUNNING",
    "infoJson": {
      "EndpointName": "dev-first-light-bgm",
      "EndpointArn": "arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm",
      "EndpointConfigName": "dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A",
      "ProductionVariants": [
        {
          "VariantName": "dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A",
          "DeployedImages": [
            {
              "SpecifiedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A",
              "ResolvedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/[email protected]:878340123880c3da4859a61d8898d2a6766b320141f03e25c1c056ff23a2a459",
              "ResolutionTime": "2020-01-22 17:05:26.617000-08:00"
            }
          ],
          "CurrentWeight": 1.0,
          "DesiredWeight": 1.0,
          "CurrentInstanceCount": 1,
          "DesiredInstanceCount": 1
        }
      ],
      "EndpointStatus": "InService",
      "CreationTime": "2020-01-22 17:05:24.056000-08:00",
      "LastModifiedTime": "2020-01-22 17:12:38.539000-08:00",
      "ResponseMetadata": {
        "RequestId": "5bf734ce-ce38-485e-976b-61c6a9c88bc7",
        "HTTPStatusCode": 200,
        "HTTPHeaders": {
          "x-amzn-requestid": "5bf734ce-ce38-485e-976b-61c6a9c88bc7",
          "content-type": "application/x-amz-json-1.1",
          "content-length": "857",
          "date": "Thu, 23 Jan 2020 01:12:39 GMT"
        },
        "RetryAttempts": 0
      }
    },
    "timestamp": "2020-01-23T01:12:39.659065Z"
  },
  "createdAt": "2020-01-23T00:59:41.134425Z",
  "lastUpdatedAt": "2020-01-23T00:59:41.134465Z"
}

Use bentoml sagemaker get DEPLOYMENT_NAME to get latest state and other information such as endpoint

In [25]:
!bentoml sagemaker get first-light-bgm
{
  "namespace": "dev",
  "name": "first-light-bgm",
  "spec": {
    "bentoName": "TitanicSurvivalPredictionService",
    "bentoVersion": "20200122154116_FCEE7A",
    "operator": "AWS_SAGEMAKER",
    "sagemakerOperatorConfig": {
      "region": "us-west-2",
      "instanceType": "ml.m4.xlarge",
      "instanceCount": 1,
      "apiName": "predict"
    }
  },
  "state": {
    "state": "RUNNING",
    "infoJson": {
      "EndpointName": "dev-first-light-bgm",
      "EndpointArn": "arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-light-bgm",
      "EndpointConfigName": "dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A",
      "ProductionVariants": [
        {
          "VariantName": "dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A",
          "DeployedImages": [
            {
              "SpecifiedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/titanicsurvivalpredictionservice-sagemaker:20200122154116_FCEE7A",
              "ResolvedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/[email protected]:878340123880c3da4859a61d8898d2a6766b320141f03e25c1c056ff23a2a459",
              "ResolutionTime": "2020-01-22 17:05:26.617000-08:00"
            }
          ],
          "CurrentWeight": 1.0,
          "DesiredWeight": 1.0,
          "CurrentInstanceCount": 1,
          "DesiredInstanceCount": 1
        }
      ],
      "EndpointStatus": "InService",
      "CreationTime": "2020-01-22 17:05:24.056000-08:00",
      "LastModifiedTime": "2020-01-22 17:12:38.539000-08:00",
      "ResponseMetadata": {
        "RequestId": "3eda8b6d-affe-4ef4-9696-020fa716083b",
        "HTTPStatusCode": 200,
        "HTTPHeaders": {
          "x-amzn-requestid": "3eda8b6d-affe-4ef4-9696-020fa716083b",
          "content-type": "application/x-amz-json-1.1",
          "content-length": "857",
          "date": "Thu, 23 Jan 2020 01:13:19 GMT"
        },
        "RetryAttempts": 0
      }
    },
    "timestamp": "2020-01-23T01:13:19.544150Z"
  },
  "createdAt": "2020-01-23T00:59:41.134425Z",
  "lastUpdatedAt": "2020-01-23T00:59:41.134465Z"
}

Test our sagemaker deployment with a sample data

In [29]:
!aws sagemaker-runtime invoke-endpoint --endpoint-name dev-first-light-bgm \
  --body '{"PassengerId":{"3":895},"Pclass":{"3":3},"Name":{"3":"Wirz, Mr. Albert"},"Sex":{"3":"male"},"Age":{"3":27.0},"SibSp":{"3":0},"Parch":{"3":0},"Ticket":{"3":"315154"},"Fare":{"3":8.6625},"Cabin":{"3":null},"Embarked":{"3":"S"},"pred":{"3":0.5045963287}}' \
  --content-type "application/json" \
  output.json && cat output.json
{
    "ContentType": "application/json",
    "InvokedProductionVariant": "dev-first-light--TitanicSurvivalPredi-20200122154116-FCEE7A"
}
[0.5045963286563061]

bentoml sagemaker list command provides an overview of all of the Sagemaker deployments

In [30]:
!bentoml sagemaker list
NAME             NAMESPACE    LABELS    PLATFORM       STATUS    AGE
first-light-bgm  dev                    aws-sagemaker  running   14 minutes and 37 seconds

bentoml sagemaker delete deletes the sagemaker deployment and related resources on AWS

In [31]:
!bentoml sagemaker delete first-light-bgm
Successfully deleted AWS Sagemaker deployment "first-light-bgm"
In [ ]: