Basic classification: Classify images of clothing

A tensorflow serving style service example using BentoML

Impression

In [14]:
%reload_ext autoreload
%autoreload 2
%matplotlib inline
In [15]:
from __future__ import absolute_import, division, print_function, unicode_literals

import io

# TensorFlow
import tensorflow as tf

# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
print(tf.__version__)
2.0.0
In [16]:
fashion_mnist = tf.keras.datasets.fashion_mnist
(_train_images, train_labels), (_test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
train_images = _train_images / 255.0
test_images = _test_images / 255.0
In [17]:
class FashionMnist(tf.keras.Model):
    def __init__(self):
        super(FashionMnist, self).__init__()
        self.cnn = tf.keras.Sequential([
            tf.keras.layers.Flatten(input_shape=(28, 28)),
            tf.keras.layers.Dense(128, activation='relu'),
            tf.keras.layers.Dense(10, activation='softmax')
        ])
    
    @staticmethod
    def image_bytes2tensor(inputs):
        inputs = tf.map_fn(lambda i: tf.io.decode_png(i, channels=1), inputs, dtype=tf.uint8)
        inputs = tf.cast(inputs, tf.float32)
        inputs = (255.0 - inputs) / 255.0
        inputs = tf.reshape(inputs, [-1, 28, 28])
        return inputs

    @tf.function
    def predict_image(self, inputs):
        inputs = self.image_bytes2tensor(inputs)
        return self(inputs)
    
    def call(self, inputs):
        return self.cnn(inputs)

test the image preprocessing

In [18]:
# pick up a test image
d_test_img = _test_images[0]
print(class_names[test_labels[0]])

plt.imshow(255.0 - d_test_img, cmap='gray')
plt.imsave("test.png", 255.0 - d_test_img, cmap='gray')

# read bytes
with open("test.png", "rb") as f:
    img_bytes = f.read()

# verify saved image
assert tf.reduce_mean(FashionMnist.image_bytes2tensor(tf.constant([img_bytes])) - d_test_img) < 0.01
Ankle boot

train the model

In [19]:
model = FashionMnist()
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=1)
Train on 60000 samples
60000/60000 [==============================] - 3s 58us/sample - loss: 0.4996 - accuracy: 0.8253
Out[19]:
<tensorflow.python.keras.callbacks.History at 0x111769358>

test the model

In [20]:
predict = model.predict_image(tf.constant([img_bytes]))
klass = tf.argmax(predict, axis=1)[0]
class_names[klass]
Out[20]:
'Ankle boot'

And the model predicts a label as expected.

Define & save BentoService

In [21]:
%%writefile tensorflow_fashion_mnist.py

import bentoml
import tensorflow as tf
import numpy as np
from PIL import Image

from bentoml.artifact import (
    TensorflowSavedModelArtifact,
)
from bentoml.handlers import TensorflowTensorHandler


FASHION_MNIST_CLASSES = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']


@bentoml.env(pip_dependencies=['tensorflow', 'numpy', 'pillow'])
@bentoml.artifacts([TensorflowSavedModelArtifact('model')])
class FashionMnistTensorflow(bentoml.BentoService):

    @bentoml.api(TensorflowTensorHandler)
    def predict(self, inputs):
        outputs = self.artifacts.model.predict_image(inputs)
        output_classes = tf.math.argmax(outputs, axis=1)
        return FASHION_MNIST_CLASSES[output_classes[0]]
Overwriting tensorflow_fashion_mnist.py
In [22]:
from tensorflow_fashion_mnist import FashionMnistTensorflow

bento_svc = FashionMnistTensorflow()
bento_svc.pack("model", model)
saved_path = bento_svc.save()
WARNING: Logging before flag parsing goes to stderr.
W0124 14:54:09.307845 4577369536 deprecation.py:506] From /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages/tensorflow_core/python/ops/resource_variable_ops.py:1781: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.
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'
no previously-included directories found matching 'examples'
no previously-included directories found matching 'tests'
no previously-included directories found matching 'docs'
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
writing manifest file 'BentoML.egg-info/SOURCES.txt'
running check
warning: check: missing meta-data: if 'author' supplied, 'author_email' must be supplied too

creating BentoML-0.6.1
creating BentoML-0.6.1/BentoML.egg-info
creating BentoML-0.6.1/bentoml
creating BentoML-0.6.1/bentoml/artifact
creating BentoML-0.6.1/bentoml/bundler
creating BentoML-0.6.1/bentoml/cli
creating BentoML-0.6.1/bentoml/clipper
creating BentoML-0.6.1/bentoml/configuration
creating BentoML-0.6.1/bentoml/deployment
creating BentoML-0.6.1/bentoml/deployment/aws_lambda
creating BentoML-0.6.1/bentoml/deployment/sagemaker
creating BentoML-0.6.1/bentoml/handlers
creating BentoML-0.6.1/bentoml/migrations
creating BentoML-0.6.1/bentoml/migrations/versions
creating BentoML-0.6.1/bentoml/proto
creating BentoML-0.6.1/bentoml/repository
creating BentoML-0.6.1/bentoml/server
creating BentoML-0.6.1/bentoml/server/static
creating BentoML-0.6.1/bentoml/utils
creating BentoML-0.6.1/bentoml/utils/validator
creating BentoML-0.6.1/bentoml/yatai
creating BentoML-0.6.1/bentoml/yatai/client
copying files to BentoML-0.6.1...
copying LICENSE -> BentoML-0.6.1
copying MANIFEST.in -> BentoML-0.6.1
copying README.md -> BentoML-0.6.1
copying pyproject.toml -> BentoML-0.6.1
copying setup.cfg -> BentoML-0.6.1
copying setup.py -> BentoML-0.6.1
copying versioneer.py -> BentoML-0.6.1
copying BentoML.egg-info/PKG-INFO -> BentoML-0.6.1/BentoML.egg-info
copying BentoML.egg-info/SOURCES.txt -> BentoML-0.6.1/BentoML.egg-info
copying BentoML.egg-info/dependency_links.txt -> BentoML-0.6.1/BentoML.egg-info
copying BentoML.egg-info/entry_points.txt -> BentoML-0.6.1/BentoML.egg-info
copying BentoML.egg-info/requires.txt -> BentoML-0.6.1/BentoML.egg-info
copying BentoML.egg-info/top_level.txt -> BentoML-0.6.1/BentoML.egg-info
copying bentoml/__init__.py -> BentoML-0.6.1/bentoml
copying bentoml/_version.py -> BentoML-0.6.1/bentoml
copying bentoml/alembic.ini -> BentoML-0.6.1/bentoml
copying bentoml/db.py -> BentoML-0.6.1/bentoml
copying bentoml/exceptions.py -> BentoML-0.6.1/bentoml
copying bentoml/service.py -> BentoML-0.6.1/bentoml
copying bentoml/service_env.py -> BentoML-0.6.1/bentoml
copying bentoml/artifact/__init__.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/fastai_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/h2o_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/keras_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/lightgbm_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/pickle_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/pytorch_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/sklearn_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/text_file_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/tf_savedmodel_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/artifact/xgboost_model_artifact.py -> BentoML-0.6.1/bentoml/artifact
copying bentoml/bundler/__init__.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/bundler/bundler.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/bundler/config.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/bundler/loader.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/bundler/py_module_utils.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/bundler/templates.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/bundler/utils.py -> BentoML-0.6.1/bentoml/bundler
copying bentoml/cli/__init__.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/aws_lambda.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/aws_sagemaker.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/bento.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/click_utils.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/config.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/deployment.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/cli/utils.py -> BentoML-0.6.1/bentoml/cli
copying bentoml/clipper/__init__.py -> BentoML-0.6.1/bentoml/clipper
copying bentoml/configuration/__init__.py -> BentoML-0.6.1/bentoml/configuration
copying bentoml/configuration/configparser.py -> BentoML-0.6.1/bentoml/configuration
copying bentoml/configuration/default_bentoml.cfg -> BentoML-0.6.1/bentoml/configuration
copying bentoml/deployment/__init__.py -> BentoML-0.6.1/bentoml/deployment
copying bentoml/deployment/operator.py -> BentoML-0.6.1/bentoml/deployment
copying bentoml/deployment/store.py -> BentoML-0.6.1/bentoml/deployment
copying bentoml/deployment/utils.py -> BentoML-0.6.1/bentoml/deployment
copying bentoml/deployment/aws_lambda/__init__.py -> BentoML-0.6.1/bentoml/deployment/aws_lambda
copying bentoml/deployment/aws_lambda/download_extra_resources.py -> BentoML-0.6.1/bentoml/deployment/aws_lambda
copying bentoml/deployment/aws_lambda/lambda_app.py -> BentoML-0.6.1/bentoml/deployment/aws_lambda
copying bentoml/deployment/aws_lambda/utils.py -> BentoML-0.6.1/bentoml/deployment/aws_lambda
copying bentoml/deployment/sagemaker/__init__.py -> BentoML-0.6.1/bentoml/deployment/sagemaker
copying bentoml/deployment/sagemaker/sagemaker_nginx.conf -> BentoML-0.6.1/bentoml/deployment/sagemaker
copying bentoml/deployment/sagemaker/sagemaker_serve.py -> BentoML-0.6.1/bentoml/deployment/sagemaker
copying bentoml/deployment/sagemaker/sagemaker_wsgi.py -> BentoML-0.6.1/bentoml/deployment/sagemaker
copying bentoml/handlers/__init__.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/base_handlers.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/clipper_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/dataframe_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/fastai_image_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/image_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/json_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/pytorch_tensor_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/tensorflow_tensor_handler.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/handlers/utils.py -> BentoML-0.6.1/bentoml/handlers
copying bentoml/migrations/README -> BentoML-0.6.1/bentoml/migrations
copying bentoml/migrations/env.py -> BentoML-0.6.1/bentoml/migrations
copying bentoml/migrations/script.py.mako -> BentoML-0.6.1/bentoml/migrations
copying bentoml/migrations/versions/a6b00ae45279_add_last_updated_at_for_deployments.py -> BentoML-0.6.1/bentoml/migrations/versions
copying bentoml/proto/__init__.py -> BentoML-0.6.1/bentoml/proto
copying bentoml/proto/deployment_pb2.py -> BentoML-0.6.1/bentoml/proto
copying bentoml/proto/repository_pb2.py -> BentoML-0.6.1/bentoml/proto
copying bentoml/proto/status_pb2.py -> BentoML-0.6.1/bentoml/proto
copying bentoml/proto/yatai_service_pb2.py -> BentoML-0.6.1/bentoml/proto
copying bentoml/proto/yatai_service_pb2_grpc.py -> BentoML-0.6.1/bentoml/proto
copying bentoml/repository/__init__.py -> BentoML-0.6.1/bentoml/repository
copying bentoml/repository/metadata_store.py -> BentoML-0.6.1/bentoml/repository
copying bentoml/server/__init__.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/bento_api_server.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/bento_sagemaker_server.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/gunicorn_config.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/gunicorn_server.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/middlewares.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/utils.py -> BentoML-0.6.1/bentoml/server
copying bentoml/server/static/swagger-ui-bundle.js -> BentoML-0.6.1/bentoml/server/static
copying bentoml/server/static/swagger-ui.css -> BentoML-0.6.1/bentoml/server/static
copying bentoml/utils/__init__.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/cloudpickle.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/hybirdmethod.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/log.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/s3.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/tempdir.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/usage_stats.py -> BentoML-0.6.1/bentoml/utils
copying bentoml/utils/validator/__init__.py -> BentoML-0.6.1/bentoml/utils/validator
copying bentoml/yatai/__init__.py -> BentoML-0.6.1/bentoml/yatai
copying bentoml/yatai/deployment_utils.py -> BentoML-0.6.1/bentoml/yatai
copying bentoml/yatai/status.py -> BentoML-0.6.1/bentoml/yatai
copying bentoml/yatai/yatai_service_impl.py -> BentoML-0.6.1/bentoml/yatai
copying bentoml/yatai/client/__init__.py -> BentoML-0.6.1/bentoml/yatai/client
copying bentoml/yatai/client/bento_repository_api.py -> BentoML-0.6.1/bentoml/yatai/client
copying bentoml/yatai/client/deployment_api.py -> BentoML-0.6.1/bentoml/yatai/client
Writing BentoML-0.6.1/setup.cfg
UPDATING BentoML-0.6.1/bentoml/_version.py
set BentoML-0.6.1/bentoml/_version.py to '0.6.1'
Creating tar archive
removing 'BentoML-0.6.1' (and everything under it)
[2020-01-24 14:54:28,199] INFO - BentoService bundle 'FashionMnistTensorflow:20200124145408_3B6770' created at: /private/var/folders/kn/xnc9k74x03567n1mx2tfqnpr0000gn/T/bentoml-temp-mxqeotoi
[2020-01-24 14:54:28,282] INFO - BentoService bundle 'FashionMnistTensorflow:20200124145408_3B6770' created at: /Users/bozhaoyu/bentoml/repository/FashionMnistTensorflow/20200124145408_3B6770

Use BentoService with BentoML CLI

bentoml get <BentoService Name> list all of BentoService's versions

In [23]:
!bentoml get FashionMnistTensorflow
BENTO_SERVICE                                 CREATED_AT        APIS                              ARTIFACTS
FashionMnistTensorflow:20200124145408_3B6770  2020-01-24 22:54  predict::TensorflowTensorHandler  model::TensorflowSavedModelArtifact
FashionMnistTensorflow:20200123170321_A5B632  2020-01-24 01:03  predict::TensorflowTensorHandler  model::TensorflowSavedModelArtifact
FashionMnistTensorflow:20200123104656_1FC32A  2020-01-23 18:47  predict::TensorflowTensorHandler  model::TensorflowSavedModelArtifact

bentoml get <BentoService name>:<bentoService version> display detailed information of the specific BentoService version

In [24]:
!bentoml get FashionMnistTensorflow:20200124145408_3B6770
{
  "name": "FashionMnistTensorflow",
  "version": "20200124145408_3B6770",
  "uri": {
    "type": "LOCAL",
    "uri": "/Users/bozhaoyu/bentoml/repository/FashionMnistTensorflow/20200124145408_3B6770"
  },
  "bentoServiceMetadata": {
    "name": "FashionMnistTensorflow",
    "version": "20200124145408_3B6770",
    "createdAt": "2020-01-24T22:54:26.219770Z",
    "env": {
      "condaEnv": "name: bentoml-FashionMnistTensorflow\nchannels:\n- defaults\ndependencies:\n- python=3.7.3\n- pip\n",
      "pipDependencies": "bentoml==0.6.1\ntensorflow\nnumpy\npillow",
      "pythonVersion": "3.7.3"
    },
    "artifacts": [
      {
        "name": "model",
        "artifactType": "TensorflowSavedModelArtifact"
      }
    ],
    "apis": [
      {
        "name": "predict",
        "handlerType": "TensorflowTensorHandler",
        "docs": "BentoService API"
      }
    ]
  }
}

Serve bentoml REST server locally

In [25]:
!bentoml serve {saved_path} --port 8890
2020-01-24 14:59:17.459820: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-01-24 14:59:17.480241: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fbefa04a600 executing computations on platform Host. Devices:
2020-01-24 14:59:17.480260: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
 * Serving Flask app "FashionMnistTensorflow" (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
WARNING: Logging before flag parsing goes to stderr.
I0124 14:59:17.771595 4622708160 _internal.py:122]  * Running on http://127.0.0.1:8890/ (Press CTRL+C to quit)
^C

query REST API with python

In [26]:
import base64
import json
import requests

with open("test.png", "rb") as f:
    img_bytes = f.read()
img_b64 = base64.b64encode(img_bytes).decode()


headers = {"content-type": "application/json"}
data = json.dumps(
       {"instances": [{"b64": img_b64}]}
)
print('Data: {} ... {}'.format(data[:50], data[len(data)-52:]))

json_response = requests.post(f'http://localhost:8890/predict', data=data, headers=headers)
print(json_response)
print(json_response.text)
Data: {"instances": [{"b64": "iVBORw0KGgoAAAANSUhEUgAAAB ... ufkz8DPG//sD/AX8I8DvdgnOxdB4B1wAAAAASUVORK5CYII="}]}
<Response [200]>
{"predictions": "Ankle boot"}

Use BentoService as PyPI package

pip install $SAVED_PATH also installs a CLI tool for accessing the BentoML service

In [22]:
import os
import sys

kernel_path = f"{sys.exec_prefix}/bin"
local_path = f"{os.environ['HOME']}/.local/bin"

if kernel_path not in os.environ['PATH']:
    os.environ['PATH'] = f"{kernel_path}:{os.environ['PATH']}"

if local_path not in os.environ['PATH']:
    os.environ['PATH'] = f"{local_path}:{os.environ['PATH']}"

