예제 #1
0
def test_experiment_serde():
    exp = skil.Experiment(name='foo')
    exp.save('exp.json')

    recov = skil.Experiment.load('exp.json')

    assert recov.get_config() == exp.get_config()
예제 #2
0
def test_serving():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    save_model()
    model = skil.Model('model.h5', experiment=exp)
    dep = skil.Deployment(ws.skil)
    service = model.deploy(dep)
    from keras.datasets import mnist
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    x_test = x_test.reshape(10000, 784)
    x_test = x_test.astype('float32')
    x_test /= 255
    service.predict_single(x_test[0])
    service.predict(x_test[:10])

    service.stop()
    time.sleep(4)
    with pytest.raises(Exception):
        service.predict(x_test[:10])

    service.start()
    time.sleep(4)
    service.predict(x_test[:10])

    service.delete()
    os.remove('model.h5')
예제 #3
0
def test_experiment_serde_yaml():
    exp = skil.Experiment(name='foo')
    exp.save('exp.yml', file_format='yaml')

    recov = skil.Experiment.load('exp.yml')

    assert recov.get_config() == exp.get_config()
def test_transform_by_id():
    ws = _get_ws()
    exp = skil.Experiment(ws, name='test_transform')
    transform = skil.Transform('iris_tp.json')
    transform_id = transform.id
    tf_2 = skil.get_transform_by_id(transform_id, "CSV", exp)
    assert tf_2.name == transform.name
예제 #5
0
def test_model_creation_2():
    sk = skil.Skil()
    work_space = skil.WorkSpace(sk)
    exp = skil.Experiment(work_space)
    model = skil.Model('keras_mnist.h5', experiment=exp)
    work_space.delete()
    exp.delete()
    model.delete()
예제 #6
0
def test_transform_creation_2():
    sk = skil.Skil()
    work_space = skil.WorkSpace(sk)
    exp = skil.Experiment(work_space)
    transform = skil.Transform('iris_tp.json', experiment=exp)
    transform.add_evaluation(0.42)
    work_space.delete()
    exp.delete()
    transform.delete()
def test_model_by_id():
    ws = _get_ws()
    exp = skil.Experiment(ws, name='test_exp2')
    with open('model.h5', 'w') as f:
        f.write('')
    model = skil.Model('model.h5', name='test_model', experiment=exp)
    model_id = model.id
    model2 = skil.get_model_by_id(exp, model_id)
    assert model.name == model2.name
    os.remove('model.h5')
예제 #8
0
def test_service_creation():
    sk = skil.Skil()
    work_space = skil.WorkSpace(sk)
    exp = skil.Experiment(work_space)
    model = skil.Model('keras_mnist.h5', experiment=exp)
    model.add_evaluation(0.95)

    dep = skil.Deployment(sk)
    model.deploy(dep)
    work_space.delete()
    exp.delete()
    model.delete()
    dep.delete()
def test_experiment_by_id():
    ws = _get_ws()
    exp = skil.Experiment(ws, name='test_exp')
    exp_id = exp.id
    exp2 = skil.get_experiment_by_id(ws.skil, exp_id)
    assert exp.name == exp2.name
예제 #10
0
def test_transform_service_creation():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    model = skil.Transform('iris_tp.json', experiment=exp)
    dep = skil.Deployment(ws.skil)
    model.deploy(dep)
예제 #11
0
def test_transform_creation_2():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    model = skil.Transform('iris_tp.json', experiment=exp)
예제 #12
0
import skil
import numpy as np

skil_server = skil.Skil()
work_space = skil.WorkSpace(skil_server)
experiment = skil.Experiment(work_space)

transform = skil.Transform(transform='iris_tp.json', experiment=experiment)
model = skil.Model(model='iris_model.h5', experiment=experiment)
deployment = skil.Deployment(skil_server)

pipeline = skil.Pipeline(deployment, model, transform)

with open('iris.data', 'r') as f:
    data = np.array(f.readlines())

print(pipeline.predict(data))
예제 #13
0
def test_model_creation_2():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    model = skil.Model('keras_mnist.h5', experiment=exp)
예제 #14
0
def test_experiment_deletion():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    exp.delete()
예제 #15
0
def test_experiment_creation():
    sk = skil.Skil()
    work_space = skil.WorkSpace(sk)
    exp = skil.Experiment(work_space)
    work_space.delete()
    exp.delete()
예제 #16
0
def test_service_creation():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    model = skil.Model('keras_mnist.h5', experiment=exp)
    dep = skil.Deployment(ws.skil)
    model.deploy(dep)
예제 #17
0
import skil
from keras.models import model_from_config
import json

# Load Keras model you want to train
with open('keras_config.json', 'r') as f:
    model = model_from_config(json.load(f))
    model.compile(loss='categorical_crossentropy', optimizer='sgd')

# Create a SKIL model from it
skil_server = skil.Skil()
ws = skil.WorkSpace(skil_server)
experiment = skil.Experiment(ws)
model = skil.Model(model, model_id='keras_mnist_mlp_42',
                   name='keras', experiment=experiment)

# Register compute and storage resources.
s3 = skil.resources.storage.S3(
    skil_server, 's3_resource', 'bucket_name', 'region')
emr = skil.resources.compute.EMR(
    skil_server, 'emr_cluster', 'region', 'credential_uri', 'cluster_id')

# Define your general training setup
training_config = skil.jobs.TrainingJobConfiguration(
    skil_model=model, num_epochs=10, eval_type='ROC_MULTI_CLASS',
    storage_resource=s3, compute_resource=emr,
    data_set_provider_class='MnistProvider',
    eval_data_set_provider_class='MnistProvider',
    output_path='.')

# Optionally specify a distributed training config.
예제 #18
0
def test_experiment_creation():
    ws = _get_ws()
    exp = skil.Experiment(work_space)