Beispiel #1
0
 def __init__(self, model):
     self.model = model
     self.session = whylogs.get_or_create_session("/opt/ml/model/" +
                                                  WHYLOGS_YML)
     self.ylog = self.create_logger()
     self.last_upload_time = datetime.datetime.utcnow()
     atexit.register(self.ylog.close)
Beispiel #2
0
def log_session(dataset_name, session_data):
    session = get_or_create_session()
    df = pd.DataFrame(session_data)
    df["timestamp"] = pd.to_datetime(df["timestamp"], unit="ms")
    df_minutes = df.groupby(pd.Grouper(key="timestamp", freq="min"))
    for minute_batch, batch in df_minutes:
        with session.logger(dataset_name=dataset_name,
                            dataset_timestamp=minute_batch) as logger:
            logger.log_dataframe(batch)
def __generate_reference_profile():

    session = get_or_create_session()

    with session.logger("mytestytest",
                        dataset_timestamp=datetime.datetime(2021, 6,
                                                            2)) as logger:
        for _ in range(5):
            logger.log({"uniform_integers": np.random.randint(0, 50)})
            logger.log({"nulls": None})

        return logger.profile
def __generate_categorical_reference_profile():
    session = get_or_create_session()
    credit_cards = pd.DataFrame([
        {
            "credit_card": "6011 1111 1111 1117"
        },
        {
            "credit_card": "6011-0009-9013-9424"
        },
        {
            "credit_card": "3530 1113 3330 0000"
        },
        {
            "credit_card": "3566-0020-2036-0505"
        },
    ])
    return session.log_dataframe(credit_cards, "test.data")
def __generate_categorical_target_profile():
    session = get_or_create_session()
    credit_cards = pd.DataFrame([
        {
            "credit_card": "3714-496353-98431"
        },
        {
            "credit_card": "3787 344936 71000"
        },
        {
            "credit_card": "3056 930902 5904"
        },
        {
            "credit_card": "3065 133242 2899"
        },
    ])
    return session.log_dataframe(credit_cards, "test.data")
Beispiel #6
0
from flask import Flask, jsonify
from flask_cors import CORS
from joblib import load
from utils import MessageException, message_exception_handler

from whylogs import get_or_create_session

# Load environment variables
load_dotenv()

# Initialize Dataset
df = pd.read_csv(os.environ["DATASET_URL"])

# Load model with joblib
model = load(os.environ["MODEL_PATH"])
whylabs_session = get_or_create_session(os.environ["WHYLABS_CONFIG"])
whylabs_logger = None


def create_app(config_object="settings"):
    """Create application factory, as explained here: http://flask.pocoo.org/docs/patterns/appfactories/.

    :param config_object: The configuration object to use.
    """

    app = Flask(__name__.split(".")[0])

    # Adding CORS
    CORS(app)

    # Adding Logging
Beispiel #7
0
import pandas as pd
import time
from whylogs.core.datasetprofile import dataframe_profile
from whylogs import get_or_create_session

if __name__ == "__main__":
    df = pd.read_csv("data/lending-club-accepted-10.csv")
    print(df.head())
    session = get_or_create_session()

    with session.logger("segment",
                        segments=[[{
                            "key": "home_ownership",
                            "value": "RENT"
                        }], [{
                            "key": "home_ownership",
                            "value": "MORTGAGE"
                        }]],
                        cache=1) as logger:
        print(session.get_config())
        logger.log_dataframe(df)
        profile_seg = logger.segemented_profiles

    with session.logger("my_rotated_seg",
                        segments=["home_ownership"],
                        with_rotation_time="s",
                        cache=1) as logger:
        print(session.get_config())
        logger.log_dataframe(df)
        time.sleep(2)
        logger.log_dataframe(df)
Beispiel #8
0
 def __init__(self, session=None):
     logger.debug("Creating a real session for WhyLogsRun")
     self._session = session if session else get_or_create_session()
Beispiel #9
0
import boto3
import botocore
import flask
import my_model as my_model_code
import numpy as np
import torch
import torchvision.transforms as transforms
from PIL import Image

from whylogs import get_or_create_session

prefix = "/opt/ml/"
# location of you checkpoint in sagemaker container
model_path = os.path.join(prefix, "model")

whylogs_session = get_or_create_session()
logger = whylogs_session.logger(dataset_name="my_deployed_model",
                                dataset_timestamp=datetime.datetime.now(
                                    datetime.timezone.utc),
                                with_rotation_time="5m")

# simple custom metric for embedding
embedding_centr = np.linalg.norm(np.ones(1024))


# loads the model into memory from disk and returns it
def model_fn(model_dir):

    model_config = {
        "backbone": "resnet",
        "outlayer": "C5",