This tutorial and the assets can be downloaded as part of the Wallaroo Tutorials repository.
This tutorial demonstrates Wallaroo Pipeline MLOps API for pipeline log retrieval for Computer Vision based models.
This tutorial will demonstrate how to:
This tutorial provides the following:
models/yolov8n.onnx
: A pre-trained Yolov8n model.data/dogbike.png
: A PNG image with a dog and bicycle.data/dogbike.df.json
: A pandas Record format JSON file of the PNG image converted to numpy array values for inference requests.wallaroo
: The Wallaroo SDK. Included with the Wallaroo JupyterHub service by default.The first step is to import the libraries needed for this notebook.
import wallaroo
from wallaroo.object import EntityNotFoundError
import pyarrow as pa
from IPython.display import display
# used to display DataFrame information without truncating
from IPython.display import display
import pandas as pd
pd.set_option('display.max_colwidth', None)
import datetime
import requests
The first step is to connect to Wallaroo through the Wallaroo client. The Python library is included in the Wallaroo install and available through the Jupyter Hub interface provided with your Wallaroo environment.
This is accomplished using the wallaroo.Client()
command, which provides a URL to grant the SDK permission to your specific Wallaroo environment. When displayed, enter the URL into a browser and confirm permissions. Store the connection into a variable that can be referenced later.
If logging into the Wallaroo instance through the internal JupyterHub service, use wl = wallaroo.Client()
. For more details on logging in through Wallaroo, see the Wallaroo SDK Essentials Guide: Client Connection.
# Login through local Wallaroo instance
wl = wallaroo.Client()
The variable wl.api_endpoint
is used to specify the connection to the Wallaroo instance’s MLOps API URL, and is composed of the Wallaroo Domain Name. For full details, see the Wallaroo API Connection Guide.
For this demonstration, the following Wallaroo SDK methods are used to generate the API authentication Bearer token, and the MLOps API URL.
For full details on connecting to a Wallaroo instance via MLOps API calls, see the Wallaroo API Connection Guide.
These methods are:
wallaroo.client.auth_header()
: Returns the authorization Bearer token for a user authenticated through the Wallaroo SDK.wallaroo.client.api_endpoint
: Returns the Wallaroo instance’s api endpoint.display(wl.auth.auth_header())
display(wl.api_endpoint)
{'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJVck9FV3NYUGtvcEFjSU5CYmRrWWFFTFMzSzJiMGlSd21pdWgxb3VVbWhFIn0.eyJleHAiOjE3MTMyODAyMjUsImlhdCI6MTcxMzI4MDE2NSwiYXV0aF90aW1lIjoxNzEzMjc4MDg5LCJqdGkiOiJkMzZiZDU1ZS1hNmYzLTQ1NDgtOWQzMS0wYWEwNGFkOTM0NTYiLCJpc3MiOiJodHRwczovL2RvYy10ZXN0LmtleWNsb2FrLndhbGxhcm9vY29tbXVuaXR5Lm5pbmphL2F1dGgvcmVhbG1zL21hc3RlciIsImF1ZCI6WyJtYXN0ZXItcmVhbG0iLCJhY2NvdW50Il0sInN1YiI6IjY1MTI0YjE4LTgzODItNDlhZi1iM2M4LWFkYTNiOWRmMzMzMCIsInR5cCI6IkJlYXJlciIsImF6cCI6InNkay1jbGllbnQiLCJzZXNzaW9uX3N0YXRlIjoiMGU5NzFkM2EtYTY0OS00NTNmLWE2ODYtYWU2ODBkYjMxYjAwIiwiYWNyIjoiMSIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJjcmVhdGUtcmVhbG0iLCJkZWZhdWx0LXJvbGVzLW1hc3RlciIsIm9mZmxpbmVfYWNjZXNzIiwiYWRtaW4iLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7Im1hc3Rlci1yZWFsbSI6eyJyb2xlcyI6WyJ2aWV3LWlkZW50aXR5LXByb3ZpZGVycyIsInZpZXctcmVhbG0iLCJtYW5hZ2UtaWRlbnRpdHktcHJvdmlkZXJzIiwiaW1wZXJzb25hdGlvbiIsImNyZWF0ZS1jbGllbnQiLCJtYW5hZ2UtdXNlcnMiLCJxdWVyeS1yZWFsbXMiLCJ2aWV3LWF1dGhvcml6YXRpb24iLCJxdWVyeS1jbGllbnRzIiwicXVlcnktdXNlcnMiLCJtYW5hZ2UtZXZlbnRzIiwibWFuYWdlLXJlYWxtIiwidmlldy1ldmVudHMiLCJ2aWV3LXVzZXJzIiwidmlldy1jbGllbnRzIiwibWFuYWdlLWF1dGhvcml6YXRpb24iLCJtYW5hZ2UtY2xpZW50cyIsInF1ZXJ5LWdyb3VwcyJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIG9wZW5pZCIsInNpZCI6IjBlOTcxZDNhLWE2NDktNDUzZi1hNjg2LWFlNjgwZGIzMWIwMCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJodHRwczovL2hhc3VyYS5pby9qd3QvY2xhaW1zIjp7IngtaGFzdXJhLXVzZXItaWQiOiI2NTEyNGIxOC04MzgyLTQ5YWYtYjNjOC1hZGEzYjlkZjMzMzAiLCJ4LWhhc3VyYS1kZWZhdWx0LXJvbGUiOiJhZG1pbiIsIngtaGFzdXJhLWFsbG93ZWQtcm9sZXMiOlsidXNlciIsImFkbWluIl0sIngtaGFzdXJhLXVzZXItZ3JvdXBzIjoie30ifSwicHJlZmVycmVkX3VzZXJuYW1lIjoiam9obi5oYW5zYXJpY2tAd2FsbGFyb28uYWkiLCJlbWFpbCI6ImpvaG4uaGFuc2FyaWNrQHdhbGxhcm9vLmFpIn0.BN4PO0CXuTvcgyvUgRLXrfKwY3OUVguB1P_TAOUSkT9hHJnc_GNfrif18lcnjq_x8c29fmdPxUp5BolCfcp2vR_au4WTAzEWs6TuZj4g34iJFbwSdZ49xtmqwLEbrlXoC--Fek1qQAw7ljF5buV4r-vV4xskAHqI8Q0YcF68WHPpTjm_fvR6HJKwgI9DzmkBknBlZwqLDMtrDvVc436f84ZkbbSdRMHAle1Y6MKeJM4E763C_MN-N7d0L0hhyY2wVmSXUpY0x43Vydl-txJ-fQzhnUf6JOoTcwAq_CG1zb1v56WVjoOpmcs3fEy2veN8Tr_8le0B-A0-_ZeNNPxKFQ'}
We will create a workspace to manage our pipeline and models. The following variables will set the name of our sample workspace then set it as the current workspace.
IMPORTANT NOTE: Workspace names must be unique across the Wallaroo instance. To verify unique names, the randomization code below is provided to allow the workspace name to be unique. If this is not required, set suffix
to ''
.
References
workspace_name = f'log-api-cv-workspace'
main_pipeline_name = 'log-api-cv'
model_name = 'yolov8n'
model_file_name = './models/yolov8n.onnx'
workspace = wl.get_workspace(name=workspace_name, create_if_not_exist=True)
wl.set_current_workspace(workspace)
workspace_id = workspace.id()
For our example, we will upload the Yolov8n model, and set the input field to images
.
# Upload Retrained Yolo8 Model
yolov8_model = (wl.upload_model(model_name,
model_file_name,
framework=wallaroo.framework.Framework.ONNX)
.configure(tensor_fields=['images'],
batch_config="single"
)
)
This pipeline is made to be an example of an existing situation where a model is deployed and being used for inferences in a production environment. We’ll call it housepricepipeline
, set housingcontrol
as a pipeline step, then run a few sample inferences.
mainpipeline = wl.build_pipeline(main_pipeline_name)
# in case this pipeline was run before
mainpipeline.undeploy()
mainpipeline.clear()
mainpipeline.add_model_step(yolov8_model).deploy()
name | log-api-cv |
---|---|
created | 2024-04-16 15:09:59.926451+00:00 |
last_updated | 2024-04-16 15:10:01.262158+00:00 |
deployed | True |
arch | x86 |
accel | none |
tags | |
versions | a4967d2a-4429-45ed-b8f1-83315705f2fd, c2cff22d-59d7-4152-b674-d4862400a9d5 |
steps | yolov8n |
published | False |
We’ll pass in our DataFrame reference file as an inference request, noting the start and end times for our log retrieval.
dataframe_start = datetime.datetime.now(datetime.timezone.utc)
# run as inference api
# Retrieve the token
headers = wl.auth.auth_header()
# set Content-Type type
headers['Content-Type']='application/json; format=pandas-records'
## Inference through external URL using dataframe
df = pd.read_json('./data/dogbike.df.json')
data = df.to_dict(orient="records")
# submit the request via POST, import as pandas DataFrame
response = pd.DataFrame.from_records(
requests.post(
mainpipeline._deployment._url(),
json=data,
headers=headers)
.json()
)
# just to account for any local versus server time discrepancy
import time
time.sleep(20)
dataframe_end = datetime.datetime.now(datetime.timezone.utc)
Pipeline logs are retrieved through the Wallaroo MLOps API with the following request.
v1/api/pipelines/get_logs
application/json; format=pandas-records
: For the logs returned as pandas DataFrameapplication/vnd.apache.arrow.file
: for the logs returned as Apache ArrowDesc
): The order for log inserts returned. Valid values are:Asc
: In chronological order of inserts.Desc
: In reverse chronological order of inserts.1000
.): Max records per page.end_time
.start_time
.'application/json; format=pandas-records'
format. To request the logs as Apache Arrow tables, set the submission header Accept
to application/vnd.apache.arrow.file
.x-iteration-status
is All
.x-iteration-status
is All
, then x-iteration-cursor
is not provided.For our example, we will retrieve the pipeline logs. FIrst by specifying the date and time, then we will request the logs and continue to show them as long as the cursor has another log to display. Because of the size of the input and outputs, most logs may be constrained by the x-iteration-status
as ByteLimited
.
# retrieve the authorization token
headers = wl.auth.auth_header()
url = f"{wl.api_endpoint}/v1/api/pipelines/get_logs"
# Standard log retrieval
data = {
'pipeline_name': main_pipeline_name,
'workspace_id': workspace_id,
'start_time': dataframe_start.isoformat(),
'end_time': dataframe_end.isoformat()
}
response = requests.post(url, headers=headers, json=data)
standard_logs = pd.DataFrame.from_records(response.json())
display(len(standard_logs))
display(standard_logs.loc[:, ["time", "out"]])
1
time | out | |
---|---|---|
0 | 1713280427735 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
# retrieve the authorization token
headers = wl.auth.auth_header()
url = f"{wl.api_endpoint}/v1/api/pipelines/get_logs"
# datetime set back one day to get more values
data = {
'pipeline_name': main_pipeline_name,
'workspace_id': workspace_id
}
response = requests.post(url, headers=headers, json=data)
standard_logs = pd.DataFrame.from_records(response.json())
display(standard_logs.loc[:, ["time", "out"]])
cursor = response.headers['x-iteration-cursor']
# if there's another record, get the next one
while 'x-iteration-cursor' in response.headers:
# retrieve the authorization token
headers = wl.auth.auth_header()
url = f"{wl.api_endpoint}/v1/api/pipelines/get_logs"
# datetime set back one day to get more values
data = {
'pipeline_name': main_pipeline_name,
'workspace_id': workspace_id,
'cursor': response.headers['x-iteration-cursor']
}
response = requests.post(url, headers=headers, json=data)
# if there's no response, the logs are done
if response.json() != []:
standard_logs = pd.DataFrame.from_records(response.json())
display(standard_logs.head(5).loc[:, ["time", "out"]])
time | out | |
---|---|---|
0 | 1713280218755 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
1 | 1713280248619 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
2 | 1713280257168 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
3 | 1713280268090 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
4 | 1713280278256 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
5 | 1713280288872 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
6 | 1713280297799 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
7 | 1713280306970 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
8 | 1713280427735 | {'output0': [17.097874, 16.459345, 17.259743, 19.960596, 43.60022, 59.986965, 62.826073, 68.247925, 77.43261, 80.82158, 89.44183, 96.168915, 99.2242, 112.584015, 126.75801, 131.97072, 137.16452, 141.93823, 146.29596, 152.00876, 155.94035, 165.20975, 175.2725, 184.0531, 193.66891, 201.5119, 215.04976, 223.80426, 227.24472, 234.19638, 244.97429, 248.57806, 252.42526, 264.95792, 278.48566, 285.758, 293.1897, 300.48227, 305.47742, 314.46085, 319.89404, 324.83658, 335.99533, 345.11157, 350.31964, 352.411, 365.44946, 381.3001, 391.5232, 399.29163, 405.78503, 411.338, 415.93204, 421.68677, 431.67108, 439.9069, 447.71545, 459.38525, 474.1318, 479.3264, 484.49887, 493.5153, 501.2993, 507.79666, 514.26044, 523.1472, 531.3479, 542.5094, 555.6191, 557.7229, 564.6408, 571.55255, 572.8372, 587.95703, 604.2997, 609.452, 616.31714, 623.5797, 624.13153, 634.47266, 16.970057, 16.788725, 17.441803, 17.900644, 36.18802, 57.277977, 61.664352, 62.55689, 63.43486, 79.5062, 83.843994, 95.98375, 106.16601, 115.36844, 123.09251, 124.5821, 128.65866, 139.16113, 142.02315, 143.69856, ...]} |
With the examples and tutorial complete, we will undeploy the main pipeline and return the resources back to the Wallaroo instance.
mainpipeline.undeploy()
name | log-api-cv |
---|---|
created | 2024-04-16 15:09:59.926451+00:00 |
last_updated | 2024-04-16 15:10:01.262158+00:00 |
deployed | False |
arch | x86 |
accel | none |
tags | |
versions | a4967d2a-4429-45ed-b8f1-83315705f2fd, c2cff22d-59d7-4152-b674-d4862400a9d5 |
steps | yolov8n |
published | False |