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()
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_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
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()
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')
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
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)
def test_transform_creation_2(): ws = _get_ws() exp = skil.Experiment(ws) model = skil.Transform('iris_tp.json', experiment=exp)
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))
def test_model_creation_2(): ws = _get_ws() exp = skil.Experiment(ws) model = skil.Model('keras_mnist.h5', experiment=exp)
def test_experiment_deletion(): ws = _get_ws() exp = skil.Experiment(ws) exp.delete()
def test_experiment_creation(): sk = skil.Skil() work_space = skil.WorkSpace(sk) exp = skil.Experiment(work_space) work_space.delete() exp.delete()
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)
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.
def test_experiment_creation(): ws = _get_ws() exp = skil.Experiment(work_space)