Spaces:
Runtime error
Runtime error
| import os | |
| import modal | |
| BACKFILL=False | |
| LOCAL=False | |
| if LOCAL == False: | |
| stub = modal.Stub() | |
| image = modal.Image.debian_slim().pip_install(["hopsworks","joblib","seaborn","sklearn","dataframe-image"]) | |
| def f(): | |
| g() | |
| def generate_flower(name, sepal_len_max, sepal_len_min, sepal_width_max, sepal_width_min, | |
| petal_len_max, petal_len_min, petal_width_max, petal_width_min): | |
| """ | |
| Returns a single iris flower as a single row in a DataFrame | |
| """ | |
| import pandas as pd | |
| import random | |
| df = pd.DataFrame({ "sepal_length": [random.uniform(sepal_len_max, sepal_len_min)], | |
| "sepal_width": [random.uniform(sepal_width_max, sepal_width_min)], | |
| "petal_length": [random.uniform(petal_len_max, petal_len_min)], | |
| "petal_width": [random.uniform(petal_width_max, petal_width_min)] | |
| }) | |
| df['variety'] = name | |
| return df | |
| def get_random_iris_flower(): | |
| """ | |
| Returns a DataFrame containing one random iris flower | |
| """ | |
| import pandas as pd | |
| import random | |
| virginica_df = generate_flower("Virginica", 8, 5.5, 3.8, 2.2, 7, 4.5, 2.5, 1.4) | |
| versicolor_df = generate_flower("Versicolor", 7.5, 4.5, 3.5, 2.1, 3.1, 5.5, 1.8, 1.0) | |
| setosa_df = generate_flower("Setosa", 6, 4.5, 4.5, 2.3, 1.2, 2, 0.7, 0.3) | |
| # randomly pick one of these 3 and write it to the featurestore | |
| pick_random = random.uniform(0,3) | |
| if pick_random >= 2: | |
| iris_df = virginica_df | |
| print("Virginica added") | |
| elif pick_random >= 1: | |
| iris_df = versicolor_df | |
| print("Versicolor added") | |
| else: | |
| iris_df = setosa_df | |
| print("Setosa added") | |
| return iris_df | |
| def g(): | |
| import hopsworks | |
| import pandas as pd | |
| project = hopsworks.login() | |
| fs = project.get_feature_store() | |
| if BACKFILL == True: | |
| iris_df = pd.read_csv("https://repo.hops.works/master/hopsworks-tutorials/data/iris.csv") | |
| else: | |
| iris_df = get_random_iris_flower() | |
| iris_fg = fs.get_or_create_feature_group( | |
| name="iris_modal", | |
| version=1, | |
| primary_key=["sepal_length","sepal_width","petal_length","petal_width"], | |
| description="Iris flower dataset") | |
| iris_fg.insert(iris_df, write_options={"wait_for_job" : False}) | |
| if __name__ == "__main__": | |
| if LOCAL == True : | |
| g() | |
| else: | |
| with stub.run(): | |
| f() | |