!which pip
/opt/anaconda3/envs/bentoml-dev/bin/pip
In [17]:
!pip install {saved_path}
Processing /Users/bozhaoyu/bentoml/repository/FashionMnistTensorflow/20200123104656_1FC32A
Requirement already satisfied: bentoml==0.6.0 in /Users/bozhaoyu/src/bento (from FashionMnistTensorflow===20200123104656-1FC32A) (0.6.0)
Requirement already satisfied: tensorflow in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from FashionMnistTensorflow===20200123104656-1FC32A) (2.0.0)
Requirement already satisfied: numpy in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from FashionMnistTensorflow===20200123104656-1FC32A) (1.16.4)
Requirement already satisfied: ruamel.yaml>=0.15.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.15.99)
Requirement already satisfied: flask in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.0.4)
Requirement already satisfied: gunicorn in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (19.9.0)
Requirement already satisfied: click>=7.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (7.0)
Requirement already satisfied: pandas in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.24.2)
Requirement already satisfied: prometheus_client in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.7.1)
Requirement already satisfied: python-json-logger in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.1.11)
Requirement already satisfied: boto3 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.10.42)
Requirement already satisfied: requests in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2.22.0)
Requirement already satisfied: packaging in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (19.0)
Requirement already satisfied: docker in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (4.1.0)
Requirement already satisfied: configparser in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (3.7.4)
Requirement already satisfied: sqlalchemy>=1.3.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.3.6)
Requirement already satisfied: protobuf>=3.6.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (3.7.0)
Requirement already satisfied: grpcio in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.22.0)
Requirement already satisfied: cerberus in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.3.1)
Requirement already satisfied: tabulate in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.8.3)
Requirement already satisfied: humanfriendly in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (4.18)
Requirement already satisfied: alembic in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.2.1)
Requirement already satisfied: python-dateutil<2.8.1,>=2.1 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2.8.0)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (3.1.0)
Requirement already satisfied: tensorflow-estimator<2.1.0,>=2.0.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (2.0.1)
Requirement already satisfied: keras-applications>=1.0.8 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.0.8)
Requirement already satisfied: tensorboard<2.1.0,>=2.0.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (2.0.2)
Requirement already satisfied: keras-preprocessing>=1.0.5 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.0.9)
Requirement already satisfied: six>=1.10.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.14.0)
Requirement already satisfied: wrapt>=1.11.1 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.11.1)
Requirement already satisfied: wheel>=0.26 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.33.6)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.1.0)
Requirement already satisfied: astor>=0.6.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.7.1)
Requirement already satisfied: gast==0.2.2 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.2.2)
Requirement already satisfied: google-pasta>=0.1.6 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.1.8)
Requirement already satisfied: absl-py>=0.7.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.7.1)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from flask->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.1.0)
Requirement already satisfied: Werkzeug>=0.14 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from flask->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.15.4)
Requirement already satisfied: Jinja2>=2.10 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from flask->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2.10.1)
Requirement already satisfied: pytz>=2011k in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from pandas->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2019.1)
Requirement already satisfied: botocore<1.14.0,>=1.13.42 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from boto3->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.13.42)
Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from boto3->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.9.4)
Requirement already satisfied: s3transfer<0.3.0,>=0.2.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from boto3->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.2.1)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from requests->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.24.1)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from requests->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2019.11.28)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from requests->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from requests->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (3.0.4)
Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from packaging->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (2.4.0)
Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from docker->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.57.0)
Requirement already satisfied: setuptools in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from protobuf>=3.6.0->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (45.1.0.post20200119)
Requirement already satisfied: Mako in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from alembic->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.1.0)
Requirement already satisfied: python-editor>=0.3 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from alembic->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.0.4)
Requirement already satisfied: h5py in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from keras-applications>=1.0.8->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (2.9.0)
Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.6.3)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.4.1)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (3.1)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from Jinja2>=2.10->flask->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (1.1.1)
Requirement already satisfied: docutils<0.16,>=0.10 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from botocore<1.14.0,>=1.13.42->boto3->bentoml==0.6.0->FashionMnistTensorflow===20200123104656-1FC32A) (0.15.2)
Requirement already satisfied: rsa>=3.1.4 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (4.0)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.2.5)
Requirement already satisfied: cachetools>=2.0.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (3.1.1)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (1.2.0)
Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from rsa>=3.1.4->google-auth<2,>=1.6.3->tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (0.4.5)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/anaconda3/envs/dev-py3/lib/python3.7/site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.1.0,>=2.0.0->tensorflow->FashionMnistTensorflow===20200123104656-1FC32A) (3.0.1)
Building wheels for collected packages: FashionMnistTensorflow
  Building wheel for FashionMnistTensorflow (setup.py) ... done
  Created wheel for FashionMnistTensorflow: filename=FashionMnistTensorflow-20200123104656_1FC32A-cp37-none-any.whl size=1275731 sha256=f0fdef83f61bca3be9d157b5a49c862bde03eb68199c923be3edcccbba2b628e
  Stored in directory: /private/var/folders/kn/xnc9k74x03567n1mx2tfqnpr0000gn/T/pip-ephem-wheel-cache-rz7um0mb/wheels/3e/ab/28/0bafdaa7cd565a3939bd8a7b20bfae9ba76ee5268a5eb7659d
Successfully built FashionMnistTensorflow
Installing collected packages: FashionMnistTensorflow
  Found existing installation: FashionMnistTensorflow 20200123104656-1FC32A
    Uninstalling FashionMnistTensorflow-20200123104656-1FC32A:
      Successfully uninstalled FashionMnistTensorflow-20200123104656-1FC32A
Successfully installed FashionMnistTensorflow-20200123104656-1FC32A
In [18]:
!FashionMnistTensorflow info
{
  "name": "FashionMnistTensorflow",
  "version": "20200123104656_1FC32A",
  "created_at": "2020-01-23T18:47:16.739499Z",
  "env": {
    "conda_env": "name: bentoml-FashionMnistTensorflow\nchannels:\n- defaults\ndependencies:\n- python=3.7.3\n- pip\n",
    "pip_dependencies": "bentoml==0.6.0\ntensorflow\nnumpy",
    "python_version": "3.7.3"
  },
  "artifacts": [
    {
      "name": "model",
      "artifact_type": "TensorflowSavedModelArtifact"
    }
  ],
  "apis": [
    {
      "name": "predict",
      "handler_type": "TensorflowTensorHandler",
      "docs": "BentoService API"
    }
  ]
}

Run 'predict' api with json data:

In [24]:
!echo '{\"instances\":[{\"b64\":\"'$(base64 test.png)'\"}]}' > test.json
!cat test.json | xargs -I {} FashionMNISTServicer predict --input={}
[2019-12-21 13:52:09,960] 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.2. 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}'
[2019-12-21 13:52:09,969] WARNING - Saved BentoService bundle version mismatch: loading BentoServie bundle create with BentoML version 0.5.2,  but loading from BentoML version 0.5.2+38.g5342a8b
[2019-12-21 13:52:09,971] 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.2. 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}'
2019-12-21 13:52:10.024698: I tensorflow/core/platform/cpu_feature_guard.cc:145] This TensorFlow binary is optimized with Intel(R) MKL-DNN to use the following CPU instructions in performance critical operations:  SSE4.1 SSE4.2 AVX AVX2 FMA
To enable them in non-MKL-DNN operations, rebuild TensorFlow with the appropriate compiler flags.
2019-12-21 13:52:10.047979: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2712000000 Hz
2019-12-21 13:52:10.048294: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x562b2cd36430 executing computations on platform Host. Devices:
2019-12-21 13:52:10.048314: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
2019-12-21 13:52:10.048780: I tensorflow/core/common_runtime/process_util.cc:115] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
[2019-12-21 13:52:10,231] 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.2. 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}'
Ankle boot

Build realtime prediction service in docker with BentoService

In [9]:
!cd {saved_path} && docker build -t tensorflow2-fashion-mnist .
Sending build context to Docker daemon  2.341MB
Step 1/12 : FROM continuumio/miniconda3:4.7.12
 ---> 406f2b43ea59
Step 2/12 : ENTRYPOINT [ "/bin/bash", "-c" ]
 ---> Running in a67c0f76a684
Removing intermediate container a67c0f76a684
 ---> 28172be83c07
Step 3/12 : EXPOSE 5000
 ---> Running in b3dd42abcc6a
Removing intermediate container b3dd42abcc6a
 ---> 840844d191d4
