Esempio n. 1
0
def test_model_serde():
    model = skil.Model('keras_mnist.h5', name='bar')
    model.save('model.json')

    recov = skil.Model.load('model.json')

    assert recov.get_config() == model.get_config()
Esempio n. 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')
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()
Esempio n. 4
0
def test_service_serde():
    dep = skil.Deployment()
    model = skil.Model('keras_mnist.h5', name='bar')
    service = model.deploy(dep)
    service.save('service.json')

    recov = skil.Service.load('service.json')

    assert recov.get_config() == service.get_config()
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')
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()
Esempio n. 7
0
def test_base_inference_job():
    skil_server = skil.Skil()
    model = skil.Model('keras_mnist.h5')

    res = skil.resources.compute.EMR(skil_server, 'name244', 'region', 'creds',
                                     'id')
    conf = InferenceJobConfiguration(model, 32, res, res, './', "DSP")

    # job = InferenceJob(skil_server, conf)
    # job.inference_config()
    # with pytest.raises(Exception):
    #     job.run()

    res.delete()
Esempio n. 8
0
    def load(cls, file_name):
        config = deserialize_config(file_name)

        skil_server = skil.Skil.from_config()
        experiment = skil.experiments.get_experiment_by_id(
            skil_server, config['experiment_id'])
        model = skil.Model(model_id=config['model_id'],
                           experiment=experiment,
                           create=False)
        model.name = config['model_name']
        deployment = skil.get_deployment_by_id(skil, config['deployment_id'])
        model_entity = skil_client.ModelEntity(id=config['model_entity_id'])

        return Service(skil=skil_server,
                       model=model,
                       deployment=deployment,
                       model_entity=model_entity)
Esempio n. 9
0
def test_base_training_job():
    skil_server = skil.Skil()
    model = skil.Model('keras_mnist.h5')

    res = skil.resources.compute.EMR(skil_server, 'name234', 'region', 'creds',
                                     'id')
    conf = TrainingJobConfiguration(model, 10, "acc", "EvalDSP", res, res,
                                    './', "DSP")
    distributed_config = ParameterAveraging(8, 32)

    # TODO "jobArgs" does not get recognize"
    # job = TrainingJob(skil_server, conf, distributed_config)
    # job._training_job_args()
    # with pytest.raises(Exception):
    #     job.run()

    res.delete()
Esempio n. 10
0
def test_model_creation_2():
    ws = _get_ws()
    exp = skil.Experiment(ws)
    model = skil.Model('keras_mnist.h5', experiment=exp)
Esempio n. 11
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))
import skil
import cv2

skil_server = skil.Skil()
model = skil.Model('yolo_v2.pb', name='yolo-tf', model_id='yolo-3493723')
deployment = skil.Deployment(skil_server, 'yolo')
service = model.deploy(deployment, input_names=['input'], output_names=['output'], scale=2)

cap = cv2.VideoCapture(0)
while True:
   _, image = cap.read()
   detection = service.detect_objects(image)
   image = skil.utils.yolo.annotate_image(image, detection)
   cv2.imshow('yolo', image)
def test_model_deletion():
    model = skil.Model('keras_mnist.h5')
    model.delete()
Esempio n. 14
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.
Esempio n. 15
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)
def test_model_creation_1():
    model = skil.Model('keras_mnist.h5')
    model.delete()
Esempio n. 17
0
import skil
import cv2

model = skil.Model('yolo.pb', model_id='yolo_42', name='yolo')
service = model.deploy(skil.Deployment(),
                       input_names=['input'],
                       output_names=['output'])

image = cv2.imread("say_yolo_again.jpg")
detection = service.detect_objects(image)
image = skil.utils.yolo.annotate_image(image, detection)
cv2.imwrite('annotated.jpg', image)
Esempio n. 18
0
import skil
import cv2

model = skil.Model('yolo_v2.pb', model_id='yolo_1', name='yolo')
service = model.deploy(skil.Deployment(),
                       input_names=['input'],
                       output_names=['output'])

image = cv2.imread("say_yolo_again.jpg")
detection = service.detect_objects(image)
image = skil.utils.yolo.annotate_image(image, detection)
cv2.imwrite('annotated.jpg', image)