|
11 | 11 |
|
12 | 12 | Doing the three steps above allows you to visualize model performance within Nucleus, or compare multiple models that have been run on the same Dataset.
|
13 | 13 |
|
14 |
| -Note that you can always add more predictions to a dataset, but then you will need to re-run the calculation of metrics in order to have them be correct. :: |
15 |
| -
|
16 |
| -
|
17 |
| -import nucleus |
18 |
| -client = nucleus.NucleusClient("YOUR_SCALE_API_KEY") |
19 |
| -prediction_1 = nucleus.BoxPrediction(label="label", x=0, y=0, width=10, height=10, reference_id="1", confidence=0.9, class_pdf={'label': 0.9, 'other_label': 0.1}) |
20 |
| -prediction_2 = nucleus.BoxPrediction(label="label", x=0, y=0, width=10, height=10, reference_id="2", confidence=0.2, class_pdf={'label': 0.2, 'other_label': 0.8}) |
21 |
| -model = client.add_model(name="My Model", reference_id="My-CNN", metadata={"timestamp": "121012401"}) |
22 |
| -# For small ingestions, we recommend synchronous ingestion |
23 |
| -response = dataset.upload_predictions(model, [prediction_1, prediction_2]) |
24 |
| -# For large ingestions, we recommend asynchronous ingestion |
25 |
| -job = dataset.upload_predictions([prediction_1, prediction_2], asynchronous=True) |
26 |
| -# Check current status |
27 |
| -job.status() |
28 |
| -# Sleep until ingestion is done |
29 |
| -job.sleep_until_complete() |
30 |
| -# Check errors |
31 |
| -job.errors() |
| 14 | +
|
| 15 | +Note that you can always add more predictions to a dataset, but then you will need to re-run the calculation of metrics in order to have them be correct. |
| 16 | +
|
| 17 | +:: |
| 18 | +
|
| 19 | + import nucleus |
| 20 | +
|
| 21 | + client = nucleus.NucleusClient("YOUR_SCALE_API_KEY") |
| 22 | + dataset = client.get_dataset("YOUR_DATASET_ID") |
| 23 | + prediction_1 = nucleus.BoxPrediction( |
| 24 | + label="label", |
| 25 | + x=0, |
| 26 | + y=0, |
| 27 | + width=10, |
| 28 | + height=10, |
| 29 | + reference_id="1", |
| 30 | + confidence=0.9, |
| 31 | + class_pdf={"label": 0.9, "other_label": 0.1}, |
| 32 | + ) |
| 33 | + prediction_2 = nucleus.BoxPrediction( |
| 34 | + label="label", |
| 35 | + x=0, |
| 36 | + y=0, |
| 37 | + width=10, |
| 38 | + height=10, |
| 39 | + reference_id="2", |
| 40 | + confidence=0.2, |
| 41 | + class_pdf={"label": 0.2, "other_label": 0.8}, |
| 42 | + ) |
| 43 | + model = client.add_model( |
| 44 | + name="My Model", reference_id="My-CNN", metadata={"timestamp": "121012401"} |
| 45 | + ) |
| 46 | + # For small ingestions, we recommend synchronous ingestion |
| 47 | + response = dataset.upload_predictions(model, [prediction_1, prediction_2]) |
| 48 | + # For large ingestions, we recommend asynchronous ingestion |
| 49 | + job = dataset.upload_predictions( |
| 50 | + [prediction_1, prediction_2], asynchronous=True |
| 51 | + ) |
| 52 | + # Check current status |
| 53 | + job.status() |
| 54 | + # Sleep until ingestion is done |
| 55 | + job.sleep_until_complete() |
| 56 | + # Check errors |
| 57 | + job.errors() |
| 58 | +
|
| 59 | + dataset.calculate_evaluation_metrics(model) |
32 | 60 | """
|
33 | 61 | from typing import List, Optional, Dict, Union
|
34 | 62 | from .dataset import Dataset
|
|
0 commit comments