Step 4/12 : RUN set -x      && apt-get update      && apt-get install --no-install-recommends --no-install-suggests -y libpq-dev build-essential      && rm -rf /var/lib/apt/lists/*
 ---> Running in d695159416dc
+ apt-get update
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [174 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7908 kB]
Fetched 8318 kB in 2s (3919 kB/s)
Reading package lists...
+ apt-get install --no-install-recommends --no-install-suggests -y libpq-dev build-essential
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-8 dpkg-dev g++
  g++-8 gcc gcc-8 libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev
  libcc1-0 libdpkg-perl libgcc-8-dev libgomp1 libisl19 libitm1 liblsan0
  libmpc3 libmpfr6 libmpx2 libpq5 libquadmath0 libstdc++-8-dev libtsan0
  libubsan1 linux-libc-dev make
Suggested packages:
  binutils-doc cpp-doc gcc-8-locales debian-keyring g++-multilib
  g++-8-multilib gcc-8-doc libstdc++6-8-dbg gcc-multilib manpages-dev autoconf
  automake libtool flex bison gdb gcc-doc gcc-8-multilib libgcc1-dbg
  libgomp1-dbg libitm1-dbg libatomic1-dbg libasan5-dbg liblsan0-dbg
  libtsan0-dbg libubsan1-dbg libmpx2-dbg libquadmath0-dbg glibc-doc gnupg
  | gnupg2 bzr postgresql-doc-11 libstdc++-8-doc make-doc
Recommended packages:
  fakeroot gnupg | gnupg2 libalgorithm-merge-perl manpages manpages-dev
  libfile-fcntllock-perl liblocale-gettext-perl
The following NEW packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-8
  dpkg-dev g++ g++-8 gcc gcc-8 libasan5 libatomic1 libbinutils libc-dev-bin
  libc6-dev libcc1-0 libdpkg-perl libgcc-8-dev libgomp1 libisl19 libitm1
  liblsan0 libmpc3 libmpfr6 libmpx2 libpq-dev libpq5 libquadmath0
  libstdc++-8-dev libtsan0 libubsan1 linux-libc-dev make
0 upgraded, 34 newly installed, 0 to remove and 26 not upgraded.
Need to get 47.1 MB of archives.
After this operation, 182 MB of additional disk space will be used.
Get:1 http://security.debian.org/debian-security buster/updates/main amd64 linux-libc-dev amd64 4.19.67-2+deb10u2 [1234 kB]
Get:2 http://deb.debian.org/debian buster/main amd64 binutils-common amd64 2.31.1-16 [2073 kB]
Get:3 http://deb.debian.org/debian buster/main amd64 libbinutils amd64 2.31.1-16 [478 kB]
Get:4 http://deb.debian.org/debian buster/main amd64 binutils-x86-64-linux-gnu amd64 2.31.1-16 [1823 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 binutils amd64 2.31.1-16 [56.8 kB]
Get:6 http://deb.debian.org/debian buster/main amd64 libc-dev-bin amd64 2.28-10 [275 kB]
Get:7 http://deb.debian.org/debian buster/main amd64 libc6-dev amd64 2.28-10 [2691 kB]
Get:8 http://deb.debian.org/debian buster/main amd64 libisl19 amd64 0.20-2 [587 kB]
Get:9 http://deb.debian.org/debian buster/main amd64 libmpfr6 amd64 4.0.2-1 [775 kB]
Get:10 http://deb.debian.org/debian buster/main amd64 libmpc3 amd64 1.1.0-1 [41.3 kB]
Get:11 http://deb.debian.org/debian buster/main amd64 cpp-8 amd64 8.3.0-6 [8914 kB]
Get:12 http://deb.debian.org/debian buster/main amd64 cpp amd64 4:8.3.0-1 [19.4 kB]
Get:13 http://deb.debian.org/debian buster/main amd64 libcc1-0 amd64 8.3.0-6 [46.6 kB]
Get:14 http://deb.debian.org/debian buster/main amd64 libgomp1 amd64 8.3.0-6 [75.8 kB]
Get:15 http://deb.debian.org/debian buster/main amd64 libitm1 amd64 8.3.0-6 [27.7 kB]
Get:16 http://deb.debian.org/debian buster/main amd64 libatomic1 amd64 8.3.0-6 [9032 B]
Get:17 http://deb.debian.org/debian buster/main amd64 libasan5 amd64 8.3.0-6 [362 kB]
Get:18 http://deb.debian.org/debian buster/main amd64 liblsan0 amd64 8.3.0-6 [131 kB]
Get:19 http://deb.debian.org/debian buster/main amd64 libtsan0 amd64 8.3.0-6 [283 kB]
Get:20 http://deb.debian.org/debian buster/main amd64 libubsan1 amd64 8.3.0-6 [120 kB]
Get:21 http://deb.debian.org/debian buster/main amd64 libmpx2 amd64 8.3.0-6 [11.4 kB]
Get:22 http://deb.debian.org/debian buster/main amd64 libquadmath0 amd64 8.3.0-6 [133 kB]
Get:23 http://deb.debian.org/debian buster/main amd64 libgcc-8-dev amd64 8.3.0-6 [2298 kB]
Get:24 http://deb.debian.org/debian buster/main amd64 gcc-8 amd64 8.3.0-6 [9452 kB]
Get:25 http://deb.debian.org/debian buster/main amd64 gcc amd64 4:8.3.0-1 [5196 B]
Get:26 http://deb.debian.org/debian buster/main amd64 libstdc++-8-dev amd64 8.3.0-6 [1532 kB]
Get:27 http://deb.debian.org/debian buster/main amd64 g++-8 amd64 8.3.0-6 [9752 kB]
Get:28 http://deb.debian.org/debian buster/main amd64 g++ amd64 4:8.3.0-1 [1644 B]
Get:29 http://deb.debian.org/debian buster/main amd64 make amd64 4.2.1-1.2 [341 kB]
Get:30 http://deb.debian.org/debian buster/main amd64 libdpkg-perl all 1.19.7 [1414 kB]
Get:31 http://deb.debian.org/debian buster/main amd64 dpkg-dev all 1.19.7 [1773 kB]
Get:32 http://deb.debian.org/debian buster/main amd64 build-essential amd64 12.6 [7576 B]
Get:33 http://deb.debian.org/debian buster/main amd64 libpq5 amd64 11.5-1+deb10u1 [166 kB]
Get:34 http://deb.debian.org/debian buster/main amd64 libpq-dev amd64 11.5-1+deb10u1 [161 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 47.1 MB in 2s (20.4 MB/s)
Selecting previously unselected package binutils-common:amd64.
(Reading database ... 12557 files and directories currently installed.)
Preparing to unpack .../00-binutils-common_2.31.1-16_amd64.deb ...
Unpacking binutils-common:amd64 (2.31.1-16) ...
Selecting previously unselected package libbinutils:amd64.
Preparing to unpack .../01-libbinutils_2.31.1-16_amd64.deb ...
Unpacking libbinutils:amd64 (2.31.1-16) ...
Selecting previously unselected package binutils-x86-64-linux-gnu.
Preparing to unpack .../02-binutils-x86-64-linux-gnu_2.31.1-16_amd64.deb ...
Unpacking binutils-x86-64-linux-gnu (2.31.1-16) ...
Selecting previously unselected package binutils.
Preparing to unpack .../03-binutils_2.31.1-16_amd64.deb ...
Unpacking binutils (2.31.1-16) ...
Selecting previously unselected package libc-dev-bin.
Preparing to unpack .../04-libc-dev-bin_2.28-10_amd64.deb ...
Unpacking libc-dev-bin (2.28-10) ...
Selecting previously unselected package linux-libc-dev:amd64.
Preparing to unpack .../05-linux-libc-dev_4.19.67-2+deb10u2_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.19.67-2+deb10u2) ...
Selecting previously unselected package libc6-dev:amd64.
Preparing to unpack .../06-libc6-dev_2.28-10_amd64.deb ...
Unpacking libc6-dev:amd64 (2.28-10) ...
Selecting previously unselected package libisl19:amd64.
Preparing to unpack .../07-libisl19_0.20-2_amd64.deb ...
Unpacking libisl19:amd64 (0.20-2) ...
Selecting previously unselected package libmpfr6:amd64.
Preparing to unpack .../08-libmpfr6_4.0.2-1_amd64.deb ...
Unpacking libmpfr6:amd64 (4.0.2-1) ...
Selecting previously unselected package libmpc3:amd64.
Preparing to unpack .../09-libmpc3_1.1.0-1_amd64.deb ...
Unpacking libmpc3:amd64 (1.1.0-1) ...
Selecting previously unselected package cpp-8.
Preparing to unpack .../10-cpp-8_8.3.0-6_amd64.deb ...
Unpacking cpp-8 (8.3.0-6) ...
Selecting previously unselected package cpp.
Preparing to unpack .../11-cpp_4%3a8.3.0-1_amd64.deb ...
Unpacking cpp (4:8.3.0-1) ...
Selecting previously unselected package libcc1-0:amd64.
Preparing to unpack .../12-libcc1-0_8.3.0-6_amd64.deb ...
Unpacking libcc1-0:amd64 (8.3.0-6) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../13-libgomp1_8.3.0-6_amd64.deb ...
Unpacking libgomp1:amd64 (8.3.0-6) ...
Selecting previously unselected package libitm1:amd64.
Preparing to unpack .../14-libitm1_8.3.0-6_amd64.deb ...
Unpacking libitm1:amd64 (8.3.0-6) ...
Selecting previously unselected package libatomic1:amd64.
Preparing to unpack .../15-libatomic1_8.3.0-6_amd64.deb ...
Unpacking libatomic1:amd64 (8.3.0-6) ...
Selecting previously unselected package libasan5:amd64.
Preparing to unpack .../16-libasan5_8.3.0-6_amd64.deb ...
Unpacking libasan5:amd64 (8.3.0-6) ...
Selecting previously unselected package liblsan0:amd64.
Preparing to unpack .../17-liblsan0_8.3.0-6_amd64.deb ...
Unpacking liblsan0:amd64 (8.3.0-6) ...
Selecting previously unselected package libtsan0:amd64.
Preparing to unpack .../18-libtsan0_8.3.0-6_amd64.deb ...
Unpacking libtsan0:amd64 (8.3.0-6) ...
Selecting previously unselected package libubsan1:amd64.
Preparing to unpack .../19-libubsan1_8.3.0-6_amd64.deb ...
Unpacking libubsan1:amd64 (8.3.0-6) ...
Selecting previously unselected package libmpx2:amd64.
Preparing to unpack .../20-libmpx2_8.3.0-6_amd64.deb ...
Unpacking libmpx2:amd64 (8.3.0-6) ...
Selecting previously unselected package libquadmath0:amd64.
Preparing to unpack .../21-libquadmath0_8.3.0-6_amd64.deb ...
Unpacking libquadmath0:amd64 (8.3.0-6) ...
Selecting previously unselected package libgcc-8-dev:amd64.
Preparing to unpack .../22-libgcc-8-dev_8.3.0-6_amd64.deb ...
Unpacking libgcc-8-dev:amd64 (8.3.0-6) ...
Selecting previously unselected package gcc-8.
Preparing to unpack .../23-gcc-8_8.3.0-6_amd64.deb ...
Unpacking gcc-8 (8.3.0-6) ...
Selecting previously unselected package gcc.
Preparing to unpack .../24-gcc_4%3a8.3.0-1_amd64.deb ...
Unpacking gcc (4:8.3.0-1) ...
Selecting previously unselected package libstdc++-8-dev:amd64.
Preparing to unpack .../25-libstdc++-8-dev_8.3.0-6_amd64.deb ...
Unpacking libstdc++-8-dev:amd64 (8.3.0-6) ...
Selecting previously unselected package g++-8.
Preparing to unpack .../26-g++-8_8.3.0-6_amd64.deb ...
Unpacking g++-8 (8.3.0-6) ...
Selecting previously unselected package g++.
Preparing to unpack .../27-g++_4%3a8.3.0-1_amd64.deb ...
Unpacking g++ (4:8.3.0-1) ...
Selecting previously unselected package make.
Preparing to unpack .../28-make_4.2.1-1.2_amd64.deb ...
Unpacking make (4.2.1-1.2) ...
Selecting previously unselected package libdpkg-perl.
Preparing to unpack .../29-libdpkg-perl_1.19.7_all.deb ...
Unpacking libdpkg-perl (1.19.7) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../30-dpkg-dev_1.19.7_all.deb ...
Unpacking dpkg-dev (1.19.7) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../31-build-essential_12.6_amd64.deb ...
Unpacking build-essential (12.6) ...
Selecting previously unselected package libpq5:amd64.
Preparing to unpack .../32-libpq5_11.5-1+deb10u1_amd64.deb ...
Unpacking libpq5:amd64 (11.5-1+deb10u1) ...
Selecting previously unselected package libpq-dev.
Preparing to unpack .../33-libpq-dev_11.5-1+deb10u1_amd64.deb ...
Unpacking libpq-dev (11.5-1+deb10u1) ...
Setting up binutils-common:amd64 (2.31.1-16) ...
Setting up libpq5:amd64 (11.5-1+deb10u1) ...
Setting up linux-libc-dev:amd64 (4.19.67-2+deb10u2) ...
Setting up libpq-dev (11.5-1+deb10u1) ...
Setting up libgomp1:amd64 (8.3.0-6) ...
Setting up libasan5:amd64 (8.3.0-6) ...
Setting up make (4.2.1-1.2) ...
Setting up libmpfr6:amd64 (4.0.2-1) ...
Setting up libquadmath0:amd64 (8.3.0-6) ...
Setting up libmpc3:amd64 (1.1.0-1) ...
Setting up libatomic1:amd64 (8.3.0-6) ...
Setting up libdpkg-perl (1.19.7) ...
Setting up libmpx2:amd64 (8.3.0-6) ...
Setting up libubsan1:amd64 (8.3.0-6) ...
Setting up libisl19:amd64 (0.20-2) ...
Setting up libbinutils:amd64 (2.31.1-16) ...
Setting up cpp-8 (8.3.0-6) ...
Setting up libc-dev-bin (2.28-10) ...
Setting up libcc1-0:amd64 (8.3.0-6) ...
Setting up liblsan0:amd64 (8.3.0-6) ...
Setting up libitm1:amd64 (8.3.0-6) ...
Setting up binutils-x86-64-linux-gnu (2.31.1-16) ...
Setting up libtsan0:amd64 (8.3.0-6) ...
Setting up binutils (2.31.1-16) ...
Setting up dpkg-dev (1.19.7) ...
Setting up libgcc-8-dev:amd64 (8.3.0-6) ...
Setting up cpp (4:8.3.0-1) ...
Setting up libc6-dev:amd64 (2.28-10) ...
Setting up libstdc++-8-dev:amd64 (8.3.0-6) ...
Setting up gcc-8 (8.3.0-6) ...
Setting up gcc (4:8.3.0-1) ...
Setting up g++-8 (8.3.0-6) ...
Setting up g++ (4:8.3.0-1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (12.6) ...
Processing triggers for libc-bin (2.28-10) ...
+ rm -rf /var/lib/apt/lists/auxfiles /var/lib/apt/lists/deb.debian.org_debian_dists_buster-updates_InRelease /var/lib/apt/lists/deb.debian.org_debian_dists_buster-updates_main_binary-amd64_Packages.lz4 /var/lib/apt/lists/deb.debian.org_debian_dists_buster_InRelease /var/lib/apt/lists/deb.debian.org_debian_dists_buster_main_binary-amd64_Packages.lz4 /var/lib/apt/lists/lock /var/lib/apt/lists/partial /var/lib/apt/lists/security.debian.org_debian-security_dists_buster_updates_InRelease /var/lib/apt/lists/security.debian.org_debian-security_dists_buster_updates_main_binary-amd64_Packages.lz4
Removing intermediate container d695159416dc
 ---> 243c05e712f3
Step 5/12 : RUN conda install pip numpy scipy       && pip install gunicorn
 ---> Running in 5b9206e5a2d8
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /opt/conda

  added / updated specs:
    - numpy
    - pip
    - scipy


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    blas-1.0                   |              mkl           6 KB
    ca-certificates-2019.11.27 |                0         124 KB
    certifi-2019.11.28         |           py37_0         153 KB
    conda-4.8.1                |           py37_0         2.8 MB
    intel-openmp-2019.4        |              243         729 KB
    libgfortran-ng-7.3.0       |       hdf63c60_0        1006 KB
    mkl-2019.4                 |              243       131.2 MB
    mkl-service-2.3.0          |   py37he904b0f_0         218 KB
    mkl_fft-1.0.15             |   py37ha843d7b_0         154 KB
    mkl_random-1.1.0           |   py37hd6b4f25_0         321 KB
    numpy-1.18.1               |   py37h4f9e942_0           5 KB
    numpy-base-1.18.1          |   py37hde5b4d6_1         4.2 MB
    openssl-1.1.1d             |       h7b6447c_3         2.5 MB
    pip-19.3.1                 |           py37_0         1.6 MB
    scipy-1.3.2                |   py37h7c811a0_0        13.9 MB
    ------------------------------------------------------------
                                           Total:       158.9 MB

The following NEW packages will be INSTALLED:

  blas               pkgs/main/linux-64::blas-1.0-mkl
  intel-openmp       pkgs/main/linux-64::intel-openmp-2019.4-243
  libgfortran-ng     pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
  mkl                pkgs/main/linux-64::mkl-2019.4-243
  mkl-service        pkgs/main/linux-64::mkl-service-2.3.0-py37he904b0f_0
  mkl_fft            pkgs/main/linux-64::mkl_fft-1.0.15-py37ha843d7b_0
  mkl_random         pkgs/main/linux-64::mkl_random-1.1.0-py37hd6b4f25_0
  numpy              pkgs/main/linux-64::numpy-1.18.1-py37h4f9e942_0
  numpy-base         pkgs/main/linux-64::numpy-base-1.18.1-py37hde5b4d6_1
  scipy              pkgs/main/linux-64::scipy-1.3.2-py37h7c811a0_0

The following packages will be UPDATED:

  ca-certificates                               2019.8.28-0 --> 2019.11.27-0
  certifi                                  2019.9.11-py37_0 --> 2019.11.28-py37_0
  conda                                       4.7.12-py37_0 --> 4.8.1-py37_0
  openssl                                 1.1.1d-h7b6447c_2 --> 1.1.1d-h7b6447c_3
  pip                                         19.2.3-py37_0 --> 19.3.1-py37_0


Proceed ([y]/n)? 

Downloading and Extracting Packages
openssl-1.1.1d       | 2.5 MB    | ########## | 100% 
mkl-2019.4           | 131.2 MB  | ########## | 100% 
mkl-service-2.3.0    | 218 KB    | ########## | 100% 
pip-19.3.1           | 1.6 MB    | ########## | 100% 
conda-4.8.1          | 2.8 MB    | ########## | 100% 
numpy-1.18.1         | 5 KB      | ########## | 100% 
ca-certificates-2019 | 124 KB    | ########## | 100% 
scipy-1.3.2          | 13.9 MB   | ########## | 100% 
intel-openmp-2019.4  | 729 KB    | ########## | 100% 
blas-1.0             | 6 KB      | ########## | 100% 
certifi-2019.11.28   | 153 KB    | ########## | 100% 
numpy-base-1.18.1    | 4.2 MB    | ########## | 100% 
libgfortran-ng-7.3.0 | 1006 KB   | ########## | 100% 
mkl_fft-1.0.15       | 154 KB    | ########## | 100% 
mkl_random-1.1.0     | 321 KB    | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Collecting gunicorn
  Downloading https://files.pythonhosted.org/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl (77kB)
Requirement already satisfied: setuptools>=3.0 in /opt/conda/lib/python3.7/site-packages (from gunicorn) (41.4.0)
Installing collected packages: gunicorn
Successfully installed gunicorn-20.0.4
Removing intermediate container 5b9206e5a2d8
 ---> 8fab95ab34fc
Step 6/12 : COPY . /bento
 ---> dccc78a5334f
Step 7/12 : WORKDIR /bento
 ---> Running in 756870598ea8
Removing intermediate container 756870598ea8
 ---> 3ef508d1d596
Step 8/12 : RUN if [ -f /bento/setup.sh ]; then /bin/bash -c /bento/setup.sh; fi
 ---> Running in c68872ca074c
Removing intermediate container c68872ca074c
 ---> d346d61f0fe2
Step 9/12 : RUN conda env update -n base -f /bento/environment.yml
 ---> Running in f5d059e654f7
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done

Downloading and Extracting Packages
python-3.7.3         | 32.1 MB   | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
#
# To activate this environment, use
#
#     $ conda activate base
#
# To deactivate an active environment, use
#
#     $ conda deactivate

Removing intermediate container f5d059e654f7
 ---> 41298d9488a1
Step 10/12 : RUN pip install -r /bento/requirements.txt
 ---> Running in 5e5a4c69d882
Collecting bentoml==0.6.0
  Downloading https://files.pythonhosted.org/packages/9c/98/71737fe0dd581decd1a94349a8c88463f3c83fd65690efa49245b08bcfd9/BentoML-0.6.0-py3-none-any.whl (553kB)
Collecting tensorflow
  Downloading https://files.pythonhosted.org/packages/1d/56/0dbdae2a3c527a119bec0d5cf441655fe030ce1daa6fa6b9542f7dbd8664/tensorflow-2.1.0-cp37-cp37m-manylinux2010_x86_64.whl (421.8MB)
Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from -r /bento/requirements.txt (line 3)) (1.18.1)
Collecting pillow
  Downloading https://files.pythonhosted.org/packages/f5/79/b2d5695d1a931474fa68b68ec93bdf08ba9acbc4d6b3b628eb6aac81d11c/Pillow-7.0.0-cp37-cp37m-manylinux1_x86_64.whl (2.1MB)
Collecting boto3
  Downloading https://files.pythonhosted.org/packages/d5/57/e9675a5a8d0ee586594ff19cb9a601334fbf24fa2fb29052d2a900ee5d23/boto3-1.11.9-py2.py3-none-any.whl (128kB)
Collecting tabulate
  Downloading https://files.pythonhosted.org/packages/c4/41/523f6a05e6dc3329a5660f6a81254c6cd87e5cfb5b7482bae3391d86ec3a/tabulate-0.8.6.tar.gz (45kB)
Collecting docker
  Downloading https://files.pythonhosted.org/packages/cc/ca/699d4754a932787ef353a157ada74efd1ceb6d1fc0bfb7989ae1e7b33111/docker-4.1.0-py2.py3-none-any.whl (139kB)
Collecting python-dateutil<2.8.1,>=2.1
  Downloading https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl (226kB)
Collecting configparser
  Downloading https://files.pythonhosted.org/packages/7a/2a/95ed0501cf5d8709490b1d3a3f9b5cf340da6c433f896bbe9ce08dbe6785/configparser-4.0.2-py2.py3-none-any.whl
Collecting protobuf>=3.6.0
  Downloading https://files.pythonhosted.org/packages/4a/14/f5c294f1e36a031f165128c25feba93b3116f15a74398d0b2747ed75744f/protobuf-3.11.2-cp37-cp37m-manylinux1_x86_64.whl (1.3MB)
Collecting ruamel.yaml>=0.15.0
  Downloading https://files.pythonhosted.org/packages/99/a8/25242fc81d0c02460e93e8cc7ec4ae60c2382c00ba0a0e1becc22e76548d/ruamel.yaml-0.16.6-py2.py3-none-any.whl (123kB)
Collecting pandas
  Downloading https://files.pythonhosted.org/packages/63/e0/a1b39cdcb2c391f087a1538bc8a6d62a82d0439693192aef541d7b123769/pandas-0.25.3-cp37-cp37m-manylinux1_x86_64.whl (10.4MB)
Collecting sqlalchemy>=1.3.0
  Downloading https://files.pythonhosted.org/packages/af/47/35edeb0f86c0b44934c05d961c893e223ef27e79e1f53b5e6f14820ff553/SQLAlchemy-1.3.13.tar.gz (6.0MB)
Collecting alembic
  Downloading https://files.pythonhosted.org/packages/9d/c9/d4aa3be3511dfd6d86f8f483ce0d9f120258be4aceadc17601843593e2ec/alembic-1.3.3.tar.gz (1.1MB)
Collecting cerberus
  Downloading https://files.pythonhosted.org/packages/90/a7/71c6ed2d46a81065e68c007ac63378b96fa54c7bb614d653c68232f9c50c/Cerberus-1.3.2.tar.gz (52kB)
Collecting click>=7.0
  Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
Collecting flask
  Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl (94kB)
Collecting python-json-logger
  Downloading https://files.pythonhosted.org/packages/80/9d/1c3393a6067716e04e6fcef95104c8426d262b4adaf18d7aa2470eab028d/python-json-logger-0.1.11.tar.gz
Collecting packaging
  Downloading https://files.pythonhosted.org/packages/98/42/87c585dd3b113c775e65fd6b8d9d0a43abe1819c471d7af702d4e01e9b20/packaging-20.1-py2.py3-none-any.whl
Requirement already satisfied: gunicorn in /opt/conda/lib/python3.7/site-packages (from bentoml==0.6.0->-r /bento/requirements.txt (line 1)) (20.0.4)
Requirement already satisfied: requests in /opt/conda/lib/python3.7/site-packages (from bentoml==0.6.0->-r /bento/requirements.txt (line 1)) (2.22.0)
Collecting prometheus-client
  Downloading https://files.pythonhosted.org/packages/b3/23/41a5a24b502d35a4ad50a5bb7202a5e1d9a0364d0c12f56db3dbf7aca76d/prometheus_client-0.7.1.tar.gz
Collecting grpcio
  Downloading https://files.pythonhosted.org/packages/bc/b3/0052e38c640d52b710e235b15821cc3c61d0065bf54e70a44550ef127349/grpcio-1.26.0-cp37-cp37m-manylinux2010_x86_64.whl (2.4MB)
Collecting humanfriendly
  Downloading https://files.pythonhosted.org/packages/90/df/88bff450f333114680698dc4aac7506ff7cab164b794461906de31998665/humanfriendly-4.18-py2.py3-none-any.whl (73kB)
Collecting termcolor>=1.1.0
  Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz
Collecting opt-einsum>=2.3.2
  Downloading https://files.pythonhosted.org/packages/b8/83/755bd5324777875e9dff19c2e59daec837d0378c09196634524a3d7269ac/opt_einsum-3.1.0.tar.gz (69kB)
Collecting tensorboard<2.2.0,>=2.1.0
  Downloading https://files.pythonhosted.org/packages/40/23/53ffe290341cd0855d595b0a2e7485932f473798af173bbe3a584b99bb06/tensorboard-2.1.0-py3-none-any.whl (3.8MB)
Collecting absl-py>=0.7.0
  Downloading https://files.pythonhosted.org/packages/1a/53/9243c600e047bd4c3df9e69cfabc1e8004a82cac2e0c484580a78a94ba2a/absl-py-0.9.0.tar.gz (104kB)
Collecting keras-preprocessing>=1.1.0
  Downloading https://files.pythonhosted.org/packages/28/6a/8c1f62c37212d9fc441a7e26736df51ce6f0e38455816445471f10da4f0a/Keras_Preprocessing-1.1.0-py2.py3-none-any.whl (41kB)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /opt/conda/lib/python3.7/site-packages (from tensorflow->-r /bento/requirements.txt (line 2)) (0.33.6)
Collecting scipy==1.4.1; python_version >= "3"
  Downloading https://files.pythonhosted.org/packages/dd/82/c1fe128f3526b128cfd185580ba40d01371c5d299fcf7f77968e22dfcc2e/scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl (26.1MB)
Collecting wrapt>=1.11.1
  Downloading https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz
Collecting keras-applications>=1.0.8
  Downloading https://files.pythonhosted.org/packages/71/e3/19762fdfc62877ae9102edf6342d71b28fbfd9dea3d2f96a882ce099b03f/Keras_Applications-1.0.8-py3-none-any.whl (50kB)
Collecting astor>=0.6.0
  Downloading https://files.pythonhosted.org/packages/c3/88/97eef84f48fa04fbd6750e62dcceafba6c63c81b7ac1420856c8dcc0a3f9/astor-0.8.1-py2.py3-none-any.whl
Collecting google-pasta>=0.1.6
  Downloading https://files.pythonhosted.org/packages/c3/fd/1e86bc4837cc9a3a5faf3db9b1854aa04ad35b5f381f9648fbe81a6f94e4/google_pasta-0.1.8-py3-none-any.whl (57kB)
Collecting tensorflow-estimator<2.2.0,>=2.1.0rc0
  Downloading https://files.pythonhosted.org/packages/18/90/b77c328a1304437ab1310b463e533fa7689f4bfc41549593056d812fab8e/tensorflow_estimator-2.1.0-py2.py3-none-any.whl (448kB)
Requirement already satisfied: six>=1.12.0 in /opt/conda/lib/python3.7/site-packages (from tensorflow->-r /bento/requirements.txt (line 2)) (1.12.0)
Collecting gast==0.2.2
  Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz
Collecting s3transfer<0.4.0,>=0.3.0
  Downloading https://files.pythonhosted.org/packages/c7/48/a8252b6b3cd31774eab312b19d58a6ac55f296240c206617dcd38cd93bf8/s3transfer-0.3.2-py2.py3-none-any.whl (69kB)
Collecting botocore<1.15.0,>=1.14.9
  Downloading https://files.pythonhosted.org/packages/64/4c/b0b0d3b6f84a05f9135051b56d3eb8708012a289c4b82ee21c8c766f47b5/botocore-1.14.9-py2.py3-none-any.whl (5.9MB)
Collecting jmespath<1.0.0,>=0.7.1
  Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl
Collecting websocket-client>=0.32.0
  Downloading https://files.pythonhosted.org/packages/4c/5f/f61b420143ed1c8dc69f9eaec5ff1ac36109d52c80de49d66e0c36c3dfdf/websocket_client-0.57.0-py2.py3-none-any.whl (200kB)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.7/site-packages (from protobuf>=3.6.0->bentoml==0.6.0->-r /bento/requirements.txt (line 1)) (41.4.0)
Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.8"
  Downloading https://files.pythonhosted.org/packages/40/80/da16b691d5e259dd9919a10628e541fca321cb4b078fbb88e1c7c22aa42d/ruamel.yaml.clib-0.2.0-cp37-cp37m-manylinux1_x86_64.whl (547kB)
Collecting pytz>=2017.2
  Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)
Collecting Mako
  Downloading https://files.pythonhosted.org/packages/28/03/329b21f00243fc2d3815399413845dbbfb0745cff38a29d3597e97f8be58/Mako-1.1.1.tar.gz (468kB)
Collecting python-editor>=0.3
  Downloading https://files.pythonhosted.org/packages/c6/d3/201fc3abe391bbae6606e6f1d598c15d367033332bd54352b12f35513717/python_editor-1.0.4-py3-none-any.whl
Collecting Werkzeug>=0.15
  Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)
Collecting itsdangerous>=0.24
  Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting Jinja2>=2.10.1
  Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)
Collecting pyparsing>=2.0.2
  Downloading https://files.pythonhosted.org/packages/5d/bc/1e58593167fade7b544bfe9502a26dc860940a79ab306e651e7f13be68c2/pyparsing-2.4.6-py2.py3-none-any.whl (67kB)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.6.0->-r /bento/requirements.txt (line 1)) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.6.0->-r /bento/requirements.txt (line 1)) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.6.0->-r /bento/requirements.txt (line 1)) (2019.11.28)
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.6.0->-r /bento/requirements.txt (line 1)) (1.24.2)
Collecting markdown>=2.6.8
  Downloading https://files.pythonhosted.org/packages/c0/4e/fd492e91abdc2d2fcb70ef453064d980688762079397f779758e055f6575/Markdown-3.1.1-py2.py3-none-any.whl (87kB)
Collecting google-auth-oauthlib<0.5,>=0.4.1
  Downloading https://files.pythonhosted.org/packages/7b/b8/88def36e74bee9fce511c9519571f4e485e890093ab7442284f4ffaef60b/google_auth_oauthlib-0.4.1-py2.py3-none-any.whl
Collecting google-auth<2,>=1.6.3
  Downloading https://files.pythonhosted.org/packages/1c/6d/7aae38a9022f982cf8167775c7fc299f203417b698c27080ce09060bba07/google_auth-1.11.0-py2.py3-none-any.whl (76kB)
Collecting h5py
  Downloading https://files.pythonhosted.org/packages/3f/c0/abde58b837e066bca19a3f7332d9d0493521d7dd6b48248451a9e3fe2214/h5py-2.10.0-cp37-cp37m-manylinux1_x86_64.whl (2.9MB)
Collecting docutils<0.16,>=0.10
  Downloading https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl (547kB)
Collecting MarkupSafe>=0.9.2
  Downloading https://files.pythonhosted.org/packages/98/7b/ff284bd8c80654e471b769062a9b43cc5d03e7a615048d96f4619df8d420/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl
Collecting requests-oauthlib>=0.7.0
  Downloading https://files.pythonhosted.org/packages/a3/12/b92740d845ab62ea4edf04d2f4164d82532b5a0b03836d4d4e71c6f3d379/requests_oauthlib-1.3.0-py2.py3-none-any.whl
Collecting pyasn1-modules>=0.2.1
  Downloading https://files.pythonhosted.org/packages/95/de/214830a981892a3e286c3794f41ae67a4495df1108c3da8a9f62159b9a9d/pyasn1_modules-0.2.8-py2.py3-none-any.whl (155kB)
Collecting rsa<4.1,>=3.1.4
  Downloading https://files.pythonhosted.org/packages/02/e5/38518af393f7c214357079ce67a317307936896e961e35450b70fad2a9cf/rsa-4.0-py2.py3-none-any.whl
Collecting cachetools<5.0,>=2.0.0
  Downloading https://files.pythonhosted.org/packages/08/6a/abf83cb951617793fd49c98cb9456860f5df66ff89883c8660aa0672d425/cachetools-4.0.0-py3-none-any.whl
Collecting oauthlib>=3.0.0
  Downloading https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl (147kB)
Collecting pyasn1<0.5.0,>=0.4.6
  Downloading https://files.pythonhosted.org/packages/62/1e/a94a8d635fa3ce4cfc7f506003548d0a2447ae76fd5ca53932970fe3053f/pyasn1-0.4.8-py2.py3-none-any.whl (77kB)
Building wheels for collected packages: tabulate, sqlalchemy, alembic, cerberus, python-json-logger, prometheus-client, termcolor, opt-einsum, absl-py, wrapt, gast, Mako
  Building wheel for tabulate (setup.py): started
  Building wheel for tabulate (setup.py): finished with status 'done'
  Created wheel for tabulate: filename=tabulate-0.8.6-cp37-none-any.whl size=23274 sha256=211333effc4d6ac24e32a49642a726a6fa422c259e131edce35f19545d617476
  Stored in directory: /root/.cache/pip/wheels/9c/9b/f4/eb243fdb89676ec00588e8c54bb54360724c06e7fafe95278e
  Building wheel for sqlalchemy (setup.py): started
  Building wheel for sqlalchemy (setup.py): finished with status 'done'
  Created wheel for sqlalchemy: filename=SQLAlchemy-1.3.13-cp37-cp37m-linux_x86_64.whl size=1223704 sha256=f60318909f180cf0bd6574f35f9f39e881c5ad00a9b0aa54a981c0e44d70b6bf
  Stored in directory: /root/.cache/pip/wheels/b3/35/98/4c9cb3fd63d21d5606b972dd70643769745adf60e622467b71
  Building wheel for alembic (setup.py): started
  Building wheel for alembic (setup.py): finished with status 'done'
  Created wheel for alembic: filename=alembic-1.3.3-py2.py3-none-any.whl size=155684 sha256=0fa9d37e6ed76b51afd150ba9dc51fcb812d7d930f0aaf5d7f1dc85405efafa6
  Stored in directory: /root/.cache/pip/wheels/12/6a/49/94a4af65af2edbccf9f467c0f4b26f24d0e5b61be0d8a7e066
  Building wheel for cerberus (setup.py): started
  Building wheel for cerberus (setup.py): finished with status 'done'
  Created wheel for cerberus: filename=Cerberus-1.3.2-cp37-none-any.whl size=54336 sha256=9b83ffeb4db60da5f9a21455ef5501c33bf92235da5a74ed8eaf661a06d9ab7f
  Stored in directory: /root/.cache/pip/wheels/e9/38/1f/f2cc84182676f3ae7134b9b2d744f9c235b24d2ddc8f7fe465
  Building wheel for python-json-logger (setup.py): started
  Building wheel for python-json-logger (setup.py): finished with status 'done'
  Created wheel for python-json-logger: filename=python_json_logger-0.1.11-py2.py3-none-any.whl size=5076 sha256=1606e27dccccaef3ace9e46380de6d3a3e74632ff7692447de8c9b6f5c8ffc28
  Stored in directory: /root/.cache/pip/wheels/97/f7/a1/752e22bb30c1cfe38194ea0070a5c66e76ef4d06ad0c7dc401
  Building wheel for prometheus-client (setup.py): started
  Building wheel for prometheus-client (setup.py): finished with status 'done'
  Created wheel for prometheus-client: filename=prometheus_client-0.7.1-cp37-none-any.whl size=41402 sha256=5d2cbfea526905dbef0009b8d0d6466d5cdc480fdaf82ddff026353591ac82a8
  Stored in directory: /root/.cache/pip/wheels/1c/54/34/fd47cd9b308826cc4292b54449c1899a30251ef3b506bc91ea
  Building wheel for termcolor (setup.py): started
  Building wheel for termcolor (setup.py): finished with status 'done'
  Created wheel for termcolor: filename=termcolor-1.1.0-cp37-none-any.whl size=4832 sha256=1af3e513cc22a6fe4bc924a326066264b755968c094c28415c064e7a8fcee06a
  Stored in directory: /root/.cache/pip/wheels/7c/06/54/bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6
  Building wheel for opt-einsum (setup.py): started
  Building wheel for opt-einsum (setup.py): finished with status 'done'
  Created wheel for opt-einsum: filename=opt_einsum-3.1.0-cp37-none-any.whl size=61682 sha256=691e70132231ff69eaf671add6d001c0b81715748b86c5dce3426e03464aa75e
  Stored in directory: /root/.cache/pip/wheels/2c/b1/94/43d03e130b929aae7ba3f8d15cbd7bc0d1cb5bb38a5c721833
  Building wheel for absl-py (setup.py): started
  Building wheel for absl-py (setup.py): finished with status 'done'
  Created wheel for absl-py: filename=absl_py-0.9.0-cp37-none-any.whl size=121932 sha256=c5109ed760eb9932a0bdb4da6a31fdfd77d647edc70db43be62d2b29ca6922e2
  Stored in directory: /root/.cache/pip/wheels/8e/28/49/fad4e7f0b9a1227708cbbee4487ac8558a7334849cb81c813d
  Building wheel for wrapt (setup.py): started
  Building wheel for wrapt (setup.py): finished with status 'done'
  Created wheel for wrapt: filename=wrapt-1.11.2-cp37-cp37m-linux_x86_64.whl size=76108 sha256=0f9995e1241a0247494bcddafe116cc15ec057208a599f9dc28aa32f96fab4ab
  Stored in directory: /root/.cache/pip/wheels/d7/de/2e/efa132238792efb6459a96e85916ef8597fcb3d2ae51590dfd
  Building wheel for gast (setup.py): started
  Building wheel for gast (setup.py): finished with status 'done'
  Created wheel for gast: filename=gast-0.2.2-cp37-none-any.whl size=7540 sha256=d062029e70239906bd2a5a50262e771ee9b98e011fe1e699993514cbd3a64fda
  Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd
  Building wheel for Mako (setup.py): started
  Building wheel for Mako (setup.py): finished with status 'done'
  Created wheel for Mako: filename=Mako-1.1.1-cp37-none-any.whl size=75411 sha256=6d7d1bdfa38102461473d2c4eaf60efb92a3293f92eb3cc2a3a5902ae5d5be47
  Stored in directory: /root/.cache/pip/wheels/ff/50/a9/0ddeed8679a1fb65bf4677cb9c92701828b2c1821e22ef72fd
Successfully built tabulate sqlalchemy alembic cerberus python-json-logger prometheus-client termcolor opt-einsum absl-py wrapt gast Mako
Installing collected packages: docutils, python-dateutil, jmespath, botocore, s3transfer, boto3, tabulate, websocket-client, docker, configparser, protobuf, ruamel.yaml.clib, ruamel.yaml, pytz, pandas, sqlalchemy, MarkupSafe, Mako, python-editor, alembic, cerberus, click, Werkzeug, itsdangerous, Jinja2, flask, python-json-logger, pyparsing, packaging, prometheus-client, grpcio, humanfriendly, bentoml, termcolor, opt-einsum, absl-py, markdown, pyasn1, pyasn1-modules, rsa, cachetools, google-auth, oauthlib, requests-oauthlib, google-auth-oauthlib, tensorboard, keras-preprocessing, scipy, wrapt, h5py, keras-applications, astor, google-pasta, tensorflow-estimator, gast, tensorflow, pillow
  Found existing installation: scipy 1.3.2
    Uninstalling scipy-1.3.2:
      Successfully uninstalled scipy-1.3.2
Successfully installed Jinja2-2.10.3 Mako-1.1.1 MarkupSafe-1.1.1 Werkzeug-0.16.0 absl-py-0.9.0 alembic-1.3.3 astor-0.8.1 bentoml-0.6.0 boto3-1.11.9 botocore-1.14.9 cachetools-4.0.0 cerberus-1.3.2 click-7.0 configparser-4.0.2 docker-4.1.0 docutils-0.15.2 flask-1.1.1 gast-0.2.2 google-auth-1.11.0 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.26.0 h5py-2.10.0 humanfriendly-4.18 itsdangerous-1.1.0 jmespath-0.9.4 keras-applications-1.0.8 keras-preprocessing-1.1.0 markdown-3.1.1 oauthlib-3.1.0 opt-einsum-3.1.0 packaging-20.1 pandas-0.25.3 pillow-7.0.0 prometheus-client-0.7.1 protobuf-3.11.2 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyparsing-2.4.6 python-dateutil-2.8.0 python-editor-1.0.4 python-json-logger-0.1.11 pytz-2019.3 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.6 ruamel.yaml.clib-0.2.0 s3transfer-0.3.2 scipy-1.4.1 sqlalchemy-1.3.13 tabulate-0.8.6 tensorboard-2.1.0 tensorflow-2.1.0 tensorflow-estimator-2.1.0 termcolor-1.1.0 websocket-client-0.57.0 wrapt-1.11.2
Removing intermediate container 5e5a4c69d882
 ---> 227262ab171b
Step 11/12 : RUN if [ -f /bento/bentoml_init.sh ]; then /bin/bash -c /bento/bentoml_init.sh; fi
 ---> Running in 8ecbd88b832b
Processing ./bundled_pip_dependencies/BentoML-0.6.0.tar.gz
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Requirement already satisfied, skipping upgrade: configparser in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (4.0.2)
Requirement already satisfied, skipping upgrade: requests in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (2.22.0)
Requirement already satisfied, skipping upgrade: gunicorn in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (20.0.4)
Requirement already satisfied, skipping upgrade: boto3 in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.11.9)
Requirement already satisfied, skipping upgrade: protobuf>=3.6.0 in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (3.11.2)
Requirement already satisfied, skipping upgrade: flask in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.1.1)
Requirement already satisfied, skipping upgrade: numpy in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.18.1)
Requirement already satisfied, skipping upgrade: docker in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (4.1.0)
Requirement already satisfied, skipping upgrade: humanfriendly in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (4.18)
Requirement already satisfied, skipping upgrade: tabulate in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (0.8.6)
Requirement already satisfied, skipping upgrade: grpcio in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.26.0)
Requirement already satisfied, skipping upgrade: packaging in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (20.1)
Requirement already satisfied, skipping upgrade: alembic in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.3.3)
Requirement already satisfied, skipping upgrade: pandas in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (0.25.3)
Requirement already satisfied, skipping upgrade: cerberus in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.3.2)
Requirement already satisfied, skipping upgrade: python-json-logger in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (0.1.11)
Requirement already satisfied, skipping upgrade: ruamel.yaml>=0.15.0 in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (0.16.6)
Requirement already satisfied, skipping upgrade: python-dateutil<2.8.1,>=2.1 in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (2.8.0)
Requirement already satisfied, skipping upgrade: prometheus-client in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (0.7.1)
Requirement already satisfied, skipping upgrade: click>=7.0 in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (7.0)
Requirement already satisfied, skipping upgrade: sqlalchemy>=1.3.0 in /opt/conda/lib/python3.7/site-packages (from BentoML==0.6.0) (1.3.13)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->BentoML==0.6.0) (3.0.4)
Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.7/site-packages (from requests->BentoML==0.6.0) (1.24.2)
Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->BentoML==0.6.0) (2.8)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->BentoML==0.6.0) (2019.11.28)
Requirement already satisfied, skipping upgrade: setuptools>=3.0 in /opt/conda/lib/python3.7/site-packages (from gunicorn->BentoML==0.6.0) (41.4.0)
Requirement already satisfied, skipping upgrade: botocore<1.15.0,>=1.14.9 in /opt/conda/lib/python3.7/site-packages (from boto3->BentoML==0.6.0) (1.14.9)
Requirement already satisfied, skipping upgrade: s3transfer<0.4.0,>=0.3.0 in /opt/conda/lib/python3.7/site-packages (from boto3->BentoML==0.6.0) (0.3.2)
Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in /opt/conda/lib/python3.7/site-packages (from boto3->BentoML==0.6.0) (0.9.4)
Requirement already satisfied, skipping upgrade: six>=1.9 in /opt/conda/lib/python3.7/site-packages (from protobuf>=3.6.0->BentoML==0.6.0) (1.12.0)
Requirement already satisfied, skipping upgrade: Werkzeug>=0.15 in /opt/conda/lib/python3.7/site-packages (from flask->BentoML==0.6.0) (0.16.0)
Requirement already satisfied, skipping upgrade: itsdangerous>=0.24 in /opt/conda/lib/python3.7/site-packages (from flask->BentoML==0.6.0) (1.1.0)
Requirement already satisfied, skipping upgrade: Jinja2>=2.10.1 in /opt/conda/lib/python3.7/site-packages (from flask->BentoML==0.6.0) (2.10.3)
Requirement already satisfied, skipping upgrade: websocket-client>=0.32.0 in /opt/conda/lib/python3.7/site-packages (from docker->BentoML==0.6.0) (0.57.0)
Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /opt/conda/lib/python3.7/site-packages (from packaging->BentoML==0.6.0) (2.4.6)
Requirement already satisfied, skipping upgrade: Mako in /opt/conda/lib/python3.7/site-packages (from alembic->BentoML==0.6.0) (1.1.1)
Requirement already satisfied, skipping upgrade: python-editor>=0.3 in /opt/conda/lib/python3.7/site-packages (from alembic->BentoML==0.6.0) (1.0.4)
Requirement already satisfied, skipping upgrade: pytz>=2017.2 in /opt/conda/lib/python3.7/site-packages (from pandas->BentoML==0.6.0) (2019.3)
Requirement already satisfied, skipping upgrade: ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.8" in /opt/conda/lib/python3.7/site-packages (from ruamel.yaml>=0.15.0->BentoML==0.6.0) (0.2.0)
Requirement already satisfied, skipping upgrade: docutils<0.16,>=0.10 in /opt/conda/lib/python3.7/site-packages (from botocore<1.15.0,>=1.14.9->boto3->BentoML==0.6.0) (0.15.2)
Requirement already satisfied, skipping upgrade: MarkupSafe>=0.23 in /opt/conda/lib/python3.7/site-packages (from Jinja2>=2.10.1->flask->BentoML==0.6.0) (1.1.1)
Building wheels for collected packages: BentoML
  Building wheel for BentoML (PEP 517): started
  Building wheel for BentoML (PEP 517): finished with status 'done'
  Created wheel for BentoML: filename=BentoML-0.6.0-cp37-none-any.whl size=505613 sha256=dd5857ba108ad02f61fc6148221e129eee22f564ed4c11b2d71f79bec61f4b33
  Stored in directory: /root/.cache/pip/wheels/18/42/e5/7aade3a0ee2b7f6405b1751a9d08ca5d884cc501f6c2d72784
Successfully built BentoML
Installing collected packages: BentoML
  Found existing installation: BentoML 0.6.0
    Uninstalling BentoML-0.6.0:
      Successfully uninstalled BentoML-0.6.0
Successfully installed BentoML-0.6.0
Removing intermediate container 8ecbd88b832b
 ---> a4c7e0690847
Step 12/12 : CMD ["bentoml serve-gunicorn /bento"]
 ---> Running in 321a20b6588a
Removing intermediate container 321a20b6588a
 ---> 23eb9647b787
Successfully built 23eb9647b787
Successfully tagged tensorflow2-fashion-mnist:latest
In [ ]:
!docker run -p 5000:5000 tensorflow2-fashion-mnist

Additional: serve with tf-serving

In [ ]:
TMP_MODEL_DIR = "/tmp/test-model/"
SERVE_HOST = "http://localhost:8890"
SERVE_PORT = 8890
MODEL_NAME = "fashion_model"
tf.saved_model.save(model, TMP_MODEL_DIR)
!tensorflow_model_server --rest_api_port={SERVE_PORT} --model_name={MODEL_NAME} --model_base_path={TMP_MODEL_DIR}

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

In [26]:
bento_service_tag = f'{bento_svc.name}:{bento_svc.version}'
print(bento_service_tag)
FashionMnistTensorflow:20200124145408_3B6770
In [27]:
!bentoml sagemaker deploy first-tf-fashion -b {bento_service_tag} --api-name predict --verbose
[2020-01-24 14:59:44,666] DEBUG - Using BentoML with local Yatai server
[2020-01-24 14:59:44,808] DEBUG - Upgrading tables to the latest revision
Deploying Sagemaker deployment /[2020-01-24 14:59:45,814] DEBUG - Created temporary directory: /private/var/folders/kn/xnc9k74x03567n1mx2tfqnpr0000gn/T/bentoml-temp-esk46k3d
-[2020-01-24 14:59:46,092] DEBUG - Getting docker login info from AWS
[2020-01-24 14:59:46,093] DEBUG - Building docker image: 192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770
-[2020-01-24 14:59:46,532] INFO - Step 1/11 : FROM continuumio/miniconda3:4.7.12
[2020-01-24 14:59:46,533] INFO - 

[2020-01-24 14:59:46,533] INFO -  ---> 406f2b43ea59

[2020-01-24 14:59:46,533] INFO - Step 2/11 : EXPOSE 8080
[2020-01-24 14:59:46,533] INFO - 

[2020-01-24 14:59:46,533] INFO -  ---> Using cache

[2020-01-24 14:59:46,533] INFO -  ---> 7c8096d6922f

[2020-01-24 14:59:46,533] 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-24 14:59:46,533] INFO - 

[2020-01-24 14:59:46,533] INFO -  ---> Using cache

[2020-01-24 14:59:46,534] INFO -  ---> 5b00a58f3bce

[2020-01-24 14:59:46,534] INFO - Step 4/11 : RUN conda install pip numpy scipy       && pip install gunicorn gevent
[2020-01-24 14:59:46,534] INFO - 

[2020-01-24 14:59:46,534] INFO -  ---> Using cache

[2020-01-24 14:59:46,534] INFO -  ---> 25aacb592861

[2020-01-24 14:59:46,534] INFO - Step 5/11 : COPY . /opt/program
[2020-01-24 14:59:46,534] INFO - 

-[2020-01-24 14:59:46,976] INFO -  ---> 41c82990857d

[2020-01-24 14:59:46,976] INFO - Step 6/11 : WORKDIR /opt/program
[2020-01-24 14:59:46,976] INFO - 

|[2020-01-24 14:59:47,129] INFO -  ---> Running in 5e10717c25f8

/[2020-01-24 14:59:47,453] INFO -  ---> 4ed72aeb741f

[2020-01-24 14:59:47,454] INFO - Step 7/11 : RUN conda env update -n base -f /opt/program/environment.yml
[2020-01-24 14:59:47,454] INFO - 

\[2020-01-24 14:59:47,639] INFO -  ---> Running in 472cc3911529

/[2020-01-24 14:59:49,480] INFO - Collecting package metadata (repodata.json): ...working... 
-[2020-01-24 14:59:57,674] INFO - done

[2020-01-24 14:59:57,674] INFO - Solving environment: ...working... 
|[2020-01-24 15:00:05,688] INFO - done

\[2020-01-24 15:00:05,814] 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   | 3          |   4% 
python-3.7.3         | 32.1 MB   | 9          |  10% 
python-3.7.3         | 32.1 MB   | #4         |  15% 
python-3.7.3         | 32.1 MB   | ##         |  20% 
python-3.7.3         | 32.1 MB   | ###1       |  32% 
python-3.7.3         | 32.1 MB   | ###7       |  38% 
python-3.7.3         | 32.1 MB   | ####4      |  44% 
python-3.7.3         | 32.1 MB   | #####      |  50% 
python-3.7.3         | 32.1 MB   | #####6     |  56% 
python-3.7.3         | 32.1 MB   | ######2    |  62% 
python-3.7.3         | 32.1 MB   | ######7    |  68% 
python-3.7.3         | 32.1 MB   | #######2   |  73% 
python-3.7.3         | 32.1 MB   | #######8   |  78% 
python-3.7.3         | 32.1 MB   | ########3  |  83% 
python-3.7.3         | 32.1 MB   | ########8  |  88% 
python-3.7.3         | 32.1 MB   | #########2 |  93% 
python-3.7.3         | 32.1 MB   | #########7 |  98% 
python-3.7.3         | 32.1 MB   | ########## | 100% 
[2020-01-24 15:00:08,773] INFO - 
Preparing transaction: ...working... 
|[2020-01-24 15:00:08,967] INFO - done

[2020-01-24 15:00:08,970] INFO - Verifying transaction: ...working... 
\[2020-01-24 15:00:09,910] INFO - done

[2020-01-24 15:00:09,911] INFO - Executing transaction: ...working... 
/[2020-01-24 15:00:14,566] INFO - done

|[2020-01-24 15:00:15,153] INFO - #
# To activate this environment, use
#
#     $ conda activate base
#
# To deactivate an active environment, use
#
#     $ conda deactivate


|[2020-01-24 15:00:20,897] INFO -  ---> 285dd8789f40

[2020-01-24 15:00:20,898] INFO - Step 8/11 : RUN pip install -r /opt/program/requirements.txt
[2020-01-24 15:00:20,900] INFO - 

-[2020-01-24 15:00:21,044] INFO -  ---> Running in 33c42e196a3a

/[2020-01-24 15:00:22,857] INFO - Collecting bentoml==0.6.1

|[2020-01-24 15:00:22,972] INFO -   Downloading https://files.pythonhosted.org/packages/95/5b/6dd42537eb3fce0f3f28ccb84435a1d5ea6dd6a5756d120d75a6c47e021d/BentoML-0.6.1-py3-none-any.whl (553kB)

|[2020-01-24 15:00:24,127] INFO - Collecting tensorflow

[2020-01-24 15:00:24,152] INFO -   Downloading https://files.pythonhosted.org/packages/1d/56/0dbdae2a3c527a119bec0d5cf441655fe030ce1daa6fa6b9542f7dbd8664/tensorflow-2.1.0-cp37-cp37m-manylinux2010_x86_64.whl (421.8MB)

/[2020-01-24 15:01:17,814] INFO - Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from -r /opt/program/requirements.txt (line 3)) (1.18.1)

|[2020-01-24 15:01:18,804] INFO - Collecting pillow

\[2020-01-24 15:01:18,832] INFO -   Downloading https://files.pythonhosted.org/packages/f5/79/b2d5695d1a931474fa68b68ec93bdf08ba9acbc4d6b3b628eb6aac81d11c/Pillow-7.0.0-cp37-cp37m-manylinux1_x86_64.whl (2.1MB)

|[2020-01-24 15:01:19,576] INFO - Collecting boto3

[2020-01-24 15:01:19,599] INFO -   Downloading https://files.pythonhosted.org/packages/d5/57/e9675a5a8d0ee586594ff19cb9a601334fbf24fa2fb29052d2a900ee5d23/boto3-1.11.9-py2.py3-none-any.whl (128kB)

\[2020-01-24 15:01:19,713] INFO - Collecting flask

-[2020-01-24 15:01:19,741] INFO -   Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl (94kB)

[2020-01-24 15:01:19,820] INFO - Requirement already satisfied: requests in /opt/conda/lib/python3.7/site-packages (from bentoml==0.6.1->-r /opt/program/requirements.txt (line 1)) (2.22.0)

\[2020-01-24 15:01:20,498] INFO - Collecting pandas

[2020-01-24 15:01:20,522] INFO -   Downloading https://files.pythonhosted.org/packages/63/e0/a1b39cdcb2c391f087a1538bc8a6d62a82d0439693192aef541d7b123769/pandas-0.25.3-cp37-cp37m-manylinux1_x86_64.whl (10.4MB)

|[2020-01-24 15:01:22,091] INFO - Collecting protobuf>=3.6.0

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

/[2020-01-24 15:01:22,406] INFO - Collecting python-dateutil<2.8.1,>=2.1

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

\[2020-01-24 15:01:22,550] INFO - Collecting humanfriendly

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

|[2020-01-24 15:01:23,368] INFO - Collecting ruamel.yaml>=0.15.0

\[2020-01-24 15:01:23,409] INFO -   Downloading https://files.pythonhosted.org/packages/99/a8/25242fc81d0c02460e93e8cc7ec4ae60c2382c00ba0a0e1becc22e76548d/ruamel.yaml-0.16.6-py2.py3-none-any.whl (123kB)

-[2020-01-24 15:01:23,542] INFO - Collecting packaging

[2020-01-24 15:01:23,562] INFO -   Downloading https://files.pythonhosted.org/packages/98/42/87c585dd3b113c775e65fd6b8d9d0a43abe1819c471d7af702d4e01e9b20/packaging-20.1-py2.py3-none-any.whl

/[2020-01-24 15:01:23,650] INFO - Collecting click>=7.0

[2020-01-24 15:01:23,675] INFO -   Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)

|[2020-01-24 15:01:23,743] INFO - Collecting prometheus-client

[2020-01-24 15:01:23,761] INFO -   Downloading https://files.pythonhosted.org/packages/b3/23/41a5a24b502d35a4ad50a5bb7202a5e1d9a0364d0c12f56db3dbf7aca76d/prometheus_client-0.7.1.tar.gz

|[2020-01-24 15:01:24,546] INFO - Collecting tabulate

[2020-01-24 15:01:24,567] INFO -   Downloading https://files.pythonhosted.org/packages/c4/41/523f6a05e6dc3329a5660f6a81254c6cd87e5cfb5b7482bae3391d86ec3a/tabulate-0.8.6.tar.gz (45kB)

/[2020-01-24 15:01:25,261] INFO - Collecting python-json-logger

[2020-01-24 15:01:25,281] INFO -   Downloading https://files.pythonhosted.org/packages/80/9d/1c3393a6067716e04e6fcef95104c8426d262b4adaf18d7aa2470eab028d/python-json-logger-0.1.11.tar.gz

/[2020-01-24 15:01:25,667] INFO - Requirement already satisfied: gunicorn in /opt/conda/lib/python3.7/site-packages (from bentoml==0.6.1->-r /opt/program/requirements.txt (line 1)) (20.0.4)

|[2020-01-24 15:01:25,833] INFO - Collecting docker

\[2020-01-24 15:01:25,866] INFO -   Downloading https://files.pythonhosted.org/packages/cc/ca/699d4754a932787ef353a157ada74efd1ceb6d1fc0bfb7989ae1e7b33111/docker-4.1.0-py2.py3-none-any.whl (139kB)

\[2020-01-24 15:01:26,754] INFO - Collecting grpcio

[2020-01-24 15:01:26,780] INFO -   Downloading https://files.pythonhosted.org/packages/bc/b3/0052e38c640d52b710e235b15821cc3c61d0065bf54e70a44550ef127349/grpcio-1.26.0-cp37-cp37m-manylinux2010_x86_64.whl (2.4MB)

|[2020-01-24 15:01:27,006] INFO - Collecting configparser

[2020-01-24 15:01:27,026] INFO -   Downloading https://files.pythonhosted.org/packages/7a/2a/95ed0501cf5d8709490b1d3a3f9b5cf340da6c433f896bbe9ce08dbe6785/configparser-4.0.2-py2.py3-none-any.whl

\[2020-01-24 15:01:27,138] INFO - Collecting alembic

[2020-01-24 15:01:27,166] INFO -   Downloading https://files.pythonhosted.org/packages/9d/c9/d4aa3be3511dfd6d86f8f483ce0d9f120258be4aceadc17601843593e2ec/alembic-1.3.3.tar.gz (1.1MB)

\[2020-01-24 15:01:27,994] INFO - Collecting sqlalchemy>=1.3.0

[2020-01-24 15:01:28,019] INFO -   Downloading https://files.pythonhosted.org/packages/af/47/35edeb0f86c0b44934c05d961c893e223ef27e79e1f53b5e6f14820ff553/SQLAlchemy-1.3.13.tar.gz (6.0MB)

\[2020-01-24 15:01:30,428] INFO - Collecting cerberus

[2020-01-24 15:01:30,449] INFO -   Downloading https://files.pythonhosted.org/packages/90/a7/71c6ed2d46a81065e68c007ac63378b96fa54c7bb614d653c68232f9c50c/Cerberus-1.3.2.tar.gz (52kB)

|[2020-01-24 15:01:30,767] INFO - Collecting google-pasta>=0.1.6

[2020-01-24 15:01:30,788] INFO -   Downloading https://files.pythonhosted.org/packages/c3/fd/1e86bc4837cc9a3a5faf3db9b1854aa04ad35b5f381f9648fbe81a6f94e4/google_pasta-0.1.8-py3-none-any.whl (57kB)

\[2020-01-24 15:01:30,856] INFO - Collecting tensorflow-estimator<2.2.0,>=2.1.0rc0

[2020-01-24 15:01:30,879] INFO -   Downloading https://files.pythonhosted.org/packages/18/90/b77c328a1304437ab1310b463e533fa7689f4bfc41549593056d812fab8e/tensorflow_estimator-2.1.0-py2.py3-none-any.whl (448kB)

-[2020-01-24 15:01:31,010] INFO - Collecting tensorboard<2.2.0,>=2.1.0

/[2020-01-24 15:01:31,037] INFO -   Downloading https://files.pythonhosted.org/packages/40/23/53ffe290341cd0855d595b0a2e7485932f473798af173bbe3a584b99bb06/tensorboard-2.1.0-py3-none-any.whl (3.8MB)

-[2020-01-24 15:01:31,776] INFO - Collecting astor>=0.6.0

[2020-01-24 15:01:31,800] INFO -   Downloading https://files.pythonhosted.org/packages/c3/88/97eef84f48fa04fbd6750e62dcceafba6c63c81b7ac1420856c8dcc0a3f9/astor-0.8.1-py2.py3-none-any.whl

/[2020-01-24 15:01:31,919] INFO - Collecting gast==0.2.2

[2020-01-24 15:01:31,942] INFO -   Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz

/[2020-01-24 15:01:32,275] INFO - Collecting termcolor>=1.1.0

[2020-01-24 15:01:32,297] INFO -   Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz

-[2020-01-24 15:01:32,615] INFO - Collecting wrapt>=1.11.1

[2020-01-24 15:01:32,635] INFO -   Downloading https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz

|[2020-01-24 15:01:33,216] INFO - Collecting absl-py>=0.7.0

[2020-01-24 15:01:33,243] INFO -   Downloading https://files.pythonhosted.org/packages/1a/53/9243c600e047bd4c3df9e69cfabc1e8004a82cac2e0c484580a78a94ba2a/absl-py-0.9.0.tar.gz (104kB)

/[2020-01-24 15:01:33,576] INFO - Requirement already satisfied: wheel>=0.26; python_version >= "3" in /opt/conda/lib/python3.7/site-packages (from tensorflow->-r /opt/program/requirements.txt (line 2)) (0.33.6)

/[2020-01-24 15:01:33,955] INFO - Collecting scipy==1.4.1; python_version >= "3"

[2020-01-24 15:01:33,984] INFO -   Downloading https://files.pythonhosted.org/packages/dd/82/c1fe128f3526b128cfd185580ba40d01371c5d299fcf7f77968e22dfcc2e/scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl (26.1MB)

|[2020-01-24 15:01:36,954] INFO - Collecting keras-applications>=1.0.8

[2020-01-24 15:01:36,978] INFO -   Downloading https://files.pythonhosted.org/packages/71/e3/19762fdfc62877ae9102edf6342d71b28fbfd9dea3d2f96a882ce099b03f/Keras_Applications-1.0.8-py3-none-any.whl (50kB)

\[2020-01-24 15:01:37,065] INFO - Collecting opt-einsum>=2.3.2

[2020-01-24 15:01:37,089] INFO -   Downloading https://files.pythonhosted.org/packages/b8/83/755bd5324777875e9dff19c2e59daec837d0378c09196634524a3d7269ac/opt_einsum-3.1.0.tar.gz (69kB)

/[2020-01-24 15:01:37,738] INFO - Collecting keras-preprocessing>=1.1.0

|[2020-01-24 15:01:37,760] INFO -   Downloading https://files.pythonhosted.org/packages/28/6a/8c1f62c37212d9fc441a7e26736df51ce6f0e38455816445471f10da4f0a/Keras_Preprocessing-1.1.0-py2.py3-none-any.whl (41kB)

[2020-01-24 15:01:37,812] INFO - Requirement already satisfied: six>=1.12.0 in /opt/conda/lib/python3.7/site-packages (from tensorflow->-r /opt/program/requirements.txt (line 2)) (1.12.0)

\[2020-01-24 15:01:37,889] INFO - Collecting s3transfer<0.4.0,>=0.3.0

[2020-01-24 15:01:37,911] INFO -   Downloading https://files.pythonhosted.org/packages/c7/48/a8252b6b3cd31774eab312b19d58a6ac55f296240c206617dcd38cd93bf8/s3transfer-0.3.2-py2.py3-none-any.whl (69kB)

-[2020-01-24 15:01:38,020] INFO - Collecting jmespath<1.0.0,>=0.7.1

[2020-01-24 15:01:38,042] INFO -   Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl

-[2020-01-24 15:01:38,850] INFO - Collecting botocore<1.15.0,>=1.14.9

/[2020-01-24 15:01:38,871] INFO -   Downloading https://files.pythonhosted.org/packages/64/4c/b0b0d3b6f84a05f9135051b56d3eb8708012a289c4b82ee21c8c766f47b5/botocore-1.14.9-py2.py3-none-any.whl (5.9MB)

|[2020-01-24 15:01:40,203] INFO - Collecting Jinja2>=2.10.1

[2020-01-24 15:01:40,228] INFO -   Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)

\[2020-01-24 15:01:40,360] INFO - Collecting Werkzeug>=0.15

[2020-01-24 15:01:40,386] INFO -   Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)

/[2020-01-24 15:01:40,528] INFO - Collecting itsdangerous>=0.24

[2020-01-24 15:01:40,550] INFO -   Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl

[2020-01-24 15:01:40,581] INFO - Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.6.1->-r /opt/program/requirements.txt (line 1)) (2.8)

[2020-01-24 15:01:40,585] INFO - Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.6.1->-r /opt/program/requirements.txt (line 1)) (2019.11.28)

[2020-01-24 15:01:40,587] INFO - Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->bentoml==0.6.1->-r /opt/program/requirements.txt (line 1)) (3.0.4)

[2020-01-24 15:01:40,594] 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.6.1->-r /opt/program/requirements.txt (line 1)) (1.24.2)

-[2020-01-24 15:01:40,847] INFO - Collecting pytz>=2017.2

[2020-01-24 15:01:40,872] INFO -   Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)

|[2020-01-24 15:01:41,076] INFO - Requirement already satisfied: setuptools in /opt/conda/lib/python3.7/site-packages (from protobuf>=3.6.0->bentoml==0.6.1->-r /opt/program/requirements.txt (line 1)) (41.4.0)

\[2020-01-24 15:01:41,159] INFO - Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.8"

[2020-01-24 15:01:41,187] 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-24 15:01:41,414] INFO - Collecting pyparsing>=2.0.2

[2020-01-24 15:01:41,437] INFO -   Downloading https://files.pythonhosted.org/packages/5d/bc/1e58593167fade7b544bfe9502a26dc860940a79ab306e651e7f13be68c2/pyparsing-2.4.6-py2.py3-none-any.whl (67kB)

|[2020-01-24 15:01:41,542] INFO - Collecting websocket-client>=0.32.0

\[2020-01-24 15:01:41,565] INFO -   Downloading https://files.pythonhosted.org/packages/4c/5f/f61b420143ed1c8dc69f9eaec5ff1ac36109d52c80de49d66e0c36c3dfdf/websocket_client-0.57.0-py2.py3-none-any.whl (200kB)

-[2020-01-24 15:01:41,686] INFO - Collecting Mako

[2020-01-24 15:01:41,710] INFO -   Downloading https://files.pythonhosted.org/packages/28/03/329b21f00243fc2d3815399413845dbbfb0745cff38a29d3597e97f8be58/Mako-1.1.1.tar.gz (468kB)

|[2020-01-24 15:01:42,352] INFO - Collecting python-editor>=0.3

\[2020-01-24 15:01:42,377] INFO -   Downloading https://files.pythonhosted.org/packages/c6/d3/201fc3abe391bbae6606e6f1d598c15d367033332bd54352b12f35513717/python_editor-1.0.4-py3-none-any.whl

[2020-01-24 15:01:42,461] INFO - Collecting markdown>=2.6.8

-[2020-01-24 15:01:42,484] INFO -   Downloading https://files.pythonhosted.org/packages/c0/4e/fd492e91abdc2d2fcb70ef453064d980688762079397f779758e055f6575/Markdown-3.1.1-py2.py3-none-any.whl (87kB)

[2020-01-24 15:01:42,570] INFO - Collecting google-auth-oauthlib<0.5,>=0.4.1

/[2020-01-24 15:01:42,591] INFO -   Downloading https://files.pythonhosted.org/packages/7b/b8/88def36e74bee9fce511c9519571f4e485e890093ab7442284f4ffaef60b/google_auth_oauthlib-0.4.1-py2.py3-none-any.whl

|[2020-01-24 15:01:42,718] INFO - Collecting google-auth<2,>=1.6.3

[2020-01-24 15:01:42,743] INFO -   Downloading https://files.pythonhosted.org/packages/1c/6d/7aae38a9022f982cf8167775c7fc299f203417b698c27080ce09060bba07/google_auth-1.11.0-py2.py3-none-any.whl (76kB)

-[2020-01-24 15:01:42,968] INFO - Collecting h5py

/[2020-01-24 15:01:42,996] INFO -   Downloading https://files.pythonhosted.org/packages/3f/c0/abde58b837e066bca19a3f7332d9d0493521d7dd6b48248451a9e3fe2214/h5py-2.10.0-cp37-cp37m-manylinux1_x86_64.whl (2.9MB)

-[2020-01-24 15:01:43,337] INFO - Collecting docutils<0.16,>=0.10

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

|[2020-01-24 15:01:43,582] INFO - Collecting MarkupSafe>=0.23

[2020-01-24 15:01:43,603] INFO -   Downloading https://files.pythonhosted.org/packages/98/7b/ff284bd8c80654e471b769062a9b43cc5d03e7a615048d96f4619df8d420/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl

\[2020-01-24 15:01:43,693] INFO - Collecting requests-oauthlib>=0.7.0

[2020-01-24 15:01:43,712] INFO -   Downloading https://files.pythonhosted.org/packages/a3/12/b92740d845ab62ea4edf04d2f4164d82532b5a0b03836d4d4e71c6f3d379/requests_oauthlib-1.3.0-py2.py3-none-any.whl

-[2020-01-24 15:01:43,819] INFO - Collecting cachetools<5.0,>=2.0.0

/[2020-01-24 15:01:43,838] INFO -   Downloading https://files.pythonhosted.org/packages/08/6a/abf83cb951617793fd49c98cb9456860f5df66ff89883c8660aa0672d425/cachetools-4.0.0-py3-none-any.whl

|[2020-01-24 15:01:44,003] INFO - Collecting pyasn1-modules>=0.2.1

[2020-01-24 15:01:44,024] INFO -   Downloading https://files.pythonhosted.org/packages/95/de/214830a981892a3e286c3794f41ae67a4495df1108c3da8a9f62159b9a9d/pyasn1_modules-0.2.8-py2.py3-none-any.whl (155kB)

-[2020-01-24 15:01:44,167] INFO - Collecting rsa<4.1,>=3.1.4

[2020-01-24 15:01:44,192] INFO -   Downloading https://files.pythonhosted.org/packages/02/e5/38518af393f7c214357079ce67a317307936896e961e35450b70fad2a9cf/rsa-4.0-py2.py3-none-any.whl

/[2020-01-24 15:01:44,299] INFO - Collecting oauthlib>=3.0.0

[2020-01-24 15:01:44,327] INFO -   Downloading https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl (147kB)

\[2020-01-24 15:01:44,528] INFO - Collecting pyasn1<0.5.0,>=0.4.6

-[2020-01-24 15:01:44,549] INFO -   Downloading https://files.pythonhosted.org/packages/62/1e/a94a8d635fa3ce4cfc7f506003548d0a2447ae76fd5ca53932970fe3053f/pyasn1-0.4.8-py2.py3-none-any.whl (77kB)

[2020-01-24 15:01:44,593] INFO - Building wheels for collected packages: prometheus-client, tabulate, python-json-logger, alembic, sqlalchemy, cerberus, gast, termcolor, wrapt, absl-py, opt-einsum, Mako

[2020-01-24 15:01:44,595] INFO -   Building wheel for prometheus-client (setup.py): started

/[2020-01-24 15:01:45,107] INFO -   Building wheel for prometheus-client (setup.py): finished with status 'done'

[2020-01-24 15:01:45,109] INFO -   Created wheel for prometheus-client: filename=prometheus_client-0.7.1-cp37-none-any.whl size=41402 sha256=27a404cd24fa9452319716c82f32d97937b410a7f6d52abd4c314d81e285cbfb
  Stored in directory: /root/.cache/pip/wheels/1c/54/34/fd47cd9b308826cc4292b54449c1899a30251ef3b506bc91ea

[2020-01-24 15:01:45,124] INFO -   Building wheel for tabulate (setup.py): started

/[2020-01-24 15:01:45,520] INFO -   Building wheel for tabulate (setup.py): finished with status 'done'

[2020-01-24 15:01:45,521] INFO -   Created wheel for tabulate: filename=tabulate-0.8.6-cp37-none-any.whl size=23274 sha256=120128b2d58c4a23d05bff1ad71d1f153050ad133205afe1944b2aa3fc019df4

[2020-01-24 15:01:45,521] INFO -   Stored in directory: /root/.cache/pip/wheels/9c/9b/f4/eb243fdb89676ec00588e8c54bb54360724c06e7fafe95278e

[2020-01-24 15:01:45,529] INFO -   Building wheel for python-json-logger (setup.py): started

/[2020-01-24 15:01:45,885] INFO -   Building wheel for python-json-logger (setup.py): finished with status 'done'

[2020-01-24 15:01:45,886] INFO -   Created wheel for python-json-logger: filename=python_json_logger-0.1.11-py2.py3-none-any.whl size=5076 sha256=9af316d015fb0af6c1a0eeb978701e466d99b2269d1eeb383c5c62b6877be40d

[2020-01-24 15:01:45,886] INFO -   Stored in directory: /root/.cache/pip/wheels/97/f7/a1/752e22bb30c1cfe38194ea0070a5c66e76ef4d06ad0c7dc401

[2020-01-24 15:01:45,895] INFO -   Building wheel for alembic (setup.py): started

|[2020-01-24 15:01:46,458] INFO -   Building wheel for alembic (setup.py): finished with status 'done'

[2020-01-24 15:01:46,460] INFO -   Created wheel for alembic: filename=alembic-1.3.3-py2.py3-none-any.whl size=155684 sha256=955429f2b87817772c299ad3dbe853db1529481b9e116054d32e870da22e8a80
  Stored in directory: /root/.cache/pip/wheels/12/6a/49/94a4af65af2edbccf9f467c0f4b26f24d0e5b61be0d8a7e066

\[2020-01-24 15:01:46,504] INFO -   Building wheel for sqlalchemy (setup.py): started

/[2020-01-24 15:01:48,842] INFO -   Building wheel for sqlalchemy (setup.py): finished with status 'done'

[2020-01-24 15:01:48,849] INFO -   Created wheel for sqlalchemy: filename=SQLAlchemy-1.3.13-cp37-cp37m-linux_x86_64.whl size=1223709 sha256=983d6762aacff49c90dfd6e5952c90be797b72e61dd9353e0c70476d3eb1bbaf

[2020-01-24 15:01:48,850] INFO -   Stored in directory: /root/.cache/pip/wheels/b3/35/98/4c9cb3fd63d21d5606b972dd70643769745adf60e622467b71

\[2020-01-24 15:01:49,036] INFO -   Building wheel for cerberus (setup.py): started

-[2020-01-24 15:01:49,538] INFO -   Building wheel for cerberus (setup.py): finished with status 'done'

[2020-01-24 15:01:49,538] INFO -   Created wheel for cerberus: filename=Cerberus-1.3.2-cp37-none-any.whl size=54336 sha256=f8af11e9fd5feb731f054b4802305e13339af5fe4980357c6307492b0679f83c

[2020-01-24 15:01:49,539] INFO -   Stored in directory: /root/.cache/pip/wheels/e9/38/1f/f2cc84182676f3ae7134b9b2d744f9c235b24d2ddc8f7fe465

[2020-01-24 15:01:49,558] INFO -   Building wheel for gast (setup.py): started

-[2020-01-24 15:01:49,993] INFO -   Building wheel for gast (setup.py): finished with status 'done'

[2020-01-24 15:01:49,994] INFO -   Created wheel for gast: filename=gast-0.2.2-cp37-none-any.whl size=7540 sha256=f2d4d830f40a398e71a080d92c0910fb7c5f57e50e64084bb9d44bfffc2c373b

[2020-01-24 15:01:49,995] INFO -   Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd

[2020-01-24 15:01:50,002] INFO -   Building wheel for termcolor (setup.py): started

/[2020-01-24 15:01:50,438] INFO -   Building wheel for termcolor (setup.py): finished with status 'done'

[2020-01-24 15:01:50,439] INFO -   Created wheel for termcolor: filename=termcolor-1.1.0-cp37-none-any.whl size=4832 sha256=edc74ba5cd8e148a17fa76b2817552208b3e294682704fab3c2202d79effeaf7

[2020-01-24 15:01:50,440] INFO -   Stored in directory: /root/.cache/pip/wheels/7c/06/54/bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6

[2020-01-24 15:01:50,446] INFO -   Building wheel for wrapt (setup.py): started

\[2020-01-24 15:01:51,912] INFO -   Building wheel for wrapt (setup.py): finished with status 'done'

[2020-01-24 15:01:51,914] INFO -   Created wheel for wrapt: filename=wrapt-1.11.2-cp37-cp37m-linux_x86_64.whl size=76108 sha256=90cec32f1de7b409f0a49f270ab686bad6dad6da1ebbe9ddeed2393a220cf847
  Stored in directory: /root/.cache/pip/wheels/d7/de/2e/efa132238792efb6459a96e85916ef8597fcb3d2ae51590dfd

[2020-01-24 15:01:51,924] INFO -   Building wheel for absl-py (setup.py): started

-[2020-01-24 15:01:52,475] INFO -   Building wheel for absl-py (setup.py): finished with status 'done'

[2020-01-24 15:01:52,476] INFO -   Created wheel for absl-py: filename=absl_py-0.9.0-cp37-none-any.whl size=121932 sha256=a60508cd0a711e8a91743368e2d5cf5535eb9350132fe3ef6fb5723277da695d
  Stored in directory: /root/.cache/pip/wheels/8e/28/49/fad4e7f0b9a1227708cbbee4487ac8558a7334849cb81c813d

/[2020-01-24 15:01:52,500] INFO -   Building wheel for opt-einsum (setup.py): started

|[2020-01-24 15:01:53,024] INFO -   Building wheel for opt-einsum (setup.py): finished with status 'done'

[2020-01-24 15:01:53,025] INFO -   Created wheel for opt-einsum: filename=opt_einsum-3.1.0-cp37-none-any.whl size=61682 sha256=fe60931cbf4400b71b6c2670a16e61c102bce21e1a26031070a721a3e1984819
  Stored in directory: /root/.cache/pip/wheels/2c/b1/94/43d03e130b929aae7ba3f8d15cbd7bc0d1cb5bb38a5c721833

[2020-01-24 15:01:53,046] INFO -   Building wheel for Mako (setup.py): started

\[2020-01-24 15:01:53,607] INFO -   Building wheel for Mako (setup.py): finished with status 'done'

[2020-01-24 15:01:53,608] INFO -   Created wheel for Mako: filename=Mako-1.1.1-cp37-none-any.whl size=75411 sha256=208646520575ea771ea2bd963bd0bc5a13f1e2074837ba6df262610c3663f30e
  Stored in directory: /root/.cache/pip/wheels/ff/50/a9/0ddeed8679a1fb65bf4677cb9c92701828b2c1821e22ef72fd

-[2020-01-24 15:01:53,632] INFO - Successfully built prometheus-client tabulate python-json-logger alembic sqlalchemy cerberus gast termcolor wrapt absl-py opt-einsum Mako

|[2020-01-24 15:01:54,294] INFO - Installing collected packages: docutils, jmespath, python-dateutil, botocore, s3transfer, boto3, MarkupSafe, Jinja2, Werkzeug, itsdangerous, click, flask, pytz, pandas, protobuf, humanfriendly, ruamel.yaml.clib, ruamel.yaml, pyparsing, packaging, prometheus-client, tabulate, python-json-logger, websocket-client, docker, grpcio, configparser, sqlalchemy, Mako, python-editor, alembic, cerberus, bentoml, google-pasta, tensorflow-estimator, markdown, oauthlib, requests-oauthlib, cachetools, pyasn1, pyasn1-modules, rsa, google-auth, google-auth-oauthlib, absl-py, tensorboard, astor, gast, termcolor, wrapt, scipy, h5py, keras-applications, opt-einsum, keras-preprocessing, tensorflow, pillow

\[2020-01-24 15:02:07,523] INFO -   Found existing installation: scipy 1.3.2

[2020-01-24 15:02:07,530] INFO -     Uninstalling scipy-1.3.2:

/[2020-01-24 15:02:09,455] INFO -       Successfully uninstalled scipy-1.3.2

/[2020-01-24 15:02:28,349] INFO - Successfully installed Jinja2-2.10.3 Mako-1.1.1 MarkupSafe-1.1.1 Werkzeug-0.16.0 absl-py-0.9.0 alembic-1.3.3 astor-0.8.1 bentoml-0.6.1 boto3-1.11.9 botocore-1.14.9 cachetools-4.0.0 cerberus-1.3.2 click-7.0 configparser-4.0.2 docker-4.1.0 docutils-0.15.2 flask-1.1.1 gast-0.2.2 google-auth-1.11.0 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.26.0 h5py-2.10.0 humanfriendly-4.18 itsdangerous-1.1.0 jmespath-0.9.4 keras-applications-1.0.8 keras-preprocessing-1.1.0 markdown-3.1.1 oauthlib-3.1.0 opt-einsum-3.1.0 packaging-20.1 pandas-0.25.3 pillow-7.0.0 prometheus-client-0.7.1 protobuf-3.11.2 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyparsing-2.4.6 python-dateutil-2.8.0 python-editor-1.0.4 python-json-logger-0.1.11 pytz-2019.3 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.6 ruamel.yaml.clib-0.2.0 s3transfer-0.3.2 scipy-1.4.1 sqlalchemy-1.3.13 tabulate-0.8.6 tensorboard-2.1.0 tensorflow-2.1.0 tensorflow-estimator-2.1.0 termcolor-1.1.0 websocket-client-0.57.0 wrapt-1.11.2

|[2020-01-24 15:03:05,823] INFO -  ---> 949d1c92e9f4

[2020-01-24 15:03:05,824] INFO - Step 9/11 : RUN if [ -f /bento/bentoml_init.sh ]; then /bin/bash -c /bento/bentoml_init.sh; fi
[2020-01-24 15:03:05,824] INFO - 

-[2020-01-24 15:03:06,019] INFO -  ---> Running in e9243ea86e40

\[2020-01-24 15:03:07,531] INFO -  ---> 12e6d51896b6

[2020-01-24 15:03:07,532] INFO - Step 10/11 : RUN if [ -f /opt/program/setup.sh ]; then /bin/bash -c /opt/program/setup.sh; fi
[2020-01-24 15:03:07,532] INFO - 

/[2020-01-24 15:03:07,709] INFO -  ---> Running in 8485a25c1812

\[2020-01-24 15:03:09,169] INFO -  ---> 26f399c95027

[2020-01-24 15:03:09,169] INFO - Step 11/11 : ENV PATH="/opt/program:${PATH}"
[2020-01-24 15:03:09,169] INFO - 

-[2020-01-24 15:03:09,296] INFO -  ---> Running in 9ba22b2d0d32

\[2020-01-24 15:03:09,538] INFO -  ---> f034ec7486e7

[2020-01-24 15:03:09,560] INFO - Successfully built f034ec7486e7

[2020-01-24 15:03:09,566] INFO - Successfully tagged 192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770

/[2020-01-24 15:03:09,795] DEBUG - Pushing image to AWS ECR at 192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770
/[2020-01-24 15:08:43,823] DEBUG - Finished pushing image: 192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770
[2020-01-24 15:08:43,829] DEBUG - BentoML in debug mode, keeping temp directory "/private/var/folders/kn/xnc9k74x03567n1mx2tfqnpr0000gn/T/bentoml-temp-esk46k3d"
|[2020-01-24 15:08:45,139] DEBUG - AWS create model response: {'ModelArn': 'arn:aws:sagemaker:us-west-2:192023623294:model/dev-first-tf-fas-fashionmnisttensorflow-20200124145408-3b6770', 'ResponseMetadata': {'RequestId': '71d3e778-df01-4e37-a1eb-9209149c79c9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '71d3e778-df01-4e37-a1eb-9209149c79c9', 'content-type': 'application/x-amz-json-1.1', 'content-length': '123', 'date': 'Fri, 24 Jan 2020 23:08:45 GMT'}, 'RetryAttempts': 0}}
[2020-01-24 15:08:45,139] DEBUG - Creating Sagemaker endpoint dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770 configuration
\[2020-01-24 15:08:45,219] DEBUG - AWS create endpoint config response: {'EndpointConfigArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint-config/dev-first-tf-fas-fashionmnisttensorflow-20200124145408-3b6770', 'ResponseMetadata': {'RequestId': 'a0cb2cfd-7800-4329-9595-ddf6000ad05a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a0cb2cfd-7800-4329-9595-ddf6000ad05a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '142', 'date': 'Fri, 24 Jan 2020 23:08:45 GMT'}, 'RetryAttempts': 0}}
[2020-01-24 15:08:45,220] DEBUG - Creating sagemaker endpoint dev-first-tf-fashion
/[2020-01-24 15:08:45,408] DEBUG - AWS create endpoint response: {'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'ResponseMetadata': {'RequestId': 'ebe99ea4-a702-4812-bbd3-2435d59b705d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ebe99ea4-a702-4812-bbd3-2435d59b705d', 'content-type': 'application/x-amz-json-1.1', 'content-length': '88', 'date': 'Fri, 24 Jan 2020 23:08:45 GMT'}, 'RetryAttempts': 0}}
[2020-01-24 15:08:45,421] INFO - ApplyDeployment (first-tf-fashion, namespace dev) succeeded
[2020-01-24 15:08:45,699] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '23847573-0dd7-4373-a807-c19895e4429b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '23847573-0dd7-4373-a807-c19895e4429b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:08:46 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:08:50,943] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '4bef6f4b-05a5-415f-ba3f-a107c0e267fc', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '4bef6f4b-05a5-415f-ba3f-a107c0e267fc', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:08:51 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:08:56,165] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e91759f2-e7a1-4005-b678-7a7a82211ad1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e91759f2-e7a1-4005-b678-7a7a82211ad1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:08:56 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:09:01,394] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b2fb49ba-9515-4eff-83ab-8674c10f5ddb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b2fb49ba-9515-4eff-83ab-8674c10f5ddb', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:01 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:09:06,600] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '803f8a14-bef5-4099-b878-b9f70cb264e7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '803f8a14-bef5-4099-b878-b9f70cb264e7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:07 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:09:11,895] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'cabfb229-b4aa-4d60-8546-d207a233ed95', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'cabfb229-b4aa-4d60-8546-d207a233ed95', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:12 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:09:17,137] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '5029f742-3e2c-42ab-a404-91db356cc1ba', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '5029f742-3e2c-42ab-a404-91db356cc1ba', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:17 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:09:22,363] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '24258fe1-be5a-43f3-bc97-eeea5d86bb6a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '24258fe1-be5a-43f3-bc97-eeea5d86bb6a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:22 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:09:27,598] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a19e35f5-be3a-47a2-8820-48667c6db659', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a19e35f5-be3a-47a2-8820-48667c6db659', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:27 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:09:32,796] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'db1c8dc5-e85f-4fdd-b116-b1ed9b120a99', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'db1c8dc5-e85f-4fdd-b116-b1ed9b120a99', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:33 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:09:38,030] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '958ecf9a-bd98-480d-8c79-d3fa7a8c7bcb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '958ecf9a-bd98-480d-8c79-d3fa7a8c7bcb', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:38 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:09:43,233] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '71546378-cd10-4d4a-a801-440346a8e147', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '71546378-cd10-4d4a-a801-440346a8e147', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:43 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:09:48,435] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'de27e418-bcbd-4283-961d-329e2dffc4a4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'de27e418-bcbd-4283-961d-329e2dffc4a4', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:49 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:09:53,656] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '671c7a45-7b26-49db-a24d-f86cea91a48c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '671c7a45-7b26-49db-a24d-f86cea91a48c', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:53 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:09:58,869] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '3472b196-815b-45f6-9ba9-5585ea8ff8d0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '3472b196-815b-45f6-9ba9-5585ea8ff8d0', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:09:58 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:10:04,111] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e662a087-dbb9-465f-8dd6-99372e4368da', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e662a087-dbb9-465f-8dd6-99372e4368da', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:04 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:10:09,334] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '5bbc4a07-ba5c-4fb9-8d84-775e20d7996a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '5bbc4a07-ba5c-4fb9-8d84-775e20d7996a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:09 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:10:14,525] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '7a8d458c-80ce-4198-b286-79a46dfae326', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '7a8d458c-80ce-4198-b286-79a46dfae326', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:15 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:10:19,735] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '7039badd-2e85-4a09-a85a-91b16376133d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '7039badd-2e85-4a09-a85a-91b16376133d', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:20 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:10:24,968] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'ad250bb3-2677-4e0c-8a6c-b05cf58f57ed', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ad250bb3-2677-4e0c-8a6c-b05cf58f57ed', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:25 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:10:30,462] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8b4019d2-c6e3-4233-9916-b100a20a1e84', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8b4019d2-c6e3-4233-9916-b100a20a1e84', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:31 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:10:35,766] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '988ab271-f57c-4711-8e24-305a03b03e92', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '988ab271-f57c-4711-8e24-305a03b03e92', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:36 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:10:41,207] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '5e61340d-9fc5-42cf-aa12-a6fbc387cb27', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '5e61340d-9fc5-42cf-aa12-a6fbc387cb27', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:42 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:10:46,650] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '23f28631-41a8-4706-b778-6b294a22fb6d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '23f28631-41a8-4706-b778-6b294a22fb6d', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:47 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:10:52,048] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '18902a0e-be3a-4a5c-942a-d3a5834770bb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '18902a0e-be3a-4a5c-942a-d3a5834770bb', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:52 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:10:57,560] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2f14be51-aa8d-497c-88c7-dce8e0054e11', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2f14be51-aa8d-497c-88c7-dce8e0054e11', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:10:58 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:11:02,928] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '578fa724-bee8-409d-93dd-c48bcd8fe619', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '578fa724-bee8-409d-93dd-c48bcd8fe619', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:03 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:11:08,276] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c3ed5bb1-ddb7-425a-8db8-eb407a99e787', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c3ed5bb1-ddb7-425a-8db8-eb407a99e787', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:09 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:11:13,599] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '23a7e23a-a5cc-4263-9574-b723185c2f9b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '23a7e23a-a5cc-4263-9574-b723185c2f9b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:14 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:11:18,904] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2d6a36f8-dc2b-49a9-941d-5cefd1e76ec8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2d6a36f8-dc2b-49a9-941d-5cefd1e76ec8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:19 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:11:24,286] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c3bbd924-18f6-488e-9622-2f06f618a754', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c3bbd924-18f6-488e-9622-2f06f618a754', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:25 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:11:29,640] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '3c7722c3-e48e-4f2f-a2ce-adf1a3a03c37', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '3c7722c3-e48e-4f2f-a2ce-adf1a3a03c37', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:30 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:11:34,913] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '893193a2-0bb1-47e8-9d59-7de871a541d1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '893193a2-0bb1-47e8-9d59-7de871a541d1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:35 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:11:40,142] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f0d0ccd8-d20c-4e94-906c-45da62a150e9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f0d0ccd8-d20c-4e94-906c-45da62a150e9', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:40 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:11:45,499] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c3cf1f92-0498-4cec-a7fe-3e88189097d3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c3cf1f92-0498-4cec-a7fe-3e88189097d3', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:45 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:11:50,723] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2e48703e-b24e-4108-b995-52ea7da5baaf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2e48703e-b24e-4108-b995-52ea7da5baaf', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:51 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:11:55,988] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c73bb808-1ecb-4129-a976-c8a55b77c061', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c73bb808-1ecb-4129-a976-c8a55b77c061', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:11:56 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:12:01,276] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '84ad315f-3ab1-4f2a-be10-9432a64812dd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '84ad315f-3ab1-4f2a-be10-9432a64812dd', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:01 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:12:06,548] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '23f4d8e1-ed3c-4a5d-a839-63d64270ccb1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '23f4d8e1-ed3c-4a5d-a839-63d64270ccb1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:07 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:12:11,773] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '56756445-c538-49c6-aeff-208b7eef7d41', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '56756445-c538-49c6-aeff-208b7eef7d41', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:12 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:12:17,041] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8acccdc7-450b-4ab1-96b8-92175f196d2b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8acccdc7-450b-4ab1-96b8-92175f196d2b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:17 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:12:22,327] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '4fec55e0-dff6-4149-92f1-b7b990c252b4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '4fec55e0-dff6-4149-92f1-b7b990c252b4', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:22 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:12:27,643] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e89b772d-6a58-4ee6-bd92-fc290b884830', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e89b772d-6a58-4ee6-bd92-fc290b884830', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:28 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:12:32,933] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '29808364-bcde-469b-b78b-11a34bf29e70', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '29808364-bcde-469b-b78b-11a34bf29e70', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:33 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:12:38,221] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '79d32617-d4a0-4e15-8d92-99cb0d96469a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '79d32617-d4a0-4e15-8d92-99cb0d96469a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:38 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:12:43,550] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a9700783-c29a-49e6-a66d-d348ae65b525', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a9700783-c29a-49e6-a66d-d348ae65b525', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:43 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:12:48,755] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'cbccfb12-6879-43ad-8791-69a11352bf6b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'cbccfb12-6879-43ad-8791-69a11352bf6b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:49 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:12:53,960] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '652c31c8-e02a-4db9-a26c-cb61304eb27a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '652c31c8-e02a-4db9-a26c-cb61304eb27a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:54 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:12:59,283] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b6a24e40-163c-4be0-aa78-7b215c187315', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b6a24e40-163c-4be0-aa78-7b215c187315', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:12:59 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:13:04,703] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '31957f86-508c-4de5-9ca3-37a139e058e7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '31957f86-508c-4de5-9ca3-37a139e058e7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:05 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:13:09,968] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e3ed4b34-f9b1-4150-bec6-000fb9c6e953', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e3ed4b34-f9b1-4150-bec6-000fb9c6e953', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:10 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:13:15,197] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '615e58f6-001a-4af8-a9de-d4b4db2f28ee', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '615e58f6-001a-4af8-a9de-d4b4db2f28ee', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:15 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:13:20,500] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c4d136f4-1e63-48b5-be9f-e2990c875784', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c4d136f4-1e63-48b5-be9f-e2990c875784', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:21 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:13:25,777] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c52e9695-1a92-48c2-887d-6fdc9ecc3c0a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c52e9695-1a92-48c2-887d-6fdc9ecc3c0a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:26 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:13:30,987] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '402691a5-094d-4667-80e0-9250c627356b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '402691a5-094d-4667-80e0-9250c627356b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:31 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:13:36,191] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'fe4f83be-971a-495c-87f2-5fb5d73d5e46', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'fe4f83be-971a-495c-87f2-5fb5d73d5e46', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:36 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:13:41,396] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '8ec46ad8-6c71-44f6-b9a2-c101d7d2513b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '8ec46ad8-6c71-44f6-b9a2-c101d7d2513b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:42 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:13:46,606] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '0d72359a-835c-450f-bc7f-cb54884495bc', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '0d72359a-835c-450f-bc7f-cb54884495bc', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:46 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:13:51,816] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a073ab69-c019-46c8-9d0c-84391a168572', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a073ab69-c019-46c8-9d0c-84391a168572', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:52 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:13:57,019] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '01ed9c91-2732-45a2-bb20-73a4d3c3cc08', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '01ed9c91-2732-45a2-bb20-73a4d3c3cc08', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:13:57 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:14:02,255] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '9334615c-e54f-4281-96a8-b3478e0babcf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '9334615c-e54f-4281-96a8-b3478e0babcf', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:03 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:14:07,450] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'dea9cda7-45ec-43e6-9f10-6393907dd10a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'dea9cda7-45ec-43e6-9f10-6393907dd10a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:08 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:14:12,682] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f6100991-938c-473a-9ae6-d750a2924533', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f6100991-938c-473a-9ae6-d750a2924533', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:13 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:14:17,883] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '48bf8136-e0df-4386-aa57-c145ff239da5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '48bf8136-e0df-4386-aa57-c145ff239da5', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:18 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:14:23,096] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'b46b1850-0901-4570-b52b-9f8d0f5b8bfb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'b46b1850-0901-4570-b52b-9f8d0f5b8bfb', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:23 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:14:28,296] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'dc7ae8cb-a70e-4e5e-ac69-7c76f9b89df1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'dc7ae8cb-a70e-4e5e-ac69-7c76f9b89df1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:28 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:14:33,525] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '4a997eca-f803-4f74-a0d1-fcb34b9cd0ff', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '4a997eca-f803-4f74-a0d1-fcb34b9cd0ff', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:34 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:14:38,741] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c0012d65-f7b3-4417-a3bf-eb2a9608293d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c0012d65-f7b3-4417-a3bf-eb2a9608293d', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:39 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:14:43,949] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '9b6a7a1b-5cfe-4d08-b0ba-d31369fa1cc7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '9b6a7a1b-5cfe-4d08-b0ba-d31369fa1cc7', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:44 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:14:49,153] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '2d58aeb6-8329-4eb8-b797-74a43b5b5cba', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '2d58aeb6-8329-4eb8-b797-74a43b5b5cba', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:49 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:14:54,387] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '1d8be8f0-04ca-42fc-9b2f-0d229d825255', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '1d8be8f0-04ca-42fc-9b2f-0d229d825255', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:14:54 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:14:59,585] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '0b15b56b-3d1c-42ae-8ff1-c3d9b0483cd3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '0b15b56b-3d1c-42ae-8ff1-c3d9b0483cd3', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:00 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:15:04,796] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '78d26e47-d5a1-4650-94b5-8ab412adfb18', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '78d26e47-d5a1-4650-94b5-8ab412adfb18', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:05 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:15:10,048] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '6307f189-1866-4c3a-b93c-113771fbd77e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '6307f189-1866-4c3a-b93c-113771fbd77e', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:10 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:15:15,294] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '9d135df7-a781-47f2-8164-46586936f6e1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '9d135df7-a781-47f2-8164-46586936f6e1', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:15 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:15:20,555] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '825dedda-48cb-4da9-83ba-10a0cdbf83dc', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '825dedda-48cb-4da9-83ba-10a0cdbf83dc', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:20 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:15:25,775] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '492f51ce-e201-4615-86f8-d17e3fc475ab', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '492f51ce-e201-4615-86f8-d17e3fc475ab', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:26 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:15:31,269] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a4ef7388-20fb-4e9d-b984-7fa11ed94faa', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a4ef7388-20fb-4e9d-b984-7fa11ed94faa', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:31 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:15:36,515] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f35895cd-d53a-4279-9073-553a84f969a5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f35895cd-d53a-4279-9073-553a84f969a5', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:37 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:15:41,726] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'f3e4ae3f-adc7-4996-afb1-a674e47e5e3e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f3e4ae3f-adc7-4996-afb1-a674e47e5e3e', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:42 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:15:46,942] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'e5cf48a2-cd5d-42a1-abcb-553b14d06f3b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e5cf48a2-cd5d-42a1-abcb-553b14d06f3b', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:47 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:15:52,155] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '4ef99da7-c037-43f8-8538-4b496ef8fc8c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '4ef99da7-c037-43f8-8538-4b496ef8fc8c', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:52 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:15:57,370] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '25f6456f-1aa7-478e-afc3-5590cb7ef946', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '25f6456f-1aa7-478e-afc3-5590cb7ef946', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:15:57 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:16:02,574] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'ec1a6062-8d1e-4c45-86fc-a39f500d45e5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'ec1a6062-8d1e-4c45-86fc-a39f500d45e5', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:03 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:16:07,785] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'c081cc5d-5d46-4eaf-9baf-fca1b4da97ca', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c081cc5d-5d46-4eaf-9baf-fca1b4da97ca', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:07 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:16:13,001] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '82ef8946-ee00-4cb7-9cef-bfb7814f8a62', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '82ef8946-ee00-4cb7-9cef-bfb7814f8a62', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:13 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:16:18,217] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '490d924d-e54e-4140-871b-4bf9e5ff6600', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '490d924d-e54e-4140-871b-4bf9e5ff6600', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:18 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:16:23,421] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '55a68c23-7a1e-4254-9081-45ccc72d7b03', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '55a68c23-7a1e-4254-9081-45ccc72d7b03', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:23 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:16:28,639] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '460f85b2-2c80-4923-bc23-1605a6e0645f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '460f85b2-2c80-4923-bc23-1605a6e0645f', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:29 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:16:33,886] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '88e6135a-2335-4b74-be3c-0dc952b58e00', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '88e6135a-2335-4b74-be3c-0dc952b58e00', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:34 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:16:39,129] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'd07afec3-f18d-4bcb-9d71-5bf5d99424bd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'd07afec3-f18d-4bcb-9d71-5bf5d99424bd', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:39 GMT'}, 'RetryAttempts': 0}}
/[2020-01-24 15:16:44,332] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '3bf7f0cd-ceeb-4e09-aeaf-8a94b712d588', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '3bf7f0cd-ceeb-4e09-aeaf-8a94b712d588', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:44 GMT'}, 'RetryAttempts': 0}}
-[2020-01-24 15:16:49,543] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'bb46b045-e29b-4d13-9e93-de626d71d36a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'bb46b045-e29b-4d13-9e93-de626d71d36a', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:50 GMT'}, 'RetryAttempts': 0}}
\[2020-01-24 15:16:54,821] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'EndpointStatus': 'Creating', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '80c9dc8f-61ce-4925-8ad2-c262d1537825', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '80c9dc8f-61ce-4925-8ad2-c262d1537825', 'content-type': 'application/x-amz-json-1.1', 'content-length': '307', 'date': 'Fri, 24 Jan 2020 23:16:55 GMT'}, 'RetryAttempts': 0}}
|[2020-01-24 15:17:00,068] DEBUG - AWS describe endpoint response: {'EndpointName': 'dev-first-tf-fashion', 'EndpointArn': 'arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion', 'EndpointConfigName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'ProductionVariants': [{'VariantName': 'dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770', 'DeployedImages': [{'SpecifiedImage': '192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770', 'ResolvedImage': '192023623294.dkr.ecr.us-west-2.amazonaws.com/[email protected]:bef049c20e8e50368fee7ef200fc32d3f75ae5307ac81d9a9d35fdb3bb205dba', 'ResolutionTime': datetime.datetime(2020, 1, 24, 15, 8, 48, 431000, tzinfo=tzlocal())}], 'CurrentWeight': 1.0, 'DesiredWeight': 1.0, 'CurrentInstanceCount': 1, 'DesiredInstanceCount': 1}], 'EndpointStatus': 'InService', 'CreationTime': datetime.datetime(2020, 1, 24, 15, 8, 46, 337000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2020, 1, 24, 15, 16, 58, 219000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': 'a0ea1dc9-2966-493e-a375-20e8c113efe8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'a0ea1dc9-2966-493e-a375-20e8c113efe8', 'content-type': 'application/x-amz-json-1.1', 'content-length': '843', 'date': 'Fri, 24 Jan 2020 23:17:00 GMT'}, 'RetryAttempts': 0}}
Successfully created AWS Sagemaker deployment first-tf-fashion
{
  "namespace": "dev",
  "name": "first-tf-fashion",
  "spec": {
    "bentoName": "FashionMnistTensorflow",
    "bentoVersion": "20200124145408_3B6770",
    "operator": "AWS_SAGEMAKER",
    "sagemakerOperatorConfig": {
      "region": "us-west-2",
      "instanceType": "ml.m4.xlarge",
      "instanceCount": 1,
      "apiName": "predict"
    }
  },
  "state": {
    "state": "RUNNING",
    "infoJson": {
      "EndpointName": "dev-first-tf-fashion",
      "EndpointArn": "arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion",
      "EndpointConfigName": "dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770",
      "ProductionVariants": [
        {
          "VariantName": "dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770",
          "DeployedImages": [
            {
              "SpecifiedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770",
              "ResolvedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/[email protected]:bef049c20e8e50368fee7ef200fc32d3f75ae5307ac81d9a9d35fdb3bb205dba",
              "ResolutionTime": "2020-01-24 15:08:48.431000-08:00"
            }
          ],
          "CurrentWeight": 1.0,
          "DesiredWeight": 1.0,
          "CurrentInstanceCount": 1,
          "DesiredInstanceCount": 1
        }
      ],
      "EndpointStatus": "InService",
      "CreationTime": "2020-01-24 15:08:46.337000-08:00",
      "LastModifiedTime": "2020-01-24 15:16:58.219000-08:00",
      "ResponseMetadata": {
        "RequestId": "a0ea1dc9-2966-493e-a375-20e8c113efe8",
        "HTTPStatusCode": 200,
        "HTTPHeaders": {
          "x-amzn-requestid": "a0ea1dc9-2966-493e-a375-20e8c113efe8",
          "content-type": "application/x-amz-json-1.1",
          "content-length": "843",
          "date": "Fri, 24 Jan 2020 23:17:00 GMT"
        },
        "RetryAttempts": 0
      }
    },
    "timestamp": "2020-01-24T23:17:00.069582Z"
  },
  "createdAt": "2020-01-24T22:59:44.836947Z",
  "lastUpdatedAt": "2020-01-24T22:59:44.836992Z"
}
In [28]:
!bentoml sagemaker get first-tf-fashion
{
  "namespace": "dev",
  "name": "first-tf-fashion",
  "spec": {
    "bentoName": "FashionMnistTensorflow",
    "bentoVersion": "20200124145408_3B6770",
    "operator": "AWS_SAGEMAKER",
    "sagemakerOperatorConfig": {
      "region": "us-west-2",
      "instanceType": "ml.m4.xlarge",
      "instanceCount": 1,
      "apiName": "predict"
    }
  },
  "state": {
    "state": "RUNNING",
    "infoJson": {
      "EndpointName": "dev-first-tf-fashion",
      "EndpointArn": "arn:aws:sagemaker:us-west-2:192023623294:endpoint/dev-first-tf-fashion",
      "EndpointConfigName": "dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770",
      "ProductionVariants": [
        {
          "VariantName": "dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770",
          "DeployedImages": [
            {
              "SpecifiedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/fashionmnisttensorflow-sagemaker:20200124145408_3B6770",
              "ResolvedImage": "192023623294.dkr.ecr.us-west-2.amazonaws.com/[email protected]:bef049c20e8e50368fee7ef200fc32d3f75ae5307ac81d9a9d35fdb3bb205dba",
              "ResolutionTime": "2020-01-24 15:08:48.431000-08:00"
            }
          ],
          "CurrentWeight": 1.0,
          "DesiredWeight": 1.0,
          "CurrentInstanceCount": 1,
          "DesiredInstanceCount": 1
        }
      ],
      "EndpointStatus": "InService",
      "CreationTime": "2020-01-24 15:08:46.337000-08:00",
      "LastModifiedTime": "2020-01-24 15:16:58.219000-08:00",
      "ResponseMetadata": {
        "RequestId": "0f0e6aec-5579-41ef-a485-d87649040b59",
        "HTTPStatusCode": 200,
        "HTTPHeaders": {
          "x-amzn-requestid": "0f0e6aec-5579-41ef-a485-d87649040b59",
          "content-type": "application/x-amz-json-1.1",
          "content-length": "843",
          "date": "Fri, 24 Jan 2020 23:17:12 GMT"
        },
        "RetryAttempts": 0
      }
    },
    "timestamp": "2020-01-24T23:17:12.861762Z"
  },
  "createdAt": "2020-01-24T22:59:44.836947Z",
  "lastUpdatedAt": "2020-01-24T22:59:44.836992Z"
}
In [33]:
!aws sagemaker-runtime invoke-endpoint --endpoint-name dev-first-tf-fashion --content-type 'application/json' \
--body "{\"instances\":[{\"b64\":\"iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAA2dJREFUSIntlk9L60oYh59Mp43axJoiVj2KboSuXPoJXLkQ/Fx+Ahe6ceFG3CtdWlFcFf9RKlhFatpSbWuaNLHJnIW3OR7ugcu9BzxccGAgZCbv887v/b1JNKWU4hOH+EzYF/AL+OeBYRjysct83wegUqn8HlApRRRFADw+PrK/v4/jOCQSCTRNi/fpug7AwcHB7wEBhHh/9Pj4mGKxyM7Ozt/2NBoNdnd3MU0zvif/CywMQ6SUnJ+fc3NzQy6Xo1KpsLGxgWVZ9Pt9FhYWaLVadLtd5ubmfiT6b2FRFCGlxHEc9vf3UUrR7/d5fX1FKRXPq6srpJRYlsVgMPhn4LD4URTF12EYxlJubW2Ry+WYnp7G8zz6/T65XC6uYzqdRtd1fN+n2+3iOM6vgcPgw+ILIdA0jTAMSSQSAOzt7WHbNtPT0xiGQbvdJpvNMjU1RTKZJAxD3t7e4ni9Xo/b29tfA4egKIoYDAZxAkPYzs4OpVKJ+fl5Wq0W7XYbz/PIZDK8vr6iaRpjY2Mkk0mUUnG8w8ND4INphjbXNA2lFEKIWD6AWq3GwcEBnuextLSE4zj4vk+r1SKVSqFpGq7rxsnpuo4QgnQ6jRCCYrH4DhxK9TH4MKtms0m1WqVcLvP09EQqlWJ8fJx2u0232+Xt7Q3f9xFCUK1WGQwGTExMkEwmEUKglGJ0dJQwDDEMg8vLS+RQqnq9zv39Pb1ej16vh+d53N3d4bouUkpM0ySKIjqdDp7nIaXEdV1GR0fRdZ0gCJidnaXT6eC6LpZl4TgOLy8vpNNpbNvm+fn5XdJCoUCtVkNKSbPZjA0yBDmOg23bKKXwfR/LsoiiCMdxCMOQdDqNYRhkMhkajUaslGVZCCHwPI8gCJBSIo+Ojtje3iafzzMzMxOfJJVKxe9G0zQJggAhRNxvnuehaRpRFGHbNvV6nevra4IgIAxDAAzDwHVddF3HMAympqaQKysrnJ6ecnFx8aOwf50sm82SzWbJZDIEQYBSilarRblcxnVdut0umqZRKpVYXl5mcXGRQqGA7/uxD6SUfPv2DdM031388SfKcRzOzs4ol8ucnJzQbDZ/atqhA7PZLPl8ntXVVdbW1hgZGYnX19fXeXh4YHJyEtM0MU0TKSW6rrO5ufkz8DPG//sD/AX8I8DvdgnOxdB4B1wAAAAASUVORK5CYII=\"}]}" \
output.json && cat output.json
{
    "ContentType": "application/json",
    "InvokedProductionVariant": "dev-first-tf-fas-FashionMnistTensorflow-20200124145408-3B6770"
}
"Ankle boot"
In [34]:
!bentoml sagemaker delete first-tf-fashion --force
Successfully deleted AWS Sagemaker deployment "first-tf-fashion"
In [ ]: