def test_plate(): ex = jarvis.Experiment('plate_demo') ex.groundClient('git') ones = ex.literal([1, 2, 3], "ones") ones.forEach() tens = ex.literal([10, 100], "tens") tens.forEach() @jarvis.func def multiply(x, y): z = x * y print(z) return z doMultiply = ex.action(multiply, [ones, tens]) product = ex.artifact('product.txt', doMultiply) product.pull() product.plot()
#!/usr/bin/env python3 import jarvis ex = jarvis.Experiment('twitter') ex.groundClient('git') training_tweets = ex.artifact('training_tweets.csv') from clean import clean do_tr_clean = ex.action(clean, [training_tweets]) clean_training_tweets = ex.artifact('clean_training_tweets.pkl', do_tr_clean) from train_model import train do_train = ex.action(train, [clean_training_tweets, 0.0001]) intermediary = ex.artifact('intermediary.pkl', do_train) testing_tweets = ex.artifact('testing_tweets.csv') do_te_clean = ex.action(clean, [testing_tweets]) clean_testing_tweets = ex.artifact('clean_testing_tweets.pkl', do_te_clean) from test_model import test do_test = ex.action(test, [intermediary, clean_testing_tweets]) model_accuracy = ex.artifact('model_accuracy.txt', do_test) model_accuracy.pull() model_accuracy.plot()
#!/usr/bin/env python3 import jarvis import numpy as np ex = jarvis.Experiment("twitter_demo") ex.groundClient('ground') tweets = ex.artifact('tweets.csv') frac = ex.literal(0.75, 'frac') split_seed = ex.literal(42, 'split_seed') from split import split do_split = ex.action(split, [tweets, frac, split_seed]) training_tweets = ex.artifact('training_tweets.pkl', do_split) testing_tweets = ex.artifact('testing_tweets.pkl', do_split) alpha = ex.literal(np.linspace(0.0, 1.0, 8).tolist(), 'alpha') alpha.forEach() from train_model import train do_train = ex.action(train, [training_tweets, alpha]) model = ex.artifact('model.pkl', do_train) from test_model import test do_test = ex.action(test, [model, testing_tweets]) model_accuracy = ex.artifact('model_accuracy.txt', do_test) columnArtifacts = {'model_accuracy': model_accuracy, 'model': model} #model_accuracy.parallelPull(manifest=columnArtifacts)
import jarvis ex = jarvis.Experiment('plate_demo') ex.groundClient('git') ones = ex.literal([1, 2, 3], "ones") ones.forEach() tens = ex.literal([10, 100], "tens") tens.forEach() @jarvis.func def multiply(x, y): z = x * y print(z) return z doMultiply = ex.action(multiply, [ones, tens]) product = ex.artifact('product.txt', doMultiply) product.parallelPull() # product.plot()
#!/usr/bin/env python3 import jarvis import numpy as np with jarvis.Experiment("twitter_demo") as ex: ex.groundClient('ground') tweets = ex.artifact('tweets.csv') frac = ex.literal(0.75, 'frac') split_seed = ex.literal(42, 'split_seed') from split import split do_split = ex.action(split, [tweets, frac, split_seed]) training_tweets = ex.artifact('training_tweets.pkl', do_split) testing_tweets = ex.artifact('testing_tweets.pkl', do_split) alpha = ex.literal(np.linspace(0.0, 1.0, 8).tolist(), 'alpha') alpha.forEach() from train_model import train do_train = ex.action(train, [training_tweets, alpha]) model = ex.artifact('model.pkl', do_train) from test_model import test do_test = ex.action(test, [model, testing_tweets]) model_accuracy = ex.artifact('model_accuracy.txt', do_test) model_accuracy.pull()
import jarvis with jarvis.Experiment('coarse') as ex: ex.groundClient('ground') @jarvis.func def run_existing_pipeline(path_to_data, kernel): import math import numpy as np import pandas as pd from sklearn import metrics from sklearn.svm import SVR from sklearn.model_selection import train_test_split def manhattan_distance(x1, y1, x2, y2): return abs(x1 - x2) + abs(y1 - y2) def roundtime(tstring): hours, mins, secs = tstring.split(':') if int(mins) >= 30: if hours == '23': return '00' else: return str(int(hours) + 1) else: return hours def weekday(start): from datetime import datetime fmt = '%Y-%m-%d %H:%M:%S'