From 1dc18cc1c852fe2d5221c9e9720571afe50329be Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Tue, 26 Nov 2024 17:48:14 -0500 Subject: [PATCH 01/25] competition integration wip --- polaris/competition/_competition.py | 82 ++++++++++++++++++++++--- polaris/dataset/__init__.py | 2 - polaris/dataset/_competition_dataset.py | 25 -------- polaris/mixins/_checksum.py | 2 +- t.py | 19 ++++++ 5 files changed, 92 insertions(+), 38 deletions(-) delete mode 100644 polaris/dataset/_competition_dataset.py create mode 100644 t.py diff --git a/polaris/competition/_competition.py b/polaris/competition/_competition.py index bd28f617..671836e0 100644 --- a/polaris/competition/_competition.py +++ b/polaris/competition/_competition.py @@ -1,10 +1,19 @@ from datetime import datetime -from typing import Optional +from hashlib import md5 +from typing import Optional, Union + +import numpy as np +from pydantic import ValidationInfo, computed_field, field_validator from polaris.benchmark._base import BenchmarkV1Specification from polaris.evaluate import CompetitionPredictions +from polaris.evaluate._metric import Metric +from polaris.experimental._dataset_v2 import DatasetV2 from polaris.hub.settings import PolarisHubSettings -from polaris.utils.types import HubOwner +from polaris.utils.errors import InvalidBenchmarkError +from sklearn.utils.multiclass import type_of_target + +from polaris.utils.types import TargetType class CompetitionSpecification(BenchmarkV1Specification): @@ -12,19 +21,69 @@ class CompetitionSpecification(BenchmarkV1Specification): anything within this class serves as a point of differentiation between the two. Attributes: - owner: A slug-compatible name for the owner of the competition. This is redefined such - that it is required. + dataset: The V2 dataset the competition specification is based on. start_time: The time at which the competition becomes active and interactable. end_time: The time at which the competition ends and is no longer interactable. + main_metric: The main metric used to rank methods. """ _artifact_type = "competition" - # Additional properties specific to Competitions - owner: HubOwner - start_time: datetime | None = None - end_time: datetime | None = None + dataset: DatasetV2 # Can only load it from the Hub + start_time: datetime + end_time: datetime + main_metric: str | Metric + + @field_validator("dataset") + def _validate_dataset(cls, v): + """ + Allows either passing a Dataset object or the kwargs to create one + """ + if isinstance(v, dict): + v = DatasetV2(**v) + return v + + @field_validator("target_cols", "input_cols") + def _validate_cols(cls, v, info: ValidationInfo): + """Verifies all columns are present in the dataset.""" + if not isinstance(v, list): + v = [v] + if len(v) == 0: + raise InvalidBenchmarkError("Specify at least a single column") + if info.data.get("dataset") is not None and not all( + c in info.data["dataset"].columns for c in v + ): + raise InvalidBenchmarkError("Not all specified columns were found in the dataset.") + if len(set(v)) != len(v): + raise InvalidBenchmarkError("The task specifies duplicate columns") + return v + + @field_validator("target_types") + def _validate_target_types(cls, v, info: ValidationInfo): + """ All competitions on the Hub will have valid target types """ + pass + + @computed_field + @property + def n_classes(self) -> dict[str, int]: + """The number of classes for each of the target columns.""" + n_classes = {} + for target in self.target_cols: + target_type = self.target_types.get(target) + if ( + target_type is None + or target_type == TargetType.REGRESSION + or target_type == TargetType.DOCKING + ): + continue + n_classes[target] = self.dataset.self.zarr_root[target].nunique() + return n_classes + + def _compute_checksum(self): + """ Competition checksums cannot be deterministically computed post-creation """ + pass + def evaluate( self, predictions: CompetitionPredictions, @@ -33,7 +92,7 @@ def evaluate( **kwargs: dict, ): """Light convenience wrapper around - [`PolarisHubClient.evaluate_competition`][polaris.hub.client.PolarisHubClient.evaluate_competition]. + [`PolarisHubClient.evaluate_competition`][polaris.hub.client.PolarisHubClient.submit_prediction]. """ from polaris.hub.client import PolarisHubClient @@ -42,4 +101,7 @@ def evaluate( cache_auth_token=cache_auth_token, **kwargs, ) as client: - return client.evaluate_competition(self, predictions) + return client.submit_prediction(self, predictions) + + def __eq__(self, other): + pass \ No newline at end of file diff --git a/polaris/dataset/__init__.py b/polaris/dataset/__init__.py index 2cc4fd9b..932b4470 100644 --- a/polaris/dataset/__init__.py +++ b/polaris/dataset/__init__.py @@ -1,5 +1,4 @@ from polaris.dataset._column import ColumnAnnotation, KnownContentType, Modality -from polaris.dataset._competition_dataset import CompetitionDataset from polaris.dataset._dataset import DatasetV1, DatasetV1 as Dataset from polaris.dataset._factory import DatasetFactory, create_dataset_from_file, create_dataset_from_files from polaris.dataset._subset import Subset @@ -7,7 +6,6 @@ __all__ = [ "ColumnAnnotation", "Dataset", - "CompetitionDataset", "Subset", "Modality", "KnownContentType", diff --git a/polaris/dataset/_competition_dataset.py b/polaris/dataset/_competition_dataset.py deleted file mode 100644 index 8f8e74cb..00000000 --- a/polaris/dataset/_competition_dataset.py +++ /dev/null @@ -1,25 +0,0 @@ -from pydantic import model_validator -from typing_extensions import Self - -from polaris.dataset._dataset import DatasetV1 -from polaris.utils.errors import InvalidCompetitionError - - -class CompetitionDataset(DatasetV1): - """Dataset subclass for Polaris competitions. - - In addition to the data model and logic of the base Dataset class, - this class adds additional functionality which validates certain aspects - of the training data for a given competition. - """ - - _artifact_type = "competitionDataset" - - @model_validator(mode="after") - def _validate_model(self) -> Self: - """We reject the instantiation of competition datasets which leverage Zarr for the time being""" - - if self.uses_zarr: - raise InvalidCompetitionError("Pointer columns are not currently supported in competitions.") - - return self diff --git a/polaris/mixins/_checksum.py b/polaris/mixins/_checksum.py index 8fccac35..ce072ade 100644 --- a/polaris/mixins/_checksum.py +++ b/polaris/mixins/_checksum.py @@ -16,7 +16,7 @@ class ChecksumMixin(BaseModel, abc.ABC): @abc.abstractmethod def _compute_checksum(self) -> str: - """Compute the checksum of the dataset.""" + """Compute the checksum of the dataset. This must be implemented by the class inheriting this mixin.""" raise NotImplementedError @computed_field diff --git a/t.py b/t.py new file mode 100644 index 00000000..ca7a327a --- /dev/null +++ b/t.py @@ -0,0 +1,19 @@ +import polaris as po + +# Load the dataset from the Hub +dataset = po.load_dataset("polaris/posebusters-v1") + +# Get information on the dataset size +dataset.size() + +# Load a datapoint in memory +dataset.get_data( + row=dataset.rows[0], + col=dataset.columns[0], +) + +# Or, similarly: +dataset[dataset.rows[0], dataset.columns[0]] + +# Get an entire row +dataset[0] \ No newline at end of file From adf60d24467d580886c48ca9da0e8474a37ad9a8 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Tue, 10 Dec 2024 11:13:33 -0500 Subject: [PATCH 02/25] working competitions integration --- .DS_Store | Bin 0 -> 8196 bytes polaris/competition/__init__.py | 2 +- polaris/competition/_base.py | 229 ++++++++++++++++++++++++++++ polaris/competition/_competition.py | 107 ------------- polaris/evaluate/__init__.py | 3 +- polaris/evaluate/_predictions.py | 64 +++++++- polaris/evaluate/_results.py | 2 +- polaris/hub/client.py | 154 ++++++------------- polaris/loader/load.py | 22 ++- polaris/utils/types.py | 7 - t.py | 2 +- 11 files changed, 360 insertions(+), 232 deletions(-) create mode 100644 .DS_Store create mode 100644 polaris/competition/_base.py delete mode 100644 polaris/competition/_competition.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d09c9aec31cf1d80dffe1cc876018e0bd315bb97 GIT binary patch literal 8196 zcmeHM-A)rh6g~rmZb1krCM3pW6K@guQKIpt6u2PqC!s_y)YL9r%Gzb8X}7I}V0x|Z z;466RllU0kd!^r*S?bQVBzj{E%#fM0J9EBsX1+Ny(^-f}lsdIlqD3NdkXg=6qZpC6 zo%2u{OKNUG3gC%+YEhNyUFsSOzQumVy6)0i4;KoD0r<-D*qAfMwuH zGQj(Ti_Ef^$i9|p>p-Ed0FXIUtAuCV0~E$hWHFI_Efo|t_3c3y9RAeo1> z_h}$o7}+8IE<}yhGbm=I3r{>Zwd@ELhu>2i&Z938^uPu6;N^EO4>7)w`)u}-Ezt7c zS@3%8W)c@)y=EA+k#%#z^#re`USnZ(M2)sqoc5qTNyC$vjj zv_sFROgm;DIN}WLDOhZr_hYmN6*ZqzQ8Nk4&uL$KG3^s`lh&Qb`r#GR&|eAZF5;5M z+<>olh;&JjX+g1+wvborH3Yte*%-xDT6@9N#;OQ`^5D(K&QXVdUipV4GhUg+w4GVC z?wjx_(NEqtV%UiBHZ-q_(=@g~dtiT)w&^M4G7#Aa;@!~PUD-Nz8nai-rlEHuwZ?gm zI0nW?9rjyfa5>6~+GWz-CI(hUuxa=MDK=dq2FCSR7Ww|abMg28OEh9T6w82RAj^Qr zZI`!8s6GG5lvUunwu}50nG@^vwNwxk>N*aouH%q{e;DG~g(_o;iR^2M8l->zA;6yh O=C25Q{;N2=YQ- list[Metric]: + """ + Verifies all specified metrics are either a Metric object or a valid metric name. + + If there are multiple test sets, it is assumed the same metrics are used across test sets. + """ + if not isinstance(v, list): + v = [v] + + v = [m if isinstance(m, Metric) else Metric[m] for m in v] + + return v + + @field_validator("main_metric") + def _validate_main_metric(cls, v) -> Metric: + """Converts the main metric to a Metric object if it is a string.""" + # lu: v can be None. + if v and not isinstance(v, Metric): + v = Metric[v] + return v + + @field_serializer("metrics", "main_metric") + def _serialize_metrics(self, v) -> list[str] | str: + """Return the string identifier so we can serialize the object""" + if isinstance(v, Metric): + return v.name + return [m.name for m in v] + + @field_serializer("target_types") + def _serialize_target_types(self, v) -> dict[str, str]: + """Convert from enum to string to make sure it's serializable""" + return {k: v for k, v in self.target_types.items()} + + @field_serializer("start_time", "end_time") + def _serialize_times(self, v: datetime) -> str: + """Convert from datetime to string to make sure it's serializable""" + return v.isoformat() + + @computed_field + @property + def task_type(self) -> str: + """The high-level task type of the benchmark.""" + v = TaskType.MULTI_TASK if len(self.target_cols) > 1 else TaskType.SINGLE_TASK + return v.value + + @computed_field + @property + def test_set_labels(self) -> list[str]: + """The labels of the test sets.""" + return sorted(list(self.n_test_datapoints.keys())) + + @computed_field + @property + def test_set_sizes(self) -> dict[str, int]: + """The sizes of the test sets.""" + return {k: v for k, v in self.n_test_datapoints.items()} + + def _get_subset(self, indices, hide_targets=True, featurization_fn=None) -> Subset: + """Returns a [`Subset`][polaris.dataset.Subset] using the given indices. Used + internally to construct the train and test sets.""" + return Subset( + dataset=self, + indices=indices, + input_cols=self.input_cols, + target_cols=self.target_cols, + hide_targets=hide_targets, + featurization_fn=featurization_fn, + ) + + def _get_test_set(self, featurization_fn: Callable | None = None) -> Union["Subset", dict[str, Subset]]: + """Construct the test set(s), given the split in the competition specification. Used + internally to construct the test set for client use and evaluation. + """ + + def make_test_subset(vals): + return self._get_subset(vals, hide_targets=False, featurization_fn=featurization_fn) + + test_split = self.split[1] + test = {k: make_test_subset(v) for k, v in test_split.items()} + + return test + + def get_train_test_split( + self, featurization_fn: Callable | None = None + ) -> tuple[Subset, Union["Subset", dict[str, Subset]]]: + """Construct the train and test sets, given the split in the competition specification. + + Returns [`Subset`][polaris.dataset.Subset] objects, which offer several ways of accessing the data + and can thus easily serve as a basis to build framework-specific (e.g. PyTorch, Tensorflow) + data-loaders on top of. + + Args: + featurization_fn: A function to apply to the input data. If a multi-input benchmark, this function + expects an input in the format specified by the `input_format` parameter. + + Returns: + A tuple with the train `Subset` and test `Subset` objects. + If there are multiple test sets, these are returned in a dictionary and each test set has + an associated name. The targets of the test set can not be accessed. + """ + + train = self._get_subset(self.split[0], hide_targets=False, featurization_fn=featurization_fn) + test = self._get_test_set(featurization_fn=featurization_fn) + + # For improved UX, we return the object instead of the dictionary if there is only one test set. + # Internally, however, assume that the test set is always a dictionary simplifies the code. + if len(test) == 1: + test = test["test"] + return train, test + + def submit_predictions( + self, + predictions: CompetitionPredictions, + ) -> None: + """ + Very light, convenient wrapper around the + [`PolarisHubClient.submit_competition_predictions`][polaris.hub.client.PolarisHubClient.submit_competition_predictions] method. + """ + from polaris.hub.client import PolarisHubClient + + with PolarisHubClient() as client: + client.submit_competition_predictions(competition=self, competition_predictions=predictions) + + def _repr_dict_(self) -> dict: + """Utility function for pretty-printing to the command line and jupyter notebooks""" + repr_dict = self.model_dump(exclude=["zarr_manifest_md5sum"]) + repr_dict.pop("split") + return repr_dict + + def _repr_html_(self): + """For pretty printing in Jupyter.""" + return dict2html(self._repr_dict_()) + + def __repr__(self): + return json.dumps(self._repr_dict_(), indent=2) + + def __str__(self): + return self.__repr__() diff --git a/polaris/competition/_competition.py b/polaris/competition/_competition.py deleted file mode 100644 index 671836e0..00000000 --- a/polaris/competition/_competition.py +++ /dev/null @@ -1,107 +0,0 @@ -from datetime import datetime -from hashlib import md5 -from typing import Optional, Union - -import numpy as np -from pydantic import ValidationInfo, computed_field, field_validator - -from polaris.benchmark._base import BenchmarkV1Specification -from polaris.evaluate import CompetitionPredictions -from polaris.evaluate._metric import Metric -from polaris.experimental._dataset_v2 import DatasetV2 -from polaris.hub.settings import PolarisHubSettings -from polaris.utils.errors import InvalidBenchmarkError -from sklearn.utils.multiclass import type_of_target - -from polaris.utils.types import TargetType - - -class CompetitionSpecification(BenchmarkV1Specification): - """Much of the underlying data model and logic is shared across Benchmarks and Competitions, and - anything within this class serves as a point of differentiation between the two. - - Attributes: - dataset: The V2 dataset the competition specification is based on. - start_time: The time at which the competition becomes active and interactable. - end_time: The time at which the competition ends and is no longer interactable. - main_metric: The main metric used to rank methods. - """ - - _artifact_type = "competition" - - dataset: DatasetV2 # Can only load it from the Hub - start_time: datetime - end_time: datetime - main_metric: str | Metric - - @field_validator("dataset") - def _validate_dataset(cls, v): - """ - Allows either passing a Dataset object or the kwargs to create one - """ - if isinstance(v, dict): - v = DatasetV2(**v) - return v - - @field_validator("target_cols", "input_cols") - def _validate_cols(cls, v, info: ValidationInfo): - """Verifies all columns are present in the dataset.""" - if not isinstance(v, list): - v = [v] - if len(v) == 0: - raise InvalidBenchmarkError("Specify at least a single column") - if info.data.get("dataset") is not None and not all( - c in info.data["dataset"].columns for c in v - ): - raise InvalidBenchmarkError("Not all specified columns were found in the dataset.") - if len(set(v)) != len(v): - raise InvalidBenchmarkError("The task specifies duplicate columns") - return v - - @field_validator("target_types") - def _validate_target_types(cls, v, info: ValidationInfo): - """ All competitions on the Hub will have valid target types """ - pass - - @computed_field - @property - def n_classes(self) -> dict[str, int]: - """The number of classes for each of the target columns.""" - n_classes = {} - for target in self.target_cols: - target_type = self.target_types.get(target) - if ( - target_type is None - or target_type == TargetType.REGRESSION - or target_type == TargetType.DOCKING - ): - continue - n_classes[target] = self.dataset.self.zarr_root[target].nunique() - return n_classes - - def _compute_checksum(self): - """ Competition checksums cannot be deterministically computed post-creation """ - pass - - - def evaluate( - self, - predictions: CompetitionPredictions, - settings: Optional[PolarisHubSettings] = None, - cache_auth_token: bool = True, - **kwargs: dict, - ): - """Light convenience wrapper around - [`PolarisHubClient.evaluate_competition`][polaris.hub.client.PolarisHubClient.submit_prediction]. - """ - from polaris.hub.client import PolarisHubClient - - with PolarisHubClient( - settings=settings, - cache_auth_token=cache_auth_token, - **kwargs, - ) as client: - return client.submit_prediction(self, predictions) - - def __eq__(self, other): - pass \ No newline at end of file diff --git a/polaris/evaluate/__init__.py b/polaris/evaluate/__init__.py index 3405ecac..745a84d1 100644 --- a/polaris/evaluate/__init__.py +++ b/polaris/evaluate/__init__.py @@ -1,8 +1,7 @@ from polaris.evaluate._metric import Metric, MetricInfo -from polaris.evaluate._predictions import BenchmarkPredictions +from polaris.evaluate._predictions import BenchmarkPredictions, CompetitionPredictions from polaris.evaluate._results import ( BenchmarkResults, - CompetitionPredictions, CompetitionResults, EvaluationResult, ResultsMetadata, diff --git a/polaris/evaluate/_predictions.py b/polaris/evaluate/_predictions.py index c56030cb..53d64216 100644 --- a/polaris/evaluate/_predictions.py +++ b/polaris/evaluate/_predictions.py @@ -1,9 +1,11 @@ +import json from collections import defaultdict import numpy as np from pydantic import ( BaseModel, ConfigDict, + Field, TypeAdapter, field_serializer, field_validator, @@ -11,8 +13,16 @@ ) from typing_extensions import Self +from polaris._artifact import BaseArtifactModel from polaris.utils.misc import convert_lists_to_arrays -from polaris.utils.types import IncomingPredictionsType, PredictionsType +from polaris.utils.types import ( + HttpUrlString, + HubOwner, + HubUser, + IncomingPredictionsType, + PredictionsType, + SlugCompatibleStringType, +) class BenchmarkPredictions(BaseModel): @@ -26,6 +36,7 @@ class BenchmarkPredictions(BaseModel): predictions: The predictions for the benchmark. target_labels: The target columns for the associated benchmark. test_set_labels: The names of the test sets for the associated benchmark. + test_set_sizes: The number of rows in each test set for the associated benchmark. """ predictions: PredictionsType @@ -82,12 +93,18 @@ def _validate_predictions(cls, data: dict) -> dict: predictions = convert_lists_to_arrays(predictions) predictions = cls._normalize_predictions(predictions, target_labels, test_set_labels) - return { - "predictions": predictions, - "target_labels": target_labels, - "test_set_labels": test_set_labels, - "test_set_sizes": test_set_sizes, - } + # Update class data with the normalized fields. Use of the `update()` method + # is required to prevent overwriting class data when this class is inherited. + data.update( + { + "predictions": predictions, + "target_labels": target_labels, + "test_set_labels": test_set_labels, + "test_set_sizes": test_set_sizes, + } + ) + + return data @model_validator(mode="after") def check_test_set_size(self) -> Self: @@ -127,6 +144,7 @@ def _normalize_predictions( raise ValueError( "The predictions for single-task, single test set benchmarks should be a numpy array." ) + predictions = {test_set_labels[0]: {target_labels[0]: predictions}} # (3) Single-task, multiple test sets: We expect a dictionary with the test set labels as keys. @@ -231,3 +249,35 @@ def flatten(self) -> np.ndarray: def __len__(self) -> int: """Return the total number of predictions""" return self.get_size() + + +class CompetitionPredictions(BenchmarkPredictions, BaseArtifactModel): + """ + Predictions for competition benchmarks. + + This object is to be used as input to + [`PolarisHubClient.submit_competition_predictions`][polaris.hub.client.PolarisHubClient.submit_competition_predictions]. + It is used to ensure that the structure of the predictions are compatible with evaluation methods on the Polaris Hub. + In addition to the predictions, it contains meta-data that describes a predictions object. + + Attributes: + name: A slug-compatible name for the artifact. It is redeclared here to be required. + owner: A slug-compatible name for the owner of the artifact. It is redeclared here to be required. + report_url: A URL to a report/paper/write-up which describes the methods used to generate the predictions. + github_url: A URL to a code repository which contains the code used to generate the predictions. + contributors: A list of Polaris usernames representing those who contributed to producing the predictions. + """ + + _artifact_type = "competition-prediction" + + name: SlugCompatibleStringType + owner: HubOwner + report_url: HttpUrlString + github_url: HttpUrlString | None = None + contributors: list[HubUser] = Field(default_factory=list) + + def __repr__(self): + return json.dumps(self.model_dump(), indent=2) + + def __str__(self): + return self.__repr__() diff --git a/polaris/evaluate/_results.py b/polaris/evaluate/_results.py index 98202f0b..26f775ab 100644 --- a/polaris/evaluate/_results.py +++ b/polaris/evaluate/_results.py @@ -87,7 +87,7 @@ class EvaluationResult(ResultsMetadata): question: Categorizing methods An open question is how to best categorize a methodology (e.g. a model). - This is needed since we would like to be able to aggregate results across benchmarks/competitions too, + This is needed since we would like to be able to aggregate results across benchmarks too, to say something about which (type of) methods performs best _in general_. Attributes: diff --git a/polaris/hub/client.py b/polaris/hub/client.py index 649fd7d9..ba81099f 100644 --- a/polaris/hub/client.py +++ b/polaris/hub/client.py @@ -2,6 +2,7 @@ import ssl from hashlib import md5 from io import BytesIO +from pathlib import Path from typing import get_args from urllib.parse import urljoin @@ -22,8 +23,8 @@ SingleTaskBenchmarkSpecification, ) from polaris.competition import CompetitionSpecification -from polaris.dataset import CompetitionDataset, Dataset, DatasetV1 -from polaris.evaluate import BenchmarkResults, CompetitionPredictions, CompetitionResults +from polaris.dataset import Dataset, DatasetV1 +from polaris.evaluate import BenchmarkResults, CompetitionPredictions from polaris.experimental._benchmark_v2 import BenchmarkV2Specification from polaris.experimental._dataset_v2 import DatasetV2 from polaris.hub.external_client import ExternalAuthClient @@ -40,7 +41,6 @@ ) from polaris.utils.types import ( AccessType, - ArtifactSubtype, ChecksumStrategy, HubOwner, SupportedLicenseType, @@ -347,7 +347,7 @@ def get_dataset( error_msg="Failed to fetch dataset.", ): try: - return self._get_v1_dataset(owner, name, ArtifactSubtype.STANDARD, verify_checksum) + return self._get_v1_dataset(owner, name, verify_checksum) except PolarisRetrieveArtifactError: # If the v1 dataset is not found, try to load a v2 dataset return self._get_v2_dataset(owner, name) @@ -356,25 +356,19 @@ def _get_v1_dataset( self, owner: str | HubOwner, name: str, - artifact_type: ArtifactSubtype, verify_checksum: ChecksumStrategy = "verify_unless_zarr", ) -> DatasetV1: - """Loads either a standard or competition dataset from Polaris Hub + """Loads either a V1 dataset from Polaris Hub Args: owner: The owner of the dataset. Can be either a user or organization from the Polaris Hub. name: The name of the dataset. - artifact_type: indicates whether the artifact is of the standard or competition type. verify_checksum: Whether to use the checksum to verify the integrity of the dataset. Returns: A `Dataset` instance, if it exists. """ - url = ( - f"/v1/dataset/{owner}/{name}" - if artifact_type == ArtifactSubtype.STANDARD - else f"/v2/competition/dataset/{owner}/{name}" - ) + url = f"/v1/dataset/{owner}/{name}" response = self._base_request_to_hub(url=url, method="GET") response_data = response.json() @@ -391,12 +385,8 @@ def _get_v1_dataset( # It should be None if the dataset does not use pointer columns zarr_root_path = str(zarr_root_path) - if artifact_type == ArtifactSubtype.COMPETITION: - dataset = CompetitionDataset(table=table, zarr_root_path=zarr_root_path, **response_data) - md5sum = response_data["maskedMd5Sum"] - else: - dataset = DatasetV1(table=table, zarr_root_path=zarr_root_path, **response_data) - md5sum = response_data["md5Sum"] + dataset = DatasetV1(table=table, zarr_root_path=zarr_root_path, **response) + md5sum = response["md5Sum"] if dataset.should_verify_checksum(verify_checksum): dataset.verify_checksum(md5sum) @@ -628,14 +618,13 @@ def upload_dataset( ) if isinstance(dataset, DatasetV1): - self._upload_v1_dataset(dataset, ArtifactSubtype.STANDARD, timeout, access, owner, if_exists) + self._upload_v1_dataset(dataset, timeout, access, owner, if_exists) elif isinstance(dataset, DatasetV2): self._upload_v2_dataset(dataset, timeout, access, owner, if_exists) def _upload_v1_dataset( self, dataset: DatasetV1, - artifact_type: ArtifactSubtype, timeout: TimeoutTypes, access: AccessType, owner: HubOwner | str | None, @@ -673,12 +662,8 @@ def _upload_v1_dataset( # Step 1: Upload meta-data # Instead of directly uploading the data, we announce to the hub that we intend to upload it. # We do so separately for the Zarr archive and Parquet file. - url = ( - f"/v1/dataset/{dataset.artifact_id}" - if artifact_type == ArtifactSubtype.STANDARD - else f"/v2/competition/dataset/{dataset.owner}/{dataset.name}" - ) - self._base_request_to_hub( + url = f"/v1/dataset/{dataset.artifact_id}" + response = self._base_request_to_hub( url=url, method="PUT", json={ @@ -717,12 +702,9 @@ def _upload_v1_dataset( dataset.zarr_root.store.store, if_exists=if_exists, log=logger.info ) - base_artifact_url = ( - "datasets" if artifact_type == ArtifactSubtype.STANDARD else "/competition/datasets" - ) progress_indicator.update_success_msg( - f"Your {artifact_type} dataset has been successfully uploaded to the Hub. " - f"View it here: {urljoin(self.settings.hub_url, f'{base_artifact_url}/{dataset.owner}/{dataset.name}')}" + f"Your dataset has been successfully uploaded to the Hub. " + f"View it here: {urljoin(self.settings.hub_url, f'datasets/{dataset.owner}/{dataset.name}')}" ) def _upload_v2_dataset( @@ -818,18 +800,17 @@ def upload_benchmark( """ match benchmark: case BenchmarkV1Specification(): - self._upload_v1_benchmark(benchmark, ArtifactSubtype.STANDARD, access, owner) + self._upload_v1_benchmark(benchmark, access, owner) case BenchmarkV2Specification(): self._upload_v2_benchmark(benchmark, access, owner) def _upload_v1_benchmark( self, benchmark: BenchmarkV1Specification, - artifact_type: ArtifactSubtype, access: AccessType = "private", owner: HubOwner | str | None = None, ): - """Upload a standard or competition benchmark to the Polaris Hub. + """Upload a benchmark to the Polaris Hub. Info: Owner You have to manually specify the owner in the benchmark data model. Because the owner could @@ -847,7 +828,6 @@ def _upload_v1_benchmark( Args: benchmark: The benchmark to upload. - artifact_type: indicates whether the artifact is of the standard or competition type. access: Grant public or private access to result owner: Which Hub user or organization owns the artifact. Takes precedence over `benchmark.owner`. """ @@ -863,12 +843,12 @@ def _upload_v1_benchmark( benchmark_json["datasetArtifactId"] = benchmark.dataset.artifact_id benchmark_json["access"] = access - path_params = "/v1/benchmark" if artifact_type == ArtifactSubtype.STANDARD else "/v2/competition" + path_params = "/v1/benchmark" url = f"{path_params}/{benchmark.owner}/{benchmark.name}" self._base_request_to_hub(url=url, method="PUT", json=benchmark_json) progress_indicator.update_success_msg( - f"Your {artifact_type} benchmark has been successfully uploaded to the Hub. " + f"Your benchmark has been successfully uploaded to the Hub. " f"View it here: {urljoin(self.settings.hub_url, url)}" ) @@ -914,100 +894,64 @@ def _upload_v2_benchmark( ) def get_competition( - self, - owner: str | HubOwner, - name: str, - verify_checksum: ChecksumStrategy = "verify_unless_zarr", + self, owner: str | HubOwner, name: str, zarr_root_path: Path | None = None ) -> CompetitionSpecification: """Load a competition from the Polaris Hub. Args: owner: The owner of the competition. Can be either a user or organization from the Polaris Hub. name: The name of the competition. - verify_checksum: Whether to use the checksum to verify the integrity of the dataset. + zarr_root_path: An optional path that specifies the cache location of the competition's dataset + on your local filesystem. Returns: A `CompetitionSpecification` instance, if it exists. """ - response = self._base_request_to_hub(url=f"/v2/competition/{owner}/{name}", method="GET") - response_data = response.json() - - # TODO (jstlaurent): response["dataset"]["artifactId"] is the owner/name unique identifier, - # but we'd need to change the signature of get_dataset to use it - response_data["dataset"] = self._get_v1_dataset( - response_data["dataset"]["owner"]["slug"], - response_data["dataset"]["name"], - ArtifactSubtype.COMPETITION, - verify_checksum=verify_checksum, - ) - - if not verify_checksum: - response_data.pop("md5Sum", None) + url = f"/v1/competition/{owner}/{name}" + competition = self._base_request_to_hub(url=url, method="GET") - return CompetitionSpecification.model_construct(**response_data) + # Load the Zarr archive from the Hub, if a local cache path is not provided + if not zarr_root_path: + with StorageSession(self, "read", CompetitionSpecification.urn_for(owner, name)) as storage: + zarr_root_path = str(storage.paths.root) - def list_competitions(self, limit: int = 100, offset: int = 0) -> list[str]: - """List all available competitions on the Polaris Hub. + return CompetitionSpecification(zarr_root_path=zarr_root_path, **competition) - Args: - limit: The maximum number of competitions to return. - offset: The offset from which to start returning competitions. - - Returns: - A list of competition names in the format `owner/competition_name`. - """ - with ProgressIndicator( - start_msg="Fetching artifacts...", - success_msg="Fetched artifacts.", - error_msg="Failed to fetch artifacts.", - ): - # TODO (cwognum): What to do with pagination, i.e. limit and offset? - response = self._base_request_to_hub( - url="/v2/competition", method="GET", params={"limit": limit, "offset": offset} - ) - response_data = response.json() - competitions_list = [f"{HubOwner(**bm['owner'])}/{bm['name']}" for bm in response_data["data"]] - return competitions_list - - def evaluate_competition( + def submit_competition_predictions( self, competition: CompetitionSpecification, competition_predictions: CompetitionPredictions, - ) -> CompetitionResults: - """Evaluate the predictions for a competition on the Polaris Hub. Target labels are fetched - by Polaris Hub and used only internally. + ): + """Submit predictions for a competition to the Polaris Hub. The Hub will evaluate them against + the secure test set and store the result. Args: competition: The competition to evaluate the predictions for. - competition_predictions: The predictions and associated metadata to be submitted for evaluation by the Hub. - - Returns: - A `CompetitionResults` object. + competition_predictions: The predictions and associated metadata to be submitted to the Hub. """ with ProgressIndicator( - start_msg="Evaluating competition predictions...", - success_msg="Evaluated competition predictions.", - error_msg="Failed to evaluate competition predictions.", + start_msg="Submitting competition predictions...", + success_msg="Submitted competition predictions.", + error_msg="Failed to submit competition predictions.", ) as progress_indicator: - competition.owner = HubOwner.normalize(competition.owner) - + # + # Prepare prediction payload for submission + prediction_json = competition_predictions.model_dump(by_alias=True, exclude_none=True) + prediction_payload = { + "competitionArtifactId": f"{competition.artifact_id}", + **prediction_json, + } + + # Submit payload to Hub response = self._base_request_to_hub( - url=f"/v2/competition/{competition.owner}/{competition.name}/evaluate", + url="/v1/competition-prediction", method="POST", - json=competition_predictions.model_dump(), + json=prediction_payload, ) response_data = response.json() - # Inform the user about where to find their newly created artifact. - result_url = urljoin( - self.settings.hub_url, - f"/v2/competition/{competition.owner}/{competition.name}/{response_data['id']}", - ) + # Log success and return submission response progress_indicator.update_success_msg( - f"Your competition result has been successfully uploaded to the Hub. View it here: {result_url}" - ) - - scores = response_data["results"] - return CompetitionResults( - results=scores, competition_name=competition.name, competition_owner=competition.owner + "Your competition predictions have been successfully uploaded to the Hub for evaluation." ) + return response diff --git a/polaris/loader/load.py b/polaris/loader/load.py index 48168761..09520be9 100644 --- a/polaris/loader/load.py +++ b/polaris/loader/load.py @@ -1,4 +1,5 @@ import json +from pathlib import Path import fsspec from datamol.utils import fs @@ -10,7 +11,7 @@ from polaris.dataset import DatasetV1, create_dataset_from_file from polaris.experimental._benchmark_v2 import BenchmarkV2Specification from polaris.hub.client import PolarisHubClient -from polaris.utils.types import ChecksumStrategy +from polaris.utils.types import ChecksumStrategy, SlugStringType def load_dataset(path: str, verify_checksum: ChecksumStrategy = "verify_unless_zarr") -> DatasetV1: @@ -101,3 +102,22 @@ def load_benchmark(path: str, verify_checksum: ChecksumStrategy = "verify_unless benchmark.verify_checksum() return benchmark + + +def load_competition(slug: SlugStringType, zarr_root_path: Path | None = None): + """ + Loads a Polaris competition. + + On Polaris, a competition represents a secure and fair benchmark. The target labels never exist + on the client and all results are evaluated through Polaris' servers. + + Note: Dataset is automatically loaded + If no argument is passed for `zarr_root_path`, the underlying competition dataset will be automatically + fetched from the Polaris Hub. If it is passed, the dataset will be retrieved locally from the location + specified in the passed value. + + """ + + # Load from the Hub + client = PolarisHubClient() + return client.get_competition(*slug.split("/"), zarr_root_path=zarr_root_path) diff --git a/polaris/utils/types.py b/polaris/utils/types.py index eba9f5d2..670819ca 100644 --- a/polaris/utils/types.py +++ b/polaris/utils/types.py @@ -199,10 +199,3 @@ class TaskType(Enum): MULTI_TASK = "multi_task" SINGLE_TASK = "single_task" - - -class ArtifactSubtype(Enum): - """The major artifact types which Polaris supports""" - - STANDARD = "standard" - COMPETITION = "competition" diff --git a/t.py b/t.py index ca7a327a..074bc5a9 100644 --- a/t.py +++ b/t.py @@ -16,4 +16,4 @@ dataset[dataset.rows[0], dataset.columns[0]] # Get an entire row -dataset[0] \ No newline at end of file +dataset[0] From 11fe16657420fc08fd120707221aa71e97750f74 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Tue, 10 Dec 2024 11:30:58 -0500 Subject: [PATCH 03/25] removing .DS_Store file & tracking --- .DS_Store | Bin 8196 -> 0 bytes .gitignore | 3 +++ 2 files changed, 3 insertions(+) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index d09c9aec31cf1d80dffe1cc876018e0bd315bb97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHM-A)rh6g~rmZb1krCM3pW6K@guQKIpt6u2PqC!s_y)YL9r%Gzb8X}7I}V0x|Z z;466RllU0kd!^r*S?bQVBzj{E%#fM0J9EBsX1+Ny(^-f}lsdIlqD3NdkXg=6qZpC6 zo%2u{OKNUG3gC%+YEhNyUFsSOzQumVy6)0i4;KoD0r<-D*qAfMwuH zGQj(Ti_Ef^$i9|p>p-Ed0FXIUtAuCV0~E$hWHFI_Efo|t_3c3y9RAeo1> z_h}$o7}+8IE<}yhGbm=I3r{>Zwd@ELhu>2i&Z938^uPu6;N^EO4>7)w`)u}-Ezt7c zS@3%8W)c@)y=EA+k#%#z^#re`USnZ(M2)sqoc5qTNyC$vjj zv_sFROgm;DIN}WLDOhZr_hYmN6*ZqzQ8Nk4&uL$KG3^s`lh&Qb`r#GR&|eAZF5;5M z+<>olh;&JjX+g1+wvborH3Yte*%-xDT6@9N#;OQ`^5D(K&QXVdUipV4GhUg+w4GVC z?wjx_(NEqtV%UiBHZ-q_(=@g~dtiT)w&^M4G7#Aa;@!~PUD-Nz8nai-rlEHuwZ?gm zI0nW?9rjyfa5>6~+GWz-CI(hUuxa=MDK=dq2FCSR7Ww|abMg28OEh9T6w82RAj^Qr zZI`!8s6GG5lvUunwu}50nG@^vwNwxk>N*aouH%q{e;DG~g(_o;iR^2M8l->zA;6yh O=C25Q{;N2=YQ- Date: Tue, 10 Dec 2024 11:34:03 -0500 Subject: [PATCH 04/25] remove testing file --- t.py | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 t.py diff --git a/t.py b/t.py deleted file mode 100644 index 074bc5a9..00000000 --- a/t.py +++ /dev/null @@ -1,19 +0,0 @@ -import polaris as po - -# Load the dataset from the Hub -dataset = po.load_dataset("polaris/posebusters-v1") - -# Get information on the dataset size -dataset.size() - -# Load a datapoint in memory -dataset.get_data( - row=dataset.rows[0], - col=dataset.columns[0], -) - -# Or, similarly: -dataset[dataset.rows[0], dataset.columns[0]] - -# Get an entire row -dataset[0] From 2dc09100586add56927670afe4a2677e786ee877 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Tue, 10 Dec 2024 11:43:52 -0500 Subject: [PATCH 05/25] updating docstring wording --- polaris/competition/_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/polaris/competition/_base.py b/polaris/competition/_base.py index 103e3b05..d9127215 100644 --- a/polaris/competition/_base.py +++ b/polaris/competition/_base.py @@ -53,7 +53,7 @@ class CompetitionSpecification(DatasetV2): predictions=prediction_values, ) - # Evaluate your predictions + # Submit your predictions competition.submit_predictions(predictions) ``` From e63ed74410ab435dc60b2a0ca3d797a81d10d37e Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Tue, 10 Dec 2024 11:48:44 -0500 Subject: [PATCH 06/25] small updates --- polaris/hub/client.py | 4 ++-- polaris/loader/load.py | 2 +- polaris/mixins/_checksum.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/polaris/hub/client.py b/polaris/hub/client.py index ba81099f..1bfa15a1 100644 --- a/polaris/hub/client.py +++ b/polaris/hub/client.py @@ -358,7 +358,7 @@ def _get_v1_dataset( name: str, verify_checksum: ChecksumStrategy = "verify_unless_zarr", ) -> DatasetV1: - """Loads either a V1 dataset from Polaris Hub + """Loads a V1 dataset from Polaris Hub Args: owner: The owner of the dataset. Can be either a user or organization from the Polaris Hub. @@ -894,7 +894,7 @@ def _upload_v2_benchmark( ) def get_competition( - self, owner: str | HubOwner, name: str, zarr_root_path: Path | None = None + self, owner: str | HubOwner, name: str, zarr_root_path: str | None = None ) -> CompetitionSpecification: """Load a competition from the Polaris Hub. diff --git a/polaris/loader/load.py b/polaris/loader/load.py index 09520be9..f97ae85d 100644 --- a/polaris/loader/load.py +++ b/polaris/loader/load.py @@ -104,7 +104,7 @@ def load_benchmark(path: str, verify_checksum: ChecksumStrategy = "verify_unless return benchmark -def load_competition(slug: SlugStringType, zarr_root_path: Path | None = None): +def load_competition(slug: SlugStringType, zarr_root_path: str | None = None): """ Loads a Polaris competition. diff --git a/polaris/mixins/_checksum.py b/polaris/mixins/_checksum.py index ce072ade..8fccac35 100644 --- a/polaris/mixins/_checksum.py +++ b/polaris/mixins/_checksum.py @@ -16,7 +16,7 @@ class ChecksumMixin(BaseModel, abc.ABC): @abc.abstractmethod def _compute_checksum(self) -> str: - """Compute the checksum of the dataset. This must be implemented by the class inheriting this mixin.""" + """Compute the checksum of the dataset.""" raise NotImplementedError @computed_field From 3c2feefca243e28afbcbcaae33c4fd03256fd100 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Thu, 12 Dec 2024 11:35:24 -0500 Subject: [PATCH 07/25] addressing PR feedback --- polaris/__init__.py | 4 +- polaris/competition/_base.py | 161 ++++++++++++++++++++++++------- polaris/evaluate/_predictions.py | 14 +-- polaris/hub/client.py | 16 ++- polaris/loader/__init__.py | 4 +- polaris/loader/load.py | 18 ++-- 6 files changed, 150 insertions(+), 67 deletions(-) diff --git a/polaris/__init__.py b/polaris/__init__.py index ddb0f44a..a3854a17 100644 --- a/polaris/__init__.py +++ b/polaris/__init__.py @@ -4,9 +4,9 @@ from loguru import logger from ._version import __version__ -from .loader import load_benchmark, load_dataset +from .loader import load_benchmark, load_dataset, load_competition -__all__ = ["load_dataset", "load_benchmark", "__version__"] +__all__ = ["load_dataset", "load_benchmark", "load_competition", "__version__"] # Configure the default logging level os.environ["LOGURU_LEVEL"] = os.environ.get("LOGURU_LEVEL", "INFO") diff --git a/polaris/competition/_base.py b/polaris/competition/_base.py index d9127215..ed926f73 100644 --- a/polaris/competition/_base.py +++ b/polaris/competition/_base.py @@ -1,20 +1,32 @@ from datetime import datetime -import json +from itertools import chain from typing import Callable, TypeAlias, Union - +from typing_extensions import Self +from loguru import logger from pydantic import ( Field, computed_field, field_serializer, field_validator, + model_validator, ) - from polaris.dataset._subset import Subset from polaris.evaluate import Metric from polaris.evaluate._predictions import CompetitionPredictions from polaris.experimental._dataset_v2 import DatasetV2 from polaris.utils.dict2html import dict2html -from polaris.utils.types import TargetType, TaskType, SplitType +from polaris.utils.errors import InvalidCompetitionError +from polaris.utils.misc import listit +from polaris.utils.types import ( + HubOwner, + TargetType, + TaskType, + SplitType, + HttpUrlString, + SlugCompatibleStringType, + PredictionsType, + HubUser, +) ColumnsType: TypeAlias = str | list[str] @@ -30,7 +42,7 @@ class CompetitionSpecification(DatasetV2): import polaris as po # Load the benchmark from the Hub - competition = po.load_competition("polaris/hello-world-competition") + competition = po.load_competition("dummy-user/dummy-name") # Get the train and test data-loaders train, test = competition.get_train_test_split() @@ -43,18 +55,14 @@ class CompetitionSpecification(DatasetV2): # Work your magic to accurately predict the test set prediction_values = np.array([0.0 for x in test]) - predictions = CompetitionPredictions( - name="first-prediction", - owner=HubOwner(slug="dummy-user"), + + # Submit your predictions + competition.submit_predictions( + prediction_name="first-prediction", + prediction_owner="dummy-user", report_url="REPORT_URL", - target_labels=competition.target_cols, - test_set_labels=competition.test_set_labels, - test_set_sizes=competition.test_set_sizes, predictions=prediction_values, ) - - # Submit your predictions - competition.submit_predictions(predictions) ``` Attributes: @@ -81,7 +89,7 @@ class CompetitionSpecification(DatasetV2): metrics: Union[str, Metric, list[str | Metric]] main_metric: str | Metric readme: str - target_types: dict[str, Union[TargetType, str]] = Field(default_factory=dict, validate_default=True) + target_types: dict[str, TargetType] = Field(default_factory=dict, validate_default=True) start_time: datetime end_time: datetime n_test_sets: int @@ -110,6 +118,62 @@ def _validate_main_metric(cls, v) -> Metric: v = Metric[v] return v + @model_validator(mode="after") + def _validate_split(self) -> Self: + """ + Verifies that: + 1) There are no empty test partitions + 2) All indices are valid given the dataset + 3) There is no duplicate indices in any of the sets + 4) There is no overlap between the train and test set + 5) No row exists in the test set where all labels are missing/empty + """ + + if not isinstance(self.split[1], dict): + self.split = self.split[0], {"test": self.split[1]} + split = self.split + + # Train partition can be empty (zero-shot) + # Test partitions cannot be empty + if any(len(v) == 0 for v in split[1].values()): + raise InvalidCompetitionError("The predefined split contains empty test partitions") + + train_idx_list = split[0] + full_test_idx_list = list(chain.from_iterable(split[1].values())) + + if len(train_idx_list) == 0: + logger.info( + "This competitioon only specifies a test set. It will return an empty train set in `get_train_test_split()`" + ) + + train_idx_set = set(train_idx_list) + full_test_idx_set = set(full_test_idx_list) + + # The train and test indices do not overlap + if len(train_idx_set & full_test_idx_set) > 0: + raise InvalidCompetitionError("The predefined split specifies overlapping train and test sets") + + # Check for duplicate indices within the train set + if len(train_idx_set) != len(train_idx_list): + raise InvalidCompetitionError("The training set contains duplicate indices") + + # Check for duplicate indices within a given test set. Because a user can specify + # multiple test sets for a given benchmark and it is acceptable for indices to be shared + # across test sets, we check for duplicates in each test set independently. + for test_set_name, test_set_idx_list in split[1].items(): + if len(test_set_idx_list) != len(set(test_set_idx_list)): + raise InvalidCompetitionError( + f'Test set with name "{test_set_name}" contains duplicate indices' + ) + + # All indices are valid given the dataset. We check the len of `self` here because a + # competition entity includes both the dataset and benchmark in one artifact. + max_i = len(self) + if any(i < 0 or i >= max_i for i in chain(train_idx_list, full_test_idx_set)): + raise InvalidCompetitionError("The predefined split contains invalid indices") + + return self + @field_serializer("metrics", "main_metric") def _serialize_metrics(self, v) -> list[str] | str: """Return the string identifier so we can serialize the object""" @@ -120,12 +184,12 @@ def _serialize_metrics(self, v) -> list[str] | str: @field_serializer("target_types") def _serialize_target_types(self, v) -> dict[str, str]: """Convert from enum to string to make sure it's serializable""" - return {k: v for k, v in self.target_types.items()} + return {k: v.value for k, v in self.target_types.items()} - @field_serializer("start_time", "end_time") - def _serialize_times(self, v: datetime) -> str: - """Convert from datetime to string to make sure it's serializable""" - return v.isoformat() + @field_serializer("split") + def _serialize_split(self, v: SplitType): + """Convert any tuple to list to make sure it's serializable""" + return listit(v) @computed_field @property @@ -138,13 +202,13 @@ def task_type(self) -> str: @property def test_set_labels(self) -> list[str]: """The labels of the test sets.""" - return sorted(list(self.n_test_datapoints.keys())) + return sorted(list(self.split[1].keys())) @computed_field @property def test_set_sizes(self) -> dict[str, int]: """The sizes of the test sets.""" - return {k: v for k, v in self.n_test_datapoints.items()} + return {k: len(v) for k, v in self.split[1].items()} def _get_subset(self, indices, hide_targets=True, featurization_fn=None) -> Subset: """Returns a [`Subset`][polaris.dataset.Subset] using the given indices. Used @@ -201,29 +265,60 @@ def get_train_test_split( def submit_predictions( self, - predictions: CompetitionPredictions, + prediction_name: SlugCompatibleStringType, + prediction_owner: str, + predictions: PredictionsType, + report_url: HttpUrlString, + contributors: list[HubUser] = [], + github_url: HttpUrlString | None = None, + description: str = "", + tags: list[str] = [], + user_attributes: dict[str, str] = {}, ) -> None: """ - Very light, convenient wrapper around the + Convenient wrapper around the [`PolarisHubClient.submit_competition_predictions`][polaris.hub.client.PolarisHubClient.submit_competition_predictions] method. + It handles the creation of a standardized predictions object, which is expected by the Hub, automatically. + + Args: + prediction_name: The name of the prediction. + prediction_owner: The slug of the user/organization which owns the prediction. + predictions: The predictions for each test set defined in the competition. + report_url: A URL to a report/paper/write-up which describes the methods used to generate the predictions. + contributors: The users credited with generating these predictions. + github_url: An optional URL to a code repository containing the code used to generated these predictions. + description: An optional and short description of the predictions. + tags: An optional list of tags to categorize the prediction by. + user_attributes: An optional dict with additional, textual user attributes. """ from polaris.hub.client import PolarisHubClient - with PolarisHubClient() as client: - client.submit_competition_predictions(competition=self, competition_predictions=predictions) + standardized_predictions = CompetitionPredictions( + name=prediction_name, + owner=HubOwner(slug=prediction_owner), + predictions=predictions, + report_url=report_url, + contributors=contributors, + github_url=github_url, + description=description, + tags=tags, + user_attributes=user_attributes, + target_labels=self.target_cols, + test_set_labels=self.test_set_labels, + test_set_sizes=self.test_set_sizes, + ) - def _repr_dict_(self) -> dict: - """Utility function for pretty-printing to the command line and jupyter notebooks""" - repr_dict = self.model_dump(exclude=["zarr_manifest_md5sum"]) - repr_dict.pop("split") - return repr_dict + with PolarisHubClient() as client: + client.submit_competition_predictions( + competition=self, competition_predictions=standardized_predictions + ) def _repr_html_(self): """For pretty printing in Jupyter.""" - return dict2html(self._repr_dict_()) + return dict2html(self.model_dump(exclude=["zarr_manifest_md5sum", "split"])) def __repr__(self): - return json.dumps(self._repr_dict_(), indent=2) + return self.model_dump_json(exclude=["zarr_manifest_md5sum", "split"], indent=2) def __str__(self): return self.__repr__() diff --git a/polaris/evaluate/_predictions.py b/polaris/evaluate/_predictions.py index 53d64216..da31dd77 100644 --- a/polaris/evaluate/_predictions.py +++ b/polaris/evaluate/_predictions.py @@ -1,4 +1,3 @@ -import json from collections import defaultdict import numpy as np @@ -13,12 +12,11 @@ ) from typing_extensions import Self -from polaris._artifact import BaseArtifactModel +from polaris.evaluate._results import ResultsMetadata from polaris.utils.misc import convert_lists_to_arrays from polaris.utils.types import ( HttpUrlString, HubOwner, - HubUser, IncomingPredictionsType, PredictionsType, SlugCompatibleStringType, @@ -251,7 +249,7 @@ def __len__(self) -> int: return self.get_size() -class CompetitionPredictions(BenchmarkPredictions, BaseArtifactModel): +class CompetitionPredictions(BenchmarkPredictions, ResultsMetadata): """ Predictions for competition benchmarks. @@ -264,20 +262,16 @@ class CompetitionPredictions(BenchmarkPredictions, BaseArtifactModel): name: A slug-compatible name for the artifact. It is redeclared here to be required. owner: A slug-compatible name for the owner of the artifact. It is redeclared here to be required. report_url: A URL to a report/paper/write-up which describes the methods used to generate the predictions. - github_url: A URL to a code repository which contains the code used to generate the predictions. - contributors: A list of Polaris usernames representing those who contributed to producing the predictions. """ _artifact_type = "competition-prediction" name: SlugCompatibleStringType owner: HubOwner - report_url: HttpUrlString - github_url: HttpUrlString | None = None - contributors: list[HubUser] = Field(default_factory=list) + paper_url: HttpUrlString = Field(alias="report_url", serialization_alias="reportUrl") def __repr__(self): - return json.dumps(self.model_dump(), indent=2) + return self.model_dump_json(by_alias=True, indent=2) def __str__(self): return self.__repr__() diff --git a/polaris/hub/client.py b/polaris/hub/client.py index 1bfa15a1..3f14ec5e 100644 --- a/polaris/hub/client.py +++ b/polaris/hub/client.py @@ -46,6 +46,7 @@ SupportedLicenseType, TimeoutTypes, ZarrConflictResolution, + SlugCompatibleStringType, ) _HTTPX_SSL_ERROR_CODE = "[SSL: CERTIFICATE_VERIFY_FAILED]" @@ -894,28 +895,25 @@ def _upload_v2_benchmark( ) def get_competition( - self, owner: str | HubOwner, name: str, zarr_root_path: str | None = None + self, owner: str | HubOwner, name: SlugCompatibleStringType ) -> CompetitionSpecification: """Load a competition from the Polaris Hub. Args: owner: The owner of the competition. Can be either a user or organization from the Polaris Hub. name: The name of the competition. - zarr_root_path: An optional path that specifies the cache location of the competition's dataset - on your local filesystem. Returns: A `CompetitionSpecification` instance, if it exists. """ url = f"/v1/competition/{owner}/{name}" - competition = self._base_request_to_hub(url=url, method="GET") + response = self._base_request_to_hub(url=url, method="GET") + response_data = response.json() - # Load the Zarr archive from the Hub, if a local cache path is not provided - if not zarr_root_path: - with StorageSession(self, "read", CompetitionSpecification.urn_for(owner, name)) as storage: - zarr_root_path = str(storage.paths.root) + with StorageSession(self, "read", CompetitionSpecification.urn_for(owner, name)) as storage: + zarr_root_path = str(storage.paths.root) - return CompetitionSpecification(zarr_root_path=zarr_root_path, **competition) + return CompetitionSpecification(zarr_root_path=zarr_root_path, **response_data) def submit_competition_predictions( self, diff --git a/polaris/loader/__init__.py b/polaris/loader/__init__.py index 980f6dcf..835fe561 100644 --- a/polaris/loader/__init__.py +++ b/polaris/loader/__init__.py @@ -1,3 +1,3 @@ -from .load import load_benchmark, load_dataset +from .load import load_benchmark, load_dataset, load_competition -_all__ = ["load_benchmark", "load_dataset"] +_all__ = ["load_benchmark", "load_dataset", "load_competition"] diff --git a/polaris/loader/load.py b/polaris/loader/load.py index f97ae85d..e677f7c7 100644 --- a/polaris/loader/load.py +++ b/polaris/loader/load.py @@ -1,17 +1,13 @@ import json -from pathlib import Path import fsspec from datamol.utils import fs -from polaris.benchmark._definitions import ( - MultiTaskBenchmarkSpecification, - SingleTaskBenchmarkSpecification, -) +from polaris.benchmark._definitions import MultiTaskBenchmarkSpecification, SingleTaskBenchmarkSpecification from polaris.dataset import DatasetV1, create_dataset_from_file from polaris.experimental._benchmark_v2 import BenchmarkV2Specification from polaris.hub.client import PolarisHubClient -from polaris.utils.types import ChecksumStrategy, SlugStringType +from polaris.utils.types import ChecksumStrategy, SlugCompatibleStringType def load_dataset(path: str, verify_checksum: ChecksumStrategy = "verify_unless_zarr") -> DatasetV1: @@ -104,7 +100,7 @@ def load_benchmark(path: str, verify_checksum: ChecksumStrategy = "verify_unless return benchmark -def load_competition(slug: SlugStringType, zarr_root_path: str | None = None): +def load_competition(slug: SlugCompatibleStringType): """ Loads a Polaris competition. @@ -112,12 +108,12 @@ def load_competition(slug: SlugStringType, zarr_root_path: str | None = None): on the client and all results are evaluated through Polaris' servers. Note: Dataset is automatically loaded - If no argument is passed for `zarr_root_path`, the underlying competition dataset will be automatically - fetched from the Polaris Hub. If it is passed, the dataset will be retrieved locally from the location - specified in the passed value. + The dataset underlying the competition is automatically loaded when loading the competition. """ # Load from the Hub client = PolarisHubClient() - return client.get_competition(*slug.split("/"), zarr_root_path=zarr_root_path) + return client.get_competition( + *slug.split("/"), + ) From 0f7e71bd5fd48cb823a1f1328cb4fe0b0f9dde03 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Thu, 12 Dec 2024 11:49:15 -0500 Subject: [PATCH 08/25] integrating metric updates --- polaris/competition/_base.py | 73 ++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/polaris/competition/_base.py b/polaris/competition/_base.py index ed926f73..3639f760 100644 --- a/polaris/competition/_base.py +++ b/polaris/competition/_base.py @@ -5,6 +5,8 @@ from loguru import logger from pydantic import ( Field, + FieldSerializationInfo, + SerializerFunctionWrapHandler, computed_field, field_serializer, field_validator, @@ -86,8 +88,8 @@ class CompetitionSpecification(DatasetV2): target_cols: ColumnsType input_cols: ColumnsType split: SplitType - metrics: Union[str, Metric, list[str | Metric]] - main_metric: str | Metric + metrics: set[Metric] = Field(min_length=1) + main_metric: Metric | str readme: str target_types: dict[str, TargetType] = Field(default_factory=dict, validate_default=True) start_time: datetime @@ -96,27 +98,54 @@ class CompetitionSpecification(DatasetV2): n_test_datapoints: dict[str, int] n_classes: dict[str, int] - @field_validator("metrics") - def _validate_metrics(cls, v) -> list[Metric]: + @field_validator("metrics", mode="before") + @classmethod + def _validate_metrics(cls, v) -> set[Metric]: """ Verifies all specified metrics are either a Metric object or a valid metric name. + Also verifies there are no duplicate metrics. If there are multiple test sets, it is assumed the same metrics are used across test sets. """ + if isinstance(v, str): + v = {"label": v} + if isinstance(v, set): + v = list(v) if not isinstance(v, list): v = [v] - v = [m if isinstance(m, Metric) else Metric[m] for m in v] + def _convert(m: str | dict | Metric) -> Metric: + if isinstance(m, str): + return Metric(label=m) + if isinstance(m, dict): + return Metric(**m) + return m - return v + v = [_convert(m) for m in v] - @field_validator("main_metric") - def _validate_main_metric(cls, v) -> Metric: - """Converts the main metric to a Metric object if it is a string.""" - # lu: v can be None. - if v and not isinstance(v, Metric): - v = Metric[v] - return v + unique_metrics = set(v) + + if len(unique_metrics) != len(v): + raise InvalidCompetitionError("The competition specifies duplicate metrics.") + + unique_names = {m.name for m in unique_metrics} + if len(unique_names) != len(unique_metrics): + raise InvalidCompetitionError( + "The metrics of a competition need to have unique names. Specify a custom name with Metric(custom_name=...)" + ) + + return unique_metrics + + @model_validator(mode="after") + def _validate_main_metric_is_in_metrics(self) -> Self: + if isinstance(self.main_metric, str): + for m in self.metrics: + if m.name == self.main_metric: + self.main_metric = m + break + if self.main_metric not in self.metrics: + raise InvalidCompetitionError("The main metric should be one of the specified metrics") + return self @model_validator(mode="after") def _validate_split(self) -> Self: @@ -174,12 +203,18 @@ def _validate_split(self) -> Self: return self - @field_serializer("metrics", "main_metric") - def _serialize_metrics(self, v) -> list[str] | str: - """Return the string identifier so we can serialize the object""" - if isinstance(v, Metric): - return v.name - return [m.name for m in v] + @field_serializer("metrics", mode="wrap") + @staticmethod + def _serialize_metrics( + value: set[Metric], handler: SerializerFunctionWrapHandler, info: FieldSerializationInfo + ) -> list[dict]: + """Convert the set to a list""" + return handler(list(value)) + + @field_serializer("main_metric") + def _serialize_main_metric(value: Metric) -> str: + """Convert the set to a list""" + return value.name @field_serializer("target_types") def _serialize_target_types(self, v) -> dict[str, str]: From d21cb8e3f955607bba4c6c25b11e1fd0878a9bbf Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Thu, 12 Dec 2024 12:59:58 -0500 Subject: [PATCH 09/25] basic testing for competitions --- tests/conftest.py | 43 +++++----- tests/test_benchmark.py | 4 +- tests/test_competition.py | 164 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 186 insertions(+), 25 deletions(-) create mode 100644 tests/test_competition.py diff --git a/tests/conftest.py b/tests/conftest.py index 407e936d..5ef2a372 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -12,7 +12,7 @@ SingleTaskBenchmarkSpecification, ) from polaris.competition import CompetitionSpecification -from polaris.dataset import ColumnAnnotation, CompetitionDataset, DatasetFactory, DatasetV1 +from polaris.dataset import ColumnAnnotation, DatasetFactory, DatasetV1 from polaris.dataset.converters import SDFConverter from polaris.experimental._dataset_v2 import DatasetV2 from polaris.utils.types import HubOwner @@ -143,24 +143,6 @@ def test_dataset_v2(zarr_archive, test_org_owner) -> DatasetV2: return dataset -@pytest.fixture(scope="function") -def test_competition_dataset(test_data, test_org_owner): - dataset = CompetitionDataset( - table=test_data, - name="test-competition-dataset", - source="https://www.example.com", - annotations={"expt": ColumnAnnotation(user_attributes={"unit": "kcal/mol"})}, - tags=["tagA", "tagB"], - user_attributes={"attributeA": "valueA", "attributeB": "valueB"}, - owner=test_org_owner, - license="CC-BY-4.0", - curation_reference="https://www.example.com", - ) - - check_version(dataset) - return dataset - - @pytest.fixture(scope="function") def zarr_archive(tmp_path): tmp_path = fs.join(tmp_path, "data.zarr") @@ -337,18 +319,33 @@ def test_multi_task_benchmark_clf(test_dataset, classification_metrics): @pytest.fixture(scope="function") -def test_competition(test_competition_dataset, test_org_owner, regression_metrics): +def test_competition(zarr_archive, test_org_owner, regression_metrics): train_indices = list(range(90)) test_indices = list(range(90, 100)) competition = CompetitionSpecification( + # Base attributes name="test-competition", - dataset=test_competition_dataset, owner=test_org_owner, + tags=["tagA", "tagB"], + user_attributes={"attributeA": "valueA", "attributeB": "valueB"}, + # Benchmark attributes metrics=regression_metrics, main_metric="mean_absolute_error", split=(train_indices, test_indices), - target_cols="expt", - input_cols="smiles", + target_cols=["expt"], + input_cols=["smiles"], + readme="Testing specification", + start_time="2025-01-13T21:59:38Z", + end_time="2025-01-20T21:59:38Z", + n_test_sets=1, + n_test_datapoints={"test": 10}, + n_classes={"test": 0}, + # Dataset attributes + source="https://www.example.com", + annotations={"A": ColumnAnnotation(user_attributes={"unit": "kcal/mol"})}, + license="CC-BY-4.0", + curation_reference="https://www.example.com", + zarr_root_path=zarr_archive, ) check_version(competition) return competition diff --git a/tests/test_benchmark.py b/tests/test_benchmark.py index c343ad84..34f6ec18 100644 --- a/tests/test_benchmark.py +++ b/tests/test_benchmark.py @@ -224,7 +224,7 @@ def test_checksum_verification(test_single_task_benchmark): def test_benchmark_duplicate_metrics(test_single_task_benchmark): - """Test whether setting an invalid checksum raises an error.""" + """Tests that passing duplicate metrics will raise a validation error""" m = test_single_task_benchmark.model_dump() with pytest.raises(ValidationError, match="The benchmark specifies duplicate metric"): @@ -244,7 +244,7 @@ def test_benchmark_duplicate_metrics(test_single_task_benchmark): def test_benchmark_metric_deserialization(test_single_task_benchmark): - """Test whether setting an invalid checksum raises an error.""" + """Tests that passing metrics as a list of strings or dictionaries works as expected""" m = test_single_task_benchmark.model_dump() # Should work with strings diff --git a/tests/test_competition.py b/tests/test_competition.py new file mode 100644 index 00000000..8f41f2ed --- /dev/null +++ b/tests/test_competition.py @@ -0,0 +1,164 @@ +from itertools import chain +import pytest +from pydantic import ValidationError + +from polaris.competition import CompetitionSpecification +from polaris.evaluate import Metric +from polaris.utils.types import TaskType + + +def test_competition_split_verification(test_competition): + """Verifies that the split validation works as expected.""" + + obj = test_competition + cls = CompetitionSpecification + + # By using the fixture as a default, we know it doesn't always fail + default_kwargs = { + "target_cols": obj.target_cols, + "input_cols": obj.input_cols, + "metrics": obj.metrics, + "main_metric": obj.main_metric, + "name": obj.name, + "zarr_root_path": obj.zarr_root_path, + "readme": obj.readme, + "start_time": obj.start_time, + "end_time": obj.end_time, + "n_test_sets": obj.n_test_sets, + "n_test_datapoints": obj.n_test_datapoints, + "n_classes": obj.n_classes, + } + + train_split = obj.split[0] + test_split = obj.split[1] + + # One or more empty test partitions + with pytest.raises(ValidationError): + cls(split=(train_split,), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split, []), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split, {"test": []}), **default_kwargs) + # Non-exclusive partitions + with pytest.raises(ValidationError): + cls(split=(train_split, test_split["test"] + train_split[:1]), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split, {"test1": test_split, "test2": train_split[:1]}), **default_kwargs) + # Invalid indices + with pytest.raises(ValidationError): + cls(split=(train_split + [len(obj)], test_split), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split + [-1], test_split), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split, test_split["test"] + [len(obj)]), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split, test_split["test"] + [-1]), **default_kwargs) + # Duplicate indices + with pytest.raises(ValidationError): + cls(split=(train_split + train_split[:1], test_split), **default_kwargs) + with pytest.raises(ValidationError): + cls(split=(train_split, test_split["test"] + test_split["test"][:1]), **default_kwargs) + with pytest.raises(ValidationError): + cls( + split=(train_split, {"test1": test_split, "test2": test_split["test"] + test_split["test"][:1]}), + **default_kwargs, + ) + + # It should _not_ fail with duplicate indices across test partitions + cls(split=(train_split, {"test1": test_split["test"], "test2": test_split["test"]}), **default_kwargs) + # It should _not_ fail with missing indices + cls(split=(train_split[:-1], test_split), **default_kwargs) + # It should _not_ fail with an empty train set + competition = cls(split=([], test_split), **default_kwargs) + train, _ = competition.get_train_test_split() + assert len(train) == 0 + + +@pytest.mark.parametrize("cls", [CompetitionSpecification]) +def test_competition_metrics_verification(test_competition, cls): + """Verifies that the metric validation works as expected.""" + # By using the fixture as a default, we know it doesn't always fail + base = test_competition + + default_kwargs = { + "target_cols": base.target_cols, + "input_cols": base.input_cols, + "main_metric": base.main_metric, + "name": base.name, + "zarr_root_path": base.zarr_root_path, + "readme": base.readme, + "start_time": base.start_time, + "end_time": base.end_time, + "n_test_sets": base.n_test_sets, + "n_test_datapoints": base.n_test_datapoints, + "n_classes": base.n_classes, + } + + # Invalid metric + with pytest.raises(ValidationError): + cls(metrics=["invalid"], **default_kwargs) + with pytest.raises(ValidationError): + cls(metrics="invalid", **default_kwargs) + with pytest.raises(ValidationError): + metrics_list = list(base.metrics) + cls( + metrics=metrics_list + [metrics_list[0]], + **default_kwargs, + ) + + +def test_competition_duplicate_metrics(test_competition): + """Tests that passing duplicate metrics will raise a validation error""" + m = test_competition.model_dump() + + with pytest.raises(ValidationError, match="The competition specifies duplicate metric"): + m["metrics"] = [ + Metric(label="roc_auc", config={"group_by": "CLASS_expt"}), + Metric(label="roc_auc", config={"group_by": "CLASS_expt"}), + ] + m["main_metric"] = m["metrics"][0] + CompetitionSpecification(**m) + + with pytest.raises(ValidationError, match="The metrics of a competition need to have unique names."): + m["metrics"][0].config.group_by = "MULTICLASS_calc" + CompetitionSpecification(**m) + + m["metrics"][0].custom_name = "custom_name" + CompetitionSpecification(**m) + + +def test_competition_metric_deserialization(test_competition): + """Tests that passing metrics as a list of strings or dictionaries works as expected""" + m = test_competition.model_dump() + + # Should work with strings + m["metrics"] = ["mean_absolute_error", "accuracy"] + m["main_metric"] = "accuracy" + CompetitionSpecification(**m) + + # Should work with dictionaries + m["metrics"] = [ + {"label": "mean_absolute_error", "config": {"group_by": "CLASS_expt"}}, + {"label": "accuracy"}, + ] + CompetitionSpecification(**m) + + +def test_competition_train_test_split(test_competition): + """Tests that the competition's train/test split can be retrieved through a CompetitionSpecification instance""" + + train, test = test_competition.get_train_test_split() + + train_split = test_competition.split[0] + test_sets = test_competition.split[1] + test_split = set(chain.from_iterable(test_sets.values())) + + assert len(train) == len(train_split) + assert len(test) == len(test_split) + + +def test_competition_computed_fields(test_competition): + default_test_set_name = "test" + assert test_competition.task_type == TaskType.SINGLE_TASK.value + assert test_competition.test_set_labels == [default_test_set_name] + assert test_competition.test_set_sizes == {default_test_set_name: 10} From 99e8cf3ee7a5d0a3e031c6f579c2b2ed8d42871f Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Thu, 12 Dec 2024 13:11:18 -0500 Subject: [PATCH 10/25] removing imports of old competiton classes from docs --- docs/api/competition.dataset.md | 5 ----- docs/api/competition.evaluation.md | 6 ------ 2 files changed, 11 deletions(-) delete mode 100644 docs/api/competition.dataset.md diff --git a/docs/api/competition.dataset.md b/docs/api/competition.dataset.md deleted file mode 100644 index 8018af79..00000000 --- a/docs/api/competition.dataset.md +++ /dev/null @@ -1,5 +0,0 @@ -::: polaris.dataset.CompetitionDataset - options: - filters: ["!^_"] - ---- \ No newline at end of file diff --git a/docs/api/competition.evaluation.md b/docs/api/competition.evaluation.md index 2a66956f..79ace6f8 100644 --- a/docs/api/competition.evaluation.md +++ b/docs/api/competition.evaluation.md @@ -1,7 +1 @@ ::: polaris.evaluate.CompetitionPredictions - ---- - -::: polaris.evaluate.CompetitionResults - ---- \ No newline at end of file From d22214f850ab1de110206f0efdcd4c2e134b32c8 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Thu, 12 Dec 2024 14:20:08 -0500 Subject: [PATCH 11/25] removing doc ref to DatasetV2 class --- polaris/competition/_base.py | 5 +++-- polaris/experimental/_dataset_v2.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/polaris/competition/_base.py b/polaris/competition/_base.py index 3639f760..0fe40eaa 100644 --- a/polaris/competition/_base.py +++ b/polaris/competition/_base.py @@ -35,7 +35,7 @@ class CompetitionSpecification(DatasetV2): """An instance of this class represents a Polaris competition. It defines fields and functionality - that in combination with the [`DatasetV2`][polaris.experimental._dataset_v2.DatasetV2] class, allow + that in combination with the `polaris.experimental._dataset_v2.DatasetV2` class, allow users to participate in competitions hosted on Polaris Hub. Examples: @@ -80,7 +80,8 @@ class CompetitionSpecification(DatasetV2): n_test_sets: The number of test sets defined in the test split. n_test_datapoints: The number of datapoints in each test set. n_classes: The number of classes within target columns that define a classification task. - For additional meta-data attributes, see the [`DatasetV2`][polaris.experimental._dataset_v2.DatasetV2] class. + + For additional meta-data attributes, see the `polaris.experimental._dataset_v2.DatasetV2` class. """ _artifact_type = "competition" diff --git a/polaris/experimental/_dataset_v2.py b/polaris/experimental/_dataset_v2.py index 7b362fdc..deedf4a9 100644 --- a/polaris/experimental/_dataset_v2.py +++ b/polaris/experimental/_dataset_v2.py @@ -35,7 +35,7 @@ class DatasetV2(BaseDataset): Attributes: zarr_root_path: The path to the Zarr archive. Different from V1, this is now required. - For additional meta-data attributes, see the [`BaseDataset`][polaris._dataset.BaseDataset] class. + For additional meta-data attributes, see the [`BaseDataset`][polaris.dataset._base.BaseDataset] class. Raises: InvalidDatasetError: If the dataset does not conform to the Pydantic data-model specification. From 9d88721abd0fb755010586f4973041b21e65b9bd Mon Sep 17 00:00:00 2001 From: Julien St-Laurent Date: Thu, 19 Dec 2024 22:33:36 -0500 Subject: [PATCH 12/25] Fix failing tests and circular import. Have the CompetitionSpecification inherit from BenchmarkSpecification. --- polaris/benchmark/_base.py | 6 +- polaris/competition/__init__.py | 322 ++++++++++++++++++++++++++- polaris/competition/_base.py | 360 ------------------------------- polaris/evaluate/__init__.py | 3 +- polaris/evaluate/_metadata.py | 34 +++ polaris/evaluate/_predictions.py | 2 +- polaris/evaluate/_results.py | 36 +--- polaris/hub/client.py | 12 +- polaris/loader/load.py | 12 +- tests/conftest.py | 15 +- tests/test_competition.py | 5 +- 11 files changed, 380 insertions(+), 427 deletions(-) delete mode 100644 polaris/competition/_base.py create mode 100644 polaris/evaluate/_metadata.py diff --git a/polaris/benchmark/_base.py b/polaris/benchmark/_base.py index a4a84e1a..632216a0 100644 --- a/polaris/benchmark/_base.py +++ b/polaris/benchmark/_base.py @@ -98,7 +98,6 @@ class BenchmarkSpecification(BaseArtifactModel, abc.ABC): _artifact_type = "benchmark" - # Public attributes dataset: BaseDataset = Field(exclude=True) target_cols: set[ColumnName] = Field(min_length=1) input_cols: set[ColumnName] = Field(min_length=1) @@ -188,7 +187,7 @@ def _validate_cols(self) -> Self: columns = self.target_cols | self.input_cols dataset_columns = set(self.dataset.columns) if not columns.issubset(dataset_columns): - raise InvalidBenchmarkError("Not all specified columns were found in the dataset.") + raise InvalidBenchmarkError("Not all target or input columns were found in the dataset.") return self @@ -565,7 +564,8 @@ def _compute_checksum(self) -> str: def _get_test_sets( self, hide_targets=True, featurization_fn: Callable | None = None ) -> dict[str, Subset]: - """Construct the test set(s), given the split in the benchmark specification. Used + """ + Construct the test set(s), given the split in the benchmark specification. Used internally to construct the test set for client use and evaluation. """ test_split = self.split[1] diff --git a/polaris/competition/__init__.py b/polaris/competition/__init__.py index 7c430838..bd4b56c0 100644 --- a/polaris/competition/__init__.py +++ b/polaris/competition/__init__.py @@ -1,3 +1,321 @@ -from polaris.competition._base import CompetitionSpecification +from datetime import datetime +from itertools import chain +from typing import Callable -__all__ = ["CompetitionSpecification"] +from loguru import logger +from pydantic import computed_field, field_serializer, model_validator +from typing_extensions import Self + +from polaris.benchmark import BenchmarkSpecification +from polaris.benchmark._base import ColumnName +from polaris.dataset import Subset +from polaris.evaluate import CompetitionPredictions +from polaris.experimental._dataset_v2 import DatasetV2 +from polaris.utils.dict2html import dict2html +from polaris.utils.errors import InvalidCompetitionError +from polaris.utils.misc import listit +from polaris.utils.types import ( + HttpUrlString, + HubOwner, + HubUser, + PredictionsType, + SlugCompatibleStringType, + SplitType, +) + + +class CompetitionSpecification(DatasetV2, BenchmarkSpecification): + """An instance of this class represents a Polaris competition. It defines fields and functionality + that in combination with the `polaris.experimental._dataset_v2.DatasetV2` class, allow + users to participate in competitions hosted on Polaris Hub. + + Examples: + Basic API usage: + ```python + import polaris as po + + # Load the benchmark from the Hub + competition = po.load_competition("dummy-user/dummy-name") + + # Get the train and test data-loaders + train, test = competition.get_train_test_split() + + # Use the training data to train your model + # Get the input as an array with 'train.inputs' and 'train.targets' + # Or simply iterate over the train object. + for x, y in train: + ... + + # Work your magic to accurately predict the test set + prediction_values = np.array([0.0 for x in test]) + + # Submit your predictions + competition.submit_predictions( + prediction_name="first-prediction", + prediction_owner="dummy-user", + report_url="REPORT_URL", + predictions=prediction_values, + ) + ``` + + Attributes: + target_cols: The column(s) of the original dataset that should be used as target. + input_cols: The column(s) of the original dataset that should be used as input. + split: The predefined train-test split to use for evaluation. + metrics: The metrics to use for evaluating performance + main_metric: The main metric used to rank methods. + readme: Markdown text that contains a formatted description of the competition. + target_types: A dictionary that maps target columns to their type. + start_time: The time at which the competition starts accepting prediction submissions. + end_time: The time at which the competition stops accepting prediction submissions. + n_classes: The number of classes within target columns that define a classification task. + + For additional meta-data attributes, see the `polaris.experimental._dataset_v2.DatasetV2` class. + """ + + _artifact_type = "competition" + + dataset: None = None + split: SplitType + + start_time: datetime + end_time: datetime + n_classes: dict[ColumnName, int] + + @model_validator(mode="after") + def _validate_split(self) -> Self: + """ + Verifies that: + 1) There are no empty test partitions + 2) All indices are valid given the dataset + 3) There is no duplicate indices in any of the sets + 4) There is no overlap between the train and test set + 5) No row exists in the test set where all labels are missing/empty + """ + + if not isinstance(self.split[1], dict): + self.split = self.split[0], {"test": self.split[1]} + split = self.split + + # Train partition can be empty (zero-shot) + # Test partitions cannot be empty + if any(len(v) == 0 for v in split[1].values()): + raise InvalidCompetitionError("The predefined split contains empty test partitions") + + train_idx_list = split[0] + full_test_idx_list = list(chain.from_iterable(split[1].values())) + + if len(train_idx_list) == 0: + logger.info( + "This competition only specifies a test set. It will return an empty train set in `get_train_test_split()`" + ) + + train_idx_set = set(train_idx_list) + full_test_idx_set = set(full_test_idx_list) + + # The train and test indices do not overlap + if len(train_idx_set & full_test_idx_set) > 0: + raise InvalidCompetitionError("The predefined split specifies overlapping train and test sets") + + # Check for duplicate indices within the train set + if len(train_idx_set) != len(train_idx_list): + raise InvalidCompetitionError("The training set contains duplicate indices") + + # Check for duplicate indices within a given test set. Because a user can specify + # multiple test sets for a given benchmark and it is acceptable for indices to be shared + # across test sets, we check for duplicates in each test set independently. + for test_set_name, test_set_idx_list in split[1].items(): + if len(test_set_idx_list) != len(set(test_set_idx_list)): + raise InvalidCompetitionError( + f'Test set with name "{test_set_name}" contains duplicate indices' + ) + + # All indices are valid given the dataset. We check the len of `self` here because a + # competition entity includes both the dataset and benchmark in one artifact. + max_i = len(self) + if any(i < 0 or i >= max_i for i in chain(train_idx_list, full_test_idx_set)): + raise InvalidCompetitionError("The predefined split contains invalid indices") + + return self + + @model_validator(mode="after") + def _validate_n_classes(self) -> Self: + """ + The number of classes for each of the target columns. + """ + columns = set(self.n_classes.keys()) + if not columns.issubset(self.target_cols): + raise InvalidCompetitionError("Not all target class numbers were found in the target columns.") + + return self + + @model_validator(mode="after") + def _validate_cols(self) -> Self: + """ + Verifies that all specified columns are present in the dataset. + """ + columns = self.target_cols | self.input_cols + dataset_columns = set(self.columns) + if not columns.issubset(dataset_columns): + raise InvalidCompetitionError("Not all target or input columns were found in the dataset.") + + return self + + @field_serializer("split") + def _serialize_split(self, v: SplitType): + """Convert any tuple to list to make sure it's serializable""" + return listit(v) + + + @computed_field + @property + def dataset_artifact_id(self) -> str: + return self.artifact_id + + @computed_field + @property + def test_set_sizes(self) -> dict[str, int]: + """The sizes of the test sets.""" + return {k: len(v) for k, v in self.split[1].items()} + + @computed_field + @property + def n_test_sets(self) -> int: + """The number of test sets""" + return len(self.split[1]) + + @computed_field + @property + def n_train_datapoints(self) -> int: + """The size of the train set.""" + return len(self.split[0]) + + @computed_field + @property + def test_set_labels(self) -> list[str]: + """The labels of the test sets.""" + return sorted(list(self.split[1].keys())) + + @computed_field + @property + def n_test_datapoints(self) -> dict[str, int]: + """The size of (each of) the test set(s).""" + if self.n_test_sets == 1: + return { + "test": len(self.split[1]) + } + else: + return {k: len(v) for k, v in self.split[1].items()} + + def _get_subset(self, indices, hide_targets=True, featurization_fn=None) -> Subset: + """Returns a [`Subset`][polaris.dataset.Subset] using the given indices. Used + internally to construct the train and test sets.""" + return Subset( + dataset=self, + indices=indices, + input_cols=self.input_cols, + target_cols=self.target_cols, + hide_targets=hide_targets, + featurization_fn=featurization_fn, + ) + + def _get_test_sets( + self, hide_targets=True, featurization_fn: Callable | None = None + ) -> dict[str, Subset]: + """ + Construct the test set(s), given the split in the benchmark specification. Used + internally to construct the test set for client use and evaluation. + """ + test_split = self.split[1] + return { + k: self._get_subset(v, hide_targets=hide_targets, featurization_fn=featurization_fn) + for k, v in test_split.items() + } + + def get_train_test_split( + self, featurization_fn: Callable | None = None + ) -> tuple[Subset, Subset | dict[str, Subset]]: + """Construct the train and test sets, given the split in the competition specification. + + Returns [`Subset`][polaris.dataset.Subset] objects, which offer several ways of accessing the data + and can thus easily serve as a basis to build framework-specific (e.g. PyTorch, Tensorflow) + data-loaders on top of. + + Args: + featurization_fn: A function to apply to the input data. If a multi-input benchmark, this function + expects an input in the format specified by the `input_format` parameter. + + Returns: + A tuple with the train `Subset` and test `Subset` objects. + If there are multiple test sets, these are returned in a dictionary and each test set has + an associated name. The targets of the test set can not be accessed. + """ + + train = self._get_subset(self.split[0], hide_targets=False, featurization_fn=featurization_fn) + test = self._get_test_sets(hide_targets=True, featurization_fn=featurization_fn) + + # For improved UX, we return the object instead of the dictionary if there is only one test set. + # Internally, however, assume that the test set is always a dictionary simplifies the code. + if len(test) == 1: + test = test["test"] + return train, test + + def submit_predictions( + self, + prediction_name: SlugCompatibleStringType, + prediction_owner: str, + predictions: PredictionsType, + report_url: HttpUrlString, + contributors: list[HubUser] | None = None, + github_url: HttpUrlString | None = None, + description: str = "", + tags: list[str] | None = None, + user_attributes: dict[str, str] | None = None, + ) -> None: + """ + Convenient wrapper around the + [`PolarisHubClient.submit_competition_predictions`][polaris.hub.client.PolarisHubClient.submit_competition_predictions] method. + It handles the creation of a standardized predictions object, which is expected by the Hub, automatically. + + Args: + prediction_name: The name of the prediction. + prediction_owner: The slug of the user/organization which owns the prediction. + predictions: The predictions for each test set defined in the competition. + report_url: A URL to a report/paper/write-up which describes the methods used to generate the predictions. + contributors: The users credited with generating these predictions. + github_url: An optional URL to a code repository containing the code used to generated these predictions. + description: An optional and short description of the predictions. + tags: An optional list of tags to categorize the prediction by. + user_attributes: An optional dict with additional, textual user attributes. + """ + from polaris.hub.client import PolarisHubClient + + standardized_predictions = CompetitionPredictions( + name=prediction_name, + owner=HubOwner(slug=prediction_owner), + predictions=predictions, + report_url=report_url, + contributors=contributors, + github_url=github_url, + description=description, + tags=tags, + user_attributes=user_attributes, + target_labels=self.target_cols, + test_set_labels=self.test_set_labels, + test_set_sizes=self.test_set_sizes, + ) + + with PolarisHubClient() as client: + client.submit_competition_predictions( + competition=self, competition_predictions=standardized_predictions + ) + + def _repr_html_(self): + """For pretty printing in Jupyter.""" + return dict2html(self.model_dump(exclude={"zarr_manifest_path", "zarr_manifest_md5sum", "split"})) + + def __repr__(self): + return self.model_dump_json(exclude={"zarr_manifest_path", "zarr_manifest_md5sum", "split"}, indent=2) + + def __str__(self): + return self.__repr__() diff --git a/polaris/competition/_base.py b/polaris/competition/_base.py deleted file mode 100644 index 0fe40eaa..00000000 --- a/polaris/competition/_base.py +++ /dev/null @@ -1,360 +0,0 @@ -from datetime import datetime -from itertools import chain -from typing import Callable, TypeAlias, Union -from typing_extensions import Self -from loguru import logger -from pydantic import ( - Field, - FieldSerializationInfo, - SerializerFunctionWrapHandler, - computed_field, - field_serializer, - field_validator, - model_validator, -) -from polaris.dataset._subset import Subset -from polaris.evaluate import Metric -from polaris.evaluate._predictions import CompetitionPredictions -from polaris.experimental._dataset_v2 import DatasetV2 -from polaris.utils.dict2html import dict2html -from polaris.utils.errors import InvalidCompetitionError -from polaris.utils.misc import listit -from polaris.utils.types import ( - HubOwner, - TargetType, - TaskType, - SplitType, - HttpUrlString, - SlugCompatibleStringType, - PredictionsType, - HubUser, -) - -ColumnsType: TypeAlias = str | list[str] - - -class CompetitionSpecification(DatasetV2): - """An instance of this class represents a Polaris competition. It defines fields and functionality - that in combination with the `polaris.experimental._dataset_v2.DatasetV2` class, allow - users to participate in competitions hosted on Polaris Hub. - - Examples: - Basic API usage: - ```python - import polaris as po - - # Load the benchmark from the Hub - competition = po.load_competition("dummy-user/dummy-name") - - # Get the train and test data-loaders - train, test = competition.get_train_test_split() - - # Use the training data to train your model - # Get the input as an array with 'train.inputs' and 'train.targets' - # Or simply iterate over the train object. - for x, y in train: - ... - - # Work your magic to accurately predict the test set - prediction_values = np.array([0.0 for x in test]) - - # Submit your predictions - competition.submit_predictions( - prediction_name="first-prediction", - prediction_owner="dummy-user", - report_url="REPORT_URL", - predictions=prediction_values, - ) - ``` - - Attributes: - target_cols: The column(s) of the original dataset that should be used as target. - input_cols: The column(s) of the original dataset that should be used as input. - split: The predefined train-test split to use for evaluation. - metrics: The metrics to use for evaluating performance - main_metric: The main metric used to rank methods. - readme: Markdown text that contains a formatted description of the competition. - target_types: A dictionary that maps target columns to their type. - start_time: The time at which the competition starts accepting prediction submissions. - end_time: The time at which the competition stops accepting prediction submissions. - n_test_sets: The number of test sets defined in the test split. - n_test_datapoints: The number of datapoints in each test set. - n_classes: The number of classes within target columns that define a classification task. - - For additional meta-data attributes, see the `polaris.experimental._dataset_v2.DatasetV2` class. - """ - - _artifact_type = "competition" - - target_cols: ColumnsType - input_cols: ColumnsType - split: SplitType - metrics: set[Metric] = Field(min_length=1) - main_metric: Metric | str - readme: str - target_types: dict[str, TargetType] = Field(default_factory=dict, validate_default=True) - start_time: datetime - end_time: datetime - n_test_sets: int - n_test_datapoints: dict[str, int] - n_classes: dict[str, int] - - @field_validator("metrics", mode="before") - @classmethod - def _validate_metrics(cls, v) -> set[Metric]: - """ - Verifies all specified metrics are either a Metric object or a valid metric name. - Also verifies there are no duplicate metrics. - - If there are multiple test sets, it is assumed the same metrics are used across test sets. - """ - if isinstance(v, str): - v = {"label": v} - if isinstance(v, set): - v = list(v) - if not isinstance(v, list): - v = [v] - - def _convert(m: str | dict | Metric) -> Metric: - if isinstance(m, str): - return Metric(label=m) - if isinstance(m, dict): - return Metric(**m) - return m - - v = [_convert(m) for m in v] - - unique_metrics = set(v) - - if len(unique_metrics) != len(v): - raise InvalidCompetitionError("The competition specifies duplicate metrics.") - - unique_names = {m.name for m in unique_metrics} - if len(unique_names) != len(unique_metrics): - raise InvalidCompetitionError( - "The metrics of a competition need to have unique names. Specify a custom name with Metric(custom_name=...)" - ) - - return unique_metrics - - @model_validator(mode="after") - def _validate_main_metric_is_in_metrics(self) -> Self: - if isinstance(self.main_metric, str): - for m in self.metrics: - if m.name == self.main_metric: - self.main_metric = m - break - if self.main_metric not in self.metrics: - raise InvalidCompetitionError("The main metric should be one of the specified metrics") - return self - - @model_validator(mode="after") - def _validate_split(self) -> Self: - """ - Verifies that: - 1) There are no empty test partitions - 2) All indices are valid given the dataset - 3) There is no duplicate indices in any of the sets - 4) There is no overlap between the train and test set - 5) No row exists in the test set where all labels are missing/empty - """ - - if not isinstance(self.split[1], dict): - self.split = self.split[0], {"test": self.split[1]} - split = self.split - - # Train partition can be empty (zero-shot) - # Test partitions cannot be empty - if any(len(v) == 0 for v in split[1].values()): - raise InvalidCompetitionError("The predefined split contains empty test partitions") - - train_idx_list = split[0] - full_test_idx_list = list(chain.from_iterable(split[1].values())) - - if len(train_idx_list) == 0: - logger.info( - "This competitioon only specifies a test set. It will return an empty train set in `get_train_test_split()`" - ) - - train_idx_set = set(train_idx_list) - full_test_idx_set = set(full_test_idx_list) - - # The train and test indices do not overlap - if len(train_idx_set & full_test_idx_set) > 0: - raise InvalidCompetitionError("The predefined split specifies overlapping train and test sets") - - # Check for duplicate indices within the train set - if len(train_idx_set) != len(train_idx_list): - raise InvalidCompetitionError("The training set contains duplicate indices") - - # Check for duplicate indices within a given test set. Because a user can specify - # multiple test sets for a given benchmark and it is acceptable for indices to be shared - # across test sets, we check for duplicates in each test set independently. - for test_set_name, test_set_idx_list in split[1].items(): - if len(test_set_idx_list) != len(set(test_set_idx_list)): - raise InvalidCompetitionError( - f'Test set with name "{test_set_name}" contains duplicate indices' - ) - - # All indices are valid given the dataset. We check the len of `self` here because a - # competition entity includes both the dataset and benchmark in one artifact. - max_i = len(self) - if any(i < 0 or i >= max_i for i in chain(train_idx_list, full_test_idx_set)): - raise InvalidCompetitionError("The predefined split contains invalid indices") - - return self - - @field_serializer("metrics", mode="wrap") - @staticmethod - def _serialize_metrics( - value: set[Metric], handler: SerializerFunctionWrapHandler, info: FieldSerializationInfo - ) -> list[dict]: - """Convert the set to a list""" - return handler(list(value)) - - @field_serializer("main_metric") - def _serialize_main_metric(value: Metric) -> str: - """Convert the set to a list""" - return value.name - - @field_serializer("target_types") - def _serialize_target_types(self, v) -> dict[str, str]: - """Convert from enum to string to make sure it's serializable""" - return {k: v.value for k, v in self.target_types.items()} - - @field_serializer("split") - def _serialize_split(self, v: SplitType): - """Convert any tuple to list to make sure it's serializable""" - return listit(v) - - @computed_field - @property - def task_type(self) -> str: - """The high-level task type of the benchmark.""" - v = TaskType.MULTI_TASK if len(self.target_cols) > 1 else TaskType.SINGLE_TASK - return v.value - - @computed_field - @property - def test_set_labels(self) -> list[str]: - """The labels of the test sets.""" - return sorted(list(self.split[1].keys())) - - @computed_field - @property - def test_set_sizes(self) -> dict[str, int]: - """The sizes of the test sets.""" - return {k: len(v) for k, v in self.split[1].items()} - - def _get_subset(self, indices, hide_targets=True, featurization_fn=None) -> Subset: - """Returns a [`Subset`][polaris.dataset.Subset] using the given indices. Used - internally to construct the train and test sets.""" - return Subset( - dataset=self, - indices=indices, - input_cols=self.input_cols, - target_cols=self.target_cols, - hide_targets=hide_targets, - featurization_fn=featurization_fn, - ) - - def _get_test_set(self, featurization_fn: Callable | None = None) -> Union["Subset", dict[str, Subset]]: - """Construct the test set(s), given the split in the competition specification. Used - internally to construct the test set for client use and evaluation. - """ - - def make_test_subset(vals): - return self._get_subset(vals, hide_targets=False, featurization_fn=featurization_fn) - - test_split = self.split[1] - test = {k: make_test_subset(v) for k, v in test_split.items()} - - return test - - def get_train_test_split( - self, featurization_fn: Callable | None = None - ) -> tuple[Subset, Union["Subset", dict[str, Subset]]]: - """Construct the train and test sets, given the split in the competition specification. - - Returns [`Subset`][polaris.dataset.Subset] objects, which offer several ways of accessing the data - and can thus easily serve as a basis to build framework-specific (e.g. PyTorch, Tensorflow) - data-loaders on top of. - - Args: - featurization_fn: A function to apply to the input data. If a multi-input benchmark, this function - expects an input in the format specified by the `input_format` parameter. - - Returns: - A tuple with the train `Subset` and test `Subset` objects. - If there are multiple test sets, these are returned in a dictionary and each test set has - an associated name. The targets of the test set can not be accessed. - """ - - train = self._get_subset(self.split[0], hide_targets=False, featurization_fn=featurization_fn) - test = self._get_test_set(featurization_fn=featurization_fn) - - # For improved UX, we return the object instead of the dictionary if there is only one test set. - # Internally, however, assume that the test set is always a dictionary simplifies the code. - if len(test) == 1: - test = test["test"] - return train, test - - def submit_predictions( - self, - prediction_name: SlugCompatibleStringType, - prediction_owner: str, - predictions: PredictionsType, - report_url: HttpUrlString, - contributors: list[HubUser] = [], - github_url: HttpUrlString | None = None, - description: str = "", - tags: list[str] = [], - user_attributes: dict[str, str] = {}, - ) -> None: - """ - Convenient wrapper around the - [`PolarisHubClient.submit_competition_predictions`][polaris.hub.client.PolarisHubClient.submit_competition_predictions] method. - It handles the creation of a standardized predictions object, which is expected by the Hub, automatically. - - Args: - prediction_name: The name of the prediction. - prediction_owner: The slug of the user/organization which owns the prediction. - predictions: The predictions for each test set defined in the competition. - report_url: A URL to a report/paper/write-up which describes the methods used to generate the predictions. - contributors: The users credited with generating these predictions. - github_url: An optional URL to a code repository containing the code used to generated these predictions. - description: An optional and short description of the predictions. - tags: An optional list of tags to categorize the prediction by. - user_attributes: An optional dict with additional, textual user attributes. - """ - from polaris.hub.client import PolarisHubClient - - standardized_predictions = CompetitionPredictions( - name=prediction_name, - owner=HubOwner(slug=prediction_owner), - predictions=predictions, - report_url=report_url, - contributors=contributors, - github_url=github_url, - description=description, - tags=tags, - user_attributes=user_attributes, - target_labels=self.target_cols, - test_set_labels=self.test_set_labels, - test_set_sizes=self.test_set_sizes, - ) - - with PolarisHubClient() as client: - client.submit_competition_predictions( - competition=self, competition_predictions=standardized_predictions - ) - - def _repr_html_(self): - """For pretty printing in Jupyter.""" - return dict2html(self.model_dump(exclude=["zarr_manifest_md5sum", "split"])) - - def __repr__(self): - return self.model_dump_json(exclude=["zarr_manifest_md5sum", "split"], indent=2) - - def __str__(self): - return self.__repr__() diff --git a/polaris/evaluate/__init__.py b/polaris/evaluate/__init__.py index 745a84d1..40d5db26 100644 --- a/polaris/evaluate/__init__.py +++ b/polaris/evaluate/__init__.py @@ -1,17 +1,16 @@ +from polaris.evaluate._metadata import ResultsMetadata from polaris.evaluate._metric import Metric, MetricInfo from polaris.evaluate._predictions import BenchmarkPredictions, CompetitionPredictions from polaris.evaluate._results import ( BenchmarkResults, CompetitionResults, EvaluationResult, - ResultsMetadata, ) from polaris.evaluate.utils import evaluate_benchmark __all__ = [ "Metric", "MetricInfo", - "ResultsMetadata", "EvaluationResult", "BenchmarkResults", "CompetitionResults", diff --git a/polaris/evaluate/_metadata.py b/polaris/evaluate/_metadata.py new file mode 100644 index 00000000..88fa34c6 --- /dev/null +++ b/polaris/evaluate/_metadata.py @@ -0,0 +1,34 @@ +from datetime import datetime + +from pydantic import Field, PrivateAttr + +from polaris._artifact import BaseArtifactModel +from polaris.utils.dict2html import dict2html +from polaris.utils.types import HttpUrlString, HubUser + + +class ResultsMetadata(BaseArtifactModel): + """Base class for evaluation results + + Attributes: + github_url: The URL to the GitHub repository of the code used to generate these results. + paper_url: The URL to the paper describing the methodology used to generate these results. + contributors: The users that are credited for these results. + _created_at: The time-stamp at which the results were created. Automatically set. + For additional meta-data attributes, see the [`BaseArtifactModel`][polaris._artifact.BaseArtifactModel] class. + """ + + # Additional meta-data + github_url: HttpUrlString | None = None + paper_url: HttpUrlString | None = None + contributors: list[HubUser] = Field(default_factory=list) + + # Private attributes + _created_at: datetime = PrivateAttr(default_factory=datetime.now) + + def _repr_html_(self) -> str: + """For pretty-printing in Jupyter Notebooks""" + return dict2html(self.model_dump()) + + def __repr__(self): + return self.model_dump_json(indent=2) diff --git a/polaris/evaluate/_predictions.py b/polaris/evaluate/_predictions.py index da31dd77..58b93b60 100644 --- a/polaris/evaluate/_predictions.py +++ b/polaris/evaluate/_predictions.py @@ -12,7 +12,7 @@ ) from typing_extensions import Self -from polaris.evaluate._results import ResultsMetadata +from polaris.evaluate._metadata import ResultsMetadata from polaris.utils.misc import convert_lists_to_arrays from polaris.utils.types import ( HttpUrlString, diff --git a/polaris/evaluate/_results.py b/polaris/evaluate/_results.py index 26f775ab..2aa56f4c 100644 --- a/polaris/evaluate/_results.py +++ b/polaris/evaluate/_results.py @@ -1,4 +1,3 @@ -from datetime import datetime from typing import ClassVar import pandas as pd @@ -6,7 +5,6 @@ BaseModel, ConfigDict, Field, - PrivateAttr, computed_field, field_serializer, field_validator, @@ -14,16 +12,13 @@ ) from pydantic.alias_generators import to_camel -from polaris._artifact import BaseArtifactModel -from polaris.evaluate import BenchmarkPredictions -from polaris.utils.dict2html import dict2html +from polaris.evaluate import ResultsMetadata +from polaris.evaluate._predictions import BenchmarkPredictions from polaris.utils.errors import InvalidResultError from polaris.utils.misc import slugify from polaris.utils.types import ( AccessType, - HttpUrlString, HubOwner, - HubUser, SlugCompatibleStringType, ) @@ -46,33 +41,6 @@ class ResultRecords(BaseModel): model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True) -class ResultsMetadata(BaseArtifactModel): - """Base class for evaluation results - - Attributes: - github_url: The URL to the GitHub repository of the code used to generate these results. - paper_url: The URL to the paper describing the methodology used to generate these results. - contributors: The users that are credited for these results. - _created_at: The time-stamp at which the results were created. Automatically set. - For additional meta-data attributes, see the [`BaseArtifactModel`][polaris._artifact.BaseArtifactModel] class. - """ - - # Additional meta-data - github_url: HttpUrlString | None = None - paper_url: HttpUrlString | None = None - contributors: list[HubUser] = Field(default_factory=list) - - # Private attributes - _created_at: datetime = PrivateAttr(default_factory=datetime.now) - - def _repr_html_(self) -> str: - """For pretty-printing in Jupyter Notebooks""" - return dict2html(self.model_dump()) - - def __repr__(self): - return self.model_dump_json(indent=2) - - class EvaluationResult(ResultsMetadata): """Class for saving evaluation results diff --git a/polaris/hub/client.py b/polaris/hub/client.py index 3f14ec5e..1b1752c0 100644 --- a/polaris/hub/client.py +++ b/polaris/hub/client.py @@ -2,7 +2,6 @@ import ssl from hashlib import md5 from io import BytesIO -from pathlib import Path from typing import get_args from urllib.parse import urljoin @@ -46,7 +45,6 @@ SupportedLicenseType, TimeoutTypes, ZarrConflictResolution, - SlugCompatibleStringType, ) _HTTPX_SSL_ERROR_CODE = "[SSL: CERTIFICATE_VERIFY_FAILED]" @@ -894,9 +892,7 @@ def _upload_v2_benchmark( f"Your benchmark has been successfully uploaded to the Hub. View it here: {benchmark_url}" ) - def get_competition( - self, owner: str | HubOwner, name: SlugCompatibleStringType - ) -> CompetitionSpecification: + def get_competition(self, artifact_id: str) -> CompetitionSpecification: """Load a competition from the Polaris Hub. Args: @@ -906,11 +902,13 @@ def get_competition( Returns: A `CompetitionSpecification` instance, if it exists. """ - url = f"/v1/competition/{owner}/{name}" + url = f"/v1/competition/{artifact_id}" response = self._base_request_to_hub(url=url, method="GET") response_data = response.json() - with StorageSession(self, "read", CompetitionSpecification.urn_for(owner, name)) as storage: + with StorageSession( + self, "read", CompetitionSpecification.urn_for(*artifact_id.split("/")) + ) as storage: zarr_root_path = str(storage.paths.root) return CompetitionSpecification(zarr_root_path=zarr_root_path, **response_data) diff --git a/polaris/loader/load.py b/polaris/loader/load.py index e677f7c7..f4898f81 100644 --- a/polaris/loader/load.py +++ b/polaris/loader/load.py @@ -7,7 +7,7 @@ from polaris.dataset import DatasetV1, create_dataset_from_file from polaris.experimental._benchmark_v2 import BenchmarkV2Specification from polaris.hub.client import PolarisHubClient -from polaris.utils.types import ChecksumStrategy, SlugCompatibleStringType +from polaris.utils.types import ChecksumStrategy def load_dataset(path: str, verify_checksum: ChecksumStrategy = "verify_unless_zarr") -> DatasetV1: @@ -100,7 +100,7 @@ def load_benchmark(path: str, verify_checksum: ChecksumStrategy = "verify_unless return benchmark -def load_competition(slug: SlugCompatibleStringType): +def load_competition(artifact_id: str): """ Loads a Polaris competition. @@ -111,9 +111,5 @@ def load_competition(slug: SlugCompatibleStringType): The dataset underlying the competition is automatically loaded when loading the competition. """ - - # Load from the Hub - client = PolarisHubClient() - return client.get_competition( - *slug.split("/"), - ) + with PolarisHubClient() as client: + return client.get_competition(artifact_id) diff --git a/tests/conftest.py b/tests/conftest.py index 5ef2a372..717a1c00 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -319,7 +319,7 @@ def test_multi_task_benchmark_clf(test_dataset, classification_metrics): @pytest.fixture(scope="function") -def test_competition(zarr_archive, test_org_owner, regression_metrics): +def test_competition(zarr_archive, test_org_owner, regression_metrics, test_dataset_v2): train_indices = list(range(90)) test_indices = list(range(90, 100)) competition = CompetitionSpecification( @@ -332,20 +332,19 @@ def test_competition(zarr_archive, test_org_owner, regression_metrics): metrics=regression_metrics, main_metric="mean_absolute_error", split=(train_indices, test_indices), - target_cols=["expt"], - input_cols=["smiles"], + input_cols=["A"], + target_cols=["B"], readme="Testing specification", - start_time="2025-01-13T21:59:38Z", - end_time="2025-01-20T21:59:38Z", - n_test_sets=1, - n_test_datapoints={"test": 10}, - n_classes={"test": 0}, # Dataset attributes source="https://www.example.com", annotations={"A": ColumnAnnotation(user_attributes={"unit": "kcal/mol"})}, license="CC-BY-4.0", curation_reference="https://www.example.com", zarr_root_path=zarr_archive, + # Competition attributes + start_time="2025-01-13T21:59:38Z", + end_time="2025-01-20T21:59:38Z", + n_classes={"B": 0}, ) check_version(competition) return competition diff --git a/tests/test_competition.py b/tests/test_competition.py index 8f41f2ed..e3d489db 100644 --- a/tests/test_competition.py +++ b/tests/test_competition.py @@ -1,4 +1,5 @@ from itertools import chain + import pytest from pydantic import ValidationError @@ -111,7 +112,7 @@ def test_competition_duplicate_metrics(test_competition): """Tests that passing duplicate metrics will raise a validation error""" m = test_competition.model_dump() - with pytest.raises(ValidationError, match="The competition specifies duplicate metric"): + with pytest.raises(ValidationError, match="The benchmark specifies duplicate metric"): m["metrics"] = [ Metric(label="roc_auc", config={"group_by": "CLASS_expt"}), Metric(label="roc_auc", config={"group_by": "CLASS_expt"}), @@ -119,7 +120,7 @@ def test_competition_duplicate_metrics(test_competition): m["main_metric"] = m["metrics"][0] CompetitionSpecification(**m) - with pytest.raises(ValidationError, match="The metrics of a competition need to have unique names."): + with pytest.raises(ValidationError, match="The metrics of a benchmark need to have unique names."): m["metrics"][0].config.group_by = "MULTICLASS_calc" CompetitionSpecification(**m) From 33d72c6e40e7f6a9ba50c9c58e09bc132f9855fa Mon Sep 17 00:00:00 2001 From: Julien St-Laurent Date: Thu, 19 Dec 2024 22:46:41 -0500 Subject: [PATCH 13/25] Move DatasetV2 out of experimental --- docs/api/dataset.md | 8 +++++++- polaris/competition/__init__.py | 12 ++++-------- polaris/dataset/__init__.py | 14 ++++++++------ polaris/{experimental => dataset}/_dataset_v2.py | 0 polaris/experimental/_benchmark_v2.py | 3 +-- polaris/hub/client.py | 9 +++------ tests/conftest.py | 3 +-- tests/test_dataset_v2.py | 4 ++-- 8 files changed, 26 insertions(+), 27 deletions(-) rename polaris/{experimental => dataset}/_dataset_v2.py (100%) diff --git a/docs/api/dataset.md b/docs/api/dataset.md index 2b3cb7c4..225d6390 100644 --- a/docs/api/dataset.md +++ b/docs/api/dataset.md @@ -4,6 +4,12 @@ --- +::: polaris.dataset.DatasetV2 + options: + filters: ["!^_"] + +--- + ::: polaris.dataset._base.BaseDataset options: filters: ["!^_"] @@ -20,4 +26,4 @@ options: filters: ["!^_"] ---- \ No newline at end of file +--- diff --git a/polaris/competition/__init__.py b/polaris/competition/__init__.py index bd4b56c0..8836f931 100644 --- a/polaris/competition/__init__.py +++ b/polaris/competition/__init__.py @@ -8,9 +8,8 @@ from polaris.benchmark import BenchmarkSpecification from polaris.benchmark._base import ColumnName -from polaris.dataset import Subset +from polaris.dataset import DatasetV2, Subset from polaris.evaluate import CompetitionPredictions -from polaris.experimental._dataset_v2 import DatasetV2 from polaris.utils.dict2html import dict2html from polaris.utils.errors import InvalidCompetitionError from polaris.utils.misc import listit @@ -26,7 +25,7 @@ class CompetitionSpecification(DatasetV2, BenchmarkSpecification): """An instance of this class represents a Polaris competition. It defines fields and functionality - that in combination with the `polaris.experimental._dataset_v2.DatasetV2` class, allow + that in combination with the `polaris.dataset.DatasetV2` class, allow users to participate in competitions hosted on Polaris Hub. Examples: @@ -70,7 +69,7 @@ class CompetitionSpecification(DatasetV2, BenchmarkSpecification): end_time: The time at which the competition stops accepting prediction submissions. n_classes: The number of classes within target columns that define a classification task. - For additional meta-data attributes, see the `polaris.experimental._dataset_v2.DatasetV2` class. + For additional meta-data attributes, see the `polaris.dataset.DatasetV2` class. """ _artifact_type = "competition" @@ -166,7 +165,6 @@ def _serialize_split(self, v: SplitType): """Convert any tuple to list to make sure it's serializable""" return listit(v) - @computed_field @property def dataset_artifact_id(self) -> str: @@ -201,9 +199,7 @@ def test_set_labels(self) -> list[str]: def n_test_datapoints(self) -> dict[str, int]: """The size of (each of) the test set(s).""" if self.n_test_sets == 1: - return { - "test": len(self.split[1]) - } + return {"test": len(self.split[1])} else: return {k: len(v) for k, v in self.split[1].items()} diff --git a/polaris/dataset/__init__.py b/polaris/dataset/__init__.py index 932b4470..8084749c 100644 --- a/polaris/dataset/__init__.py +++ b/polaris/dataset/__init__.py @@ -1,17 +1,19 @@ from polaris.dataset._column import ColumnAnnotation, KnownContentType, Modality from polaris.dataset._dataset import DatasetV1, DatasetV1 as Dataset +from polaris.dataset._dataset_v2 import DatasetV2 from polaris.dataset._factory import DatasetFactory, create_dataset_from_file, create_dataset_from_files from polaris.dataset._subset import Subset + __all__ = [ + "create_dataset_from_file", + "create_dataset_from_files", "ColumnAnnotation", "Dataset", - "Subset", - "Modality", - "KnownContentType", "DatasetFactory", - "create_dataset_from_file", - "create_dataset_from_files", "DatasetV1", - "Dataset", + "DatasetV2", + "KnownContentType", + "Modality", + "Subset", ] diff --git a/polaris/experimental/_dataset_v2.py b/polaris/dataset/_dataset_v2.py similarity index 100% rename from polaris/experimental/_dataset_v2.py rename to polaris/dataset/_dataset_v2.py diff --git a/polaris/experimental/_benchmark_v2.py b/polaris/experimental/_benchmark_v2.py index fc081021..2bcf9cb1 100644 --- a/polaris/experimental/_benchmark_v2.py +++ b/polaris/experimental/_benchmark_v2.py @@ -10,8 +10,7 @@ from polaris.benchmark import BenchmarkSpecification from polaris.benchmark._base import ColumnName -from polaris.dataset import Subset -from polaris.experimental._dataset_v2 import DatasetV2 +from polaris.dataset import DatasetV2, Subset from polaris.utils.errors import InvalidBenchmarkError diff --git a/polaris/hub/client.py b/polaris/hub/client.py index 1b1752c0..dc417d1d 100644 --- a/polaris/hub/client.py +++ b/polaris/hub/client.py @@ -22,10 +22,9 @@ SingleTaskBenchmarkSpecification, ) from polaris.competition import CompetitionSpecification -from polaris.dataset import Dataset, DatasetV1 +from polaris.dataset import Dataset, DatasetV1, DatasetV2 from polaris.evaluate import BenchmarkResults, CompetitionPredictions from polaris.experimental._benchmark_v2 import BenchmarkV2Specification -from polaris.experimental._dataset_v2 import DatasetV2 from polaris.hub.external_client import ExternalAuthClient from polaris.hub.oauth import CachedTokenAuth from polaris.hub.settings import PolarisHubSettings @@ -662,7 +661,7 @@ def _upload_v1_dataset( # Instead of directly uploading the data, we announce to the hub that we intend to upload it. # We do so separately for the Zarr archive and Parquet file. url = f"/v1/dataset/{dataset.artifact_id}" - response = self._base_request_to_hub( + self._base_request_to_hub( url=url, method="PUT", json={ @@ -896,8 +895,7 @@ def get_competition(self, artifact_id: str) -> CompetitionSpecification: """Load a competition from the Polaris Hub. Args: - owner: The owner of the competition. Can be either a user or organization from the Polaris Hub. - name: The name of the competition. + artifact_id: The artifact identifier for the competition Returns: A `CompetitionSpecification` instance, if it exists. @@ -944,7 +942,6 @@ def submit_competition_predictions( method="POST", json=prediction_payload, ) - response_data = response.json() # Log success and return submission response progress_indicator.update_success_msg( diff --git a/tests/conftest.py b/tests/conftest.py index 717a1c00..53d16284 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -12,9 +12,8 @@ SingleTaskBenchmarkSpecification, ) from polaris.competition import CompetitionSpecification -from polaris.dataset import ColumnAnnotation, DatasetFactory, DatasetV1 +from polaris.dataset import ColumnAnnotation, DatasetFactory, DatasetV1, DatasetV2 from polaris.dataset.converters import SDFConverter -from polaris.experimental._dataset_v2 import DatasetV2 from polaris.utils.types import HubOwner diff --git a/tests/test_dataset_v2.py b/tests/test_dataset_v2.py index a9c18137..c664ded0 100644 --- a/tests/test_dataset_v2.py +++ b/tests/test_dataset_v2.py @@ -9,11 +9,11 @@ import zarr from pydantic import ValidationError -from polaris.dataset import Subset +from polaris.dataset import DatasetV2, Subset +from polaris.dataset._dataset_v2 import _INDEX_ARRAY_KEY from polaris.dataset._factory import DatasetFactory from polaris.dataset.converters._pdb import PDBConverter from polaris.dataset.zarr._manifest import generate_zarr_manifest -from polaris.experimental._dataset_v2 import _INDEX_ARRAY_KEY, DatasetV2 def test_dataset_v2_get_columns(test_dataset_v2): From 0234e9b7e2f26e2f843c699f94bc6d4fcd9ee8ed Mon Sep 17 00:00:00 2001 From: Julien St-Laurent Date: Fri, 20 Dec 2024 00:00:03 -0500 Subject: [PATCH 14/25] Fix failing integration test --- polaris/hub/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/polaris/hub/client.py b/polaris/hub/client.py index dc417d1d..95545988 100644 --- a/polaris/hub/client.py +++ b/polaris/hub/client.py @@ -383,8 +383,8 @@ def _get_v1_dataset( # It should be None if the dataset does not use pointer columns zarr_root_path = str(zarr_root_path) - dataset = DatasetV1(table=table, zarr_root_path=zarr_root_path, **response) - md5sum = response["md5Sum"] + dataset = DatasetV1(table=table, zarr_root_path=zarr_root_path, **response_data) + md5sum = response_data["md5Sum"] if dataset.should_verify_checksum(verify_checksum): dataset.verify_checksum(md5sum) From 4ad0149ed5f260c2547c4731b89efe55f8e58c0e Mon Sep 17 00:00:00 2001 From: Cas Wognum Date: Fri, 20 Dec 2024 13:30:30 -0500 Subject: [PATCH 15/25] Refactor to extract a split and task mixin --- mkdocs.yml | 2 - polaris/benchmark/_base.py | 335 +++++--------------------- polaris/benchmark/_split.py | 102 ++++++++ polaris/benchmark/_task.py | 144 +++++++++++ polaris/competition/__init__.py | 123 ++-------- polaris/experimental/_benchmark_v2.py | 162 +------------ polaris/experimental/_split_v2.py | 164 +++++++++++++ polaris/utils/types.py | 3 + tests/test_benchmark_v2.py | 3 +- tests/test_competition.py | 6 + 10 files changed, 502 insertions(+), 542 deletions(-) create mode 100644 polaris/benchmark/_split.py create mode 100644 polaris/benchmark/_task.py create mode 100644 polaris/experimental/_split_v2.py diff --git a/mkdocs.yml b/mkdocs.yml index d261228a..0a684ec1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -36,9 +36,7 @@ nav: - Evaluation: api/evaluation.md # NOTE (cwognum): Competitions are currently gated. # - Competitions: - # - Competition Dataset: api/competition.dataset.md # - Competition: api/competition.md - # - Competiton Evaluation: api/competition.evaluation.md - Hub: - Client: api/hub.client.md - External Auth Client: api/hub.external_client.md diff --git a/polaris/benchmark/_base.py b/polaris/benchmark/_base.py index 632216a0..4be14d83 100644 --- a/polaris/benchmark/_base.py +++ b/polaris/benchmark/_base.py @@ -3,45 +3,76 @@ from hashlib import md5 from itertools import chain from pathlib import Path -from typing import Any, Callable, ClassVar, Collection, Literal, Sequence, TypeAlias +from typing import Any, Callable, ClassVar, Literal import fsspec import numpy as np -from loguru import logger from pydantic import ( + BaseModel, Field, computed_field, - field_serializer, field_validator, model_validator, ) -from pydantic_core.core_schema import ValidationInfo from sklearn.utils.multiclass import type_of_target from typing_extensions import Self from polaris._artifact import BaseArtifactModel +from polaris.benchmark._split import SplitSpecificationV1Mixin +from polaris.benchmark._task import PredictiveTaskSpecificationMixin from polaris.dataset import DatasetV1, Subset from polaris.dataset._base import BaseDataset -from polaris.evaluate import BenchmarkResults, Metric +from polaris.evaluate import BenchmarkResults from polaris.evaluate.utils import evaluate_benchmark from polaris.hub.settings import PolarisHubSettings from polaris.mixins import ChecksumMixin from polaris.utils.dict2html import dict2html from polaris.utils.errors import InvalidBenchmarkError -from polaris.utils.misc import listit from polaris.utils.types import ( AccessType, HubOwner, IncomingPredictionsType, - SplitType, TargetType, - TaskType, ) -ColumnName: TypeAlias = str +class BaseSplitSpecificationMixin(BaseModel): + split: Any -class BenchmarkSpecification(BaseArtifactModel, abc.ABC): + @property + @abc.abstractmethod + def test_set_sizes(self) -> dict[str, int]: + """The sizes of the test sets.""" + raise NotImplementedError + + @property + @abc.abstractmethod + def n_test_sets(self) -> int: + """The number of test sets""" + raise NotImplementedError + + @property + @abc.abstractmethod + def n_train_datapoints(self) -> int: + """The size of the train set.""" + raise NotImplementedError + + @property + @abc.abstractmethod + def test_set_labels(self) -> list[str]: + """The labels of the test sets.""" + raise NotImplementedError + + @property + @abc.abstractmethod + def n_test_datapoints(self) -> dict[str, int]: + """The size of (each of) the test set(s).""" + raise NotImplementedError + + +class BenchmarkSpecification( + PredictiveTaskSpecificationMixin, BaseArtifactModel, BaseSplitSpecificationMixin, abc.ABC +): """This class wraps a [`Dataset`][polaris.dataset.Dataset] with additional data to specify the evaluation logic. @@ -99,194 +130,19 @@ class BenchmarkSpecification(BaseArtifactModel, abc.ABC): _artifact_type = "benchmark" dataset: BaseDataset = Field(exclude=True) - target_cols: set[ColumnName] = Field(min_length=1) - input_cols: set[ColumnName] = Field(min_length=1) - metrics: set[Metric] = Field(min_length=1) - main_metric: Metric | str readme: str = "" - target_types: dict[ColumnName, TargetType] = Field(default_factory=dict, validate_default=True) - - @field_validator("target_cols", "input_cols", mode="before") - @classmethod - def _parse_cols(cls, v: str | Sequence[str], info: ValidationInfo) -> set[str]: - """ - Normalize columns input values to a set. - """ - if isinstance(v, str): - v = {v} - else: - v = set(v) - return v - - @field_validator("target_types", mode="before") - @classmethod - def _parse_target_types( - cls, v: dict[ColumnName, TargetType | str | None] - ) -> dict[ColumnName, TargetType]: - """ - Converts the target types to TargetType enums if they are strings. - """ - return { - target: TargetType(val) if isinstance(val, str) else val - for target, val in v.items() - if val is not None - } - - @field_validator("metrics", mode="before") - @classmethod - def _validate_metrics(cls, v: str | Metric | Collection[str | Metric]) -> set[Metric]: - """ - Verifies all specified metrics are either a Metric object or a valid metric name. - Also verifies there are no duplicate metrics. - - If there are multiple test sets, it is assumed the same metrics are used across test sets. - """ - if isinstance(v, str): - v = {"label": v} - if not isinstance(v, Collection): - v = [v] - - def _convert(m: str | dict | Metric) -> Metric: - if isinstance(m, str): - return Metric(label=m) - if isinstance(m, dict): - return Metric(**m) - return m - - v = [_convert(m) for m in v] - - unique_metrics = set(v) - - if len(unique_metrics) != len(v): - raise InvalidBenchmarkError("The benchmark specifies duplicate metrics.") - - unique_names = {m.name for m in unique_metrics} - if len(unique_names) != len(unique_metrics): - raise InvalidBenchmarkError( - "The metrics of a benchmark need to have unique names. Specify a custom name with Metric(custom_name=...)" - ) - - return unique_metrics - - @model_validator(mode="after") - def _validate_main_metric_is_in_metrics(self) -> Self: - if isinstance(self.main_metric, str): - for m in self.metrics: - if m.name == self.main_metric: - self.main_metric = m - break - if self.main_metric not in self.metrics: - raise InvalidBenchmarkError("The main metric should be one of the specified metrics") - return self - - @model_validator(mode="after") - def _validate_cols(self) -> Self: - """ - Verifies that all specified columns are present in the dataset. - """ - columns = self.target_cols | self.input_cols - dataset_columns = set(self.dataset.columns) - if not columns.issubset(dataset_columns): - raise InvalidBenchmarkError("Not all target or input columns were found in the dataset.") - - return self - - @field_serializer("metrics") - def _serialize_metrics(self, value: set[Metric]) -> list[Metric]: - """ - Convert the set to a list. Since metrics are models and will be converted to dict, - they will not be hashable members of a set. - """ - return list(value) - - @model_validator(mode="after") - def _validate_target_types(self) -> Self: - """ - Verifies that all target types are for benchmark targets. - """ - columns = set(self.target_types.keys()) - if not columns.issubset(self.target_cols): - raise InvalidBenchmarkError( - f"Not all specified target types were found in the target columns. {columns} - {self.target_cols}" - ) - return self - - @field_serializer("main_metric") - def _serialize_main_metric(value: Metric) -> str: - """ - Convert the Metric to it's name - """ - return value.name - - @field_serializer("target_types") - def _serialize_target_types(self, target_types): - """ - Convert from enum to string to make sure it's serializable - """ - return {k: v.value for k, v in target_types.items()} - - @field_serializer("target_cols", "input_cols") - def _serialize_columns(self, v: set[str]) -> list[str]: - return list(v) @computed_field @property def dataset_artifact_id(self) -> str: return self.dataset.artifact_id - @computed_field - @property - def task_type(self) -> str: - """The high-level task type of the benchmark.""" - v = TaskType.MULTI_TASK if len(self.target_cols) > 1 else TaskType.SINGLE_TASK - return v.value - @abc.abstractmethod def _get_test_sets( self, hide_targets=True, featurization_fn: Callable | None = None ) -> dict[str, Subset]: raise NotImplementedError - @property - @abc.abstractmethod - def n_test_datapoints(self) -> dict[str, int]: - """ - The size of (each of) the test set(s). - """ - raise NotImplementedError - - @property - @abc.abstractmethod - def test_set_labels(self) -> list[str]: - """ - The labels of the test sets. - """ - raise NotImplementedError - - @property - @abc.abstractmethod - def n_train_datapoints(self) -> int: - """ - The size of the train set. - """ - raise NotImplementedError - - @property - @abc.abstractmethod - def n_test_sets(self) -> int: - """ - The number of test sets - """ - raise NotImplementedError - - @property - @abc.abstractmethod - def test_set_sizes(self) -> dict[str, int]: - """ - The sizes of the test sets. - """ - raise NotImplementedError - def _get_subset(self, indices, hide_targets=True, featurization_fn=None) -> Subset: """Returns a [`Subset`][polaris.dataset.Subset] using the given indices. Used internally to construct the train and test sets.""" @@ -421,11 +277,10 @@ def __str__(self): return self.__repr__() -class BenchmarkV1Specification(BenchmarkSpecification, ChecksumMixin): +class BenchmarkV1Specification(SplitSpecificationV1Mixin, ChecksumMixin, BenchmarkSpecification): _version: ClassVar[Literal[1]] = 1 dataset: DatasetV1 = Field(exclude=True) - split: SplitType @field_validator("dataset", mode="before") @classmethod @@ -471,74 +326,33 @@ def _infer_target_types(self) -> Self: return self @model_validator(mode="after") - def _validate_split(self) -> Self: + def _validate_split_in_dataset(self) -> Self: + # All indices are valid given the dataset. We check the len of `self` here because a + # competition entity includes both the dataset and benchmark in one artifact. + max_i = len(self.dataset) + if any(i < 0 or i >= max_i for i in chain(self.split[0], *self.split[1].values())): + raise InvalidBenchmarkError("The predefined split contains invalid indices") + + return self + + @model_validator(mode="after") + def _validate_cols_in_dataset(self) -> Self: """ - Verifies that: - 1) There are no empty test partitions - 2) All indices are valid given the dataset - 3) There is no duplicate indices in any of the sets - 4) There is no overlap between the train and test set - 5) No row exists in the test set where all labels are missing/empty + Verifies that all specified columns are present in the dataset. """ - - if not isinstance(self.split[1], dict): - self.split = self.split[0], {"test": self.split[1]} - split = self.split - - # Train partition can be empty (zero-shot) - # Test partitions cannot be empty - if any(len(v) == 0 for v in split[1].values()): - raise InvalidBenchmarkError("The predefined split contains empty test partitions") - - train_idx_list = split[0] - full_test_idx_list = list(chain.from_iterable(split[1].values())) - - if len(train_idx_list) == 0: - logger.info( - "This benchmark only specifies a test set. It will return an empty train set in `get_train_test_split()`" - ) - - train_idx_set = set(train_idx_list) - full_test_idx_set = set(full_test_idx_list) - - # The train and test indices do not overlap - if len(train_idx_set & full_test_idx_set) > 0: - raise InvalidBenchmarkError("The predefined split specifies overlapping train and test sets") - - # Check for duplicate indices within the train set - if len(train_idx_set) != len(train_idx_list): - raise InvalidBenchmarkError("The training set contains duplicate indices") - - # Check for duplicate indices within a given test set. Because a user can specify - # multiple test sets for a given benchmark and it is acceptable for indices to be shared - # across test sets, we check for duplicates in each test set independently. - for test_set_name, test_set_idx_list in split[1].items(): - if len(test_set_idx_list) != len(set(test_set_idx_list)): - raise InvalidBenchmarkError( - f'Test set with name "{test_set_name}" contains duplicate indices' - ) - - # All indices are valid given the dataset - dataset = self.dataset - if dataset is not None: - max_i = len(dataset) - if any(i < 0 or i >= max_i for i in chain(train_idx_list, full_test_idx_set)): - raise InvalidBenchmarkError("The predefined split contains invalid indices") + columns = self.target_cols | self.input_cols + dataset_columns = set(self.dataset.columns) + if not columns.issubset(dataset_columns): + raise InvalidBenchmarkError("Not all target or input columns were found in the dataset.") return self - @field_serializer("split") - def _serialize_split(self, v: SplitType): - """Convert any tuple to list to make sure it's serializable""" - return listit(v) - def _compute_checksum(self) -> str: """ Computes a hash of the benchmark. This is meant to uniquely identify the benchmark and can be used to verify the version. """ - hash_fn = md5() hash_fn.update(self.dataset.md5sum.encode("utf-8")) for c in sorted(self.target_cols): @@ -601,39 +415,6 @@ def get_train_test_split( test = test["test"] return train, test - @computed_field - @property - def test_set_sizes(self) -> dict[str, int]: - """The sizes of the test sets.""" - return {k: len(v) for k, v in self.split[1].items()} - - @computed_field - @property - def n_test_sets(self) -> int: - """The number of test sets""" - return len(self.split[1]) - - @computed_field - @property - def n_train_datapoints(self) -> int: - """The size of the train set.""" - return len(self.split[0]) - - @computed_field - @property - def test_set_labels(self) -> list[str]: - """The labels of the test sets.""" - return sorted(list(self.split[1].keys())) - - @computed_field - @property - def n_test_datapoints(self) -> dict[str, int]: - """The size of (each of) the test set(s).""" - if self.n_test_sets == 1: - return {"test": len(self.split[1])} - else: - return {k: len(v) for k, v in self.split[1].items()} - @computed_field @property def n_classes(self) -> dict[str, int]: diff --git a/polaris/benchmark/_split.py b/polaris/benchmark/_split.py new file mode 100644 index 00000000..cc5ef0fd --- /dev/null +++ b/polaris/benchmark/_split.py @@ -0,0 +1,102 @@ +from itertools import chain + +from loguru import logger +from pydantic import BaseModel, computed_field, field_serializer, model_validator +from typing_extensions import Self + +from polaris.utils.errors import InvalidBenchmarkError +from polaris.utils.misc import listit +from polaris.utils.types import SplitType + + +class SplitSpecificationV1Mixin(BaseModel): + """ """ + + split: SplitType + + @model_validator(mode="after") + def _validate_split(self) -> Self: + """ + Verifies that: + 1) There are no empty test partitions + 2) There is no duplicate indices in any of the sets + 3) There is no overlap between the train and test set + 4) No row exists in the test set where all labels are missing/empty + """ + + if not isinstance(self.split[1], dict): + self.split = self.split[0], {"test": self.split[1]} + split = self.split + + # Train partition can be empty (zero-shot) + # Test partitions cannot be empty + if any(len(v) == 0 for v in split[1].values()): + raise InvalidBenchmarkError("The predefined split contains empty test partitions") + + train_idx_list = split[0] + full_test_idx_list = list(chain.from_iterable(split[1].values())) + + if len(train_idx_list) == 0: + logger.info( + "This benchmark only specifies a test set. It will return an empty train set in `get_train_test_split()`" + ) + + train_idx_set = set(train_idx_list) + full_test_idx_set = set(full_test_idx_list) + + # The train and test indices do not overlap + if len(train_idx_set & full_test_idx_set) > 0: + raise InvalidBenchmarkError("The predefined split specifies overlapping train and test sets") + + # Check for duplicate indices within the train set + if len(train_idx_set) != len(train_idx_list): + raise InvalidBenchmarkError("The training set contains duplicate indices") + + # Check for duplicate indices within a given test set. Because a user can specify + # multiple test sets for a given benchmark and it is acceptable for indices to be shared + # across test sets, we check for duplicates in each test set independently. + for test_set_name, test_set_idx_list in split[1].items(): + if len(test_set_idx_list) != len(set(test_set_idx_list)): + raise InvalidBenchmarkError( + f'Test set with name "{test_set_name}" contains duplicate indices' + ) + + return self + + @field_serializer("split") + def _serialize_split(self, v: SplitType): + """Convert any tuple to list to make sure it's serializable""" + return listit(v) + + @computed_field + @property + def test_set_sizes(self) -> dict[str, int]: + """The sizes of the test sets.""" + return {k: len(v) for k, v in self.split[1].items()} + + @computed_field + @property + def n_test_sets(self) -> int: + """The number of test sets""" + return len(self.split[1]) + + @computed_field + @property + def n_train_datapoints(self) -> int: + """The size of the train set.""" + return len(self.split[0]) + + @computed_field + @property + def test_set_labels(self) -> list[str]: + """The labels of the test sets.""" + return sorted(list(self.split[1].keys())) + + @computed_field + @property + def n_test_datapoints(self) -> dict[str, int]: + """The size of (each of) the test set(s).""" + if self.n_test_sets == 1: + return {"test": len(self.split[1])} + else: + return {k: len(v) for k, v in self.split[1].items()} diff --git a/polaris/benchmark/_task.py b/polaris/benchmark/_task.py new file mode 100644 index 00000000..021407ff --- /dev/null +++ b/polaris/benchmark/_task.py @@ -0,0 +1,144 @@ +from typing import Collection, Sequence + +from pydantic import ( + BaseModel, + Field, + ValidationInfo, + computed_field, + field_serializer, + field_validator, + model_validator, +) +from typing_extensions import Self + +from polaris.evaluate import Metric +from polaris.utils.errors import InvalidBenchmarkError +from polaris.utils.types import ColumnName, TargetType, TaskType + + +class PredictiveTaskSpecificationMixin(BaseModel): + """ """ + + target_cols: set[ColumnName] = Field(min_length=1) + input_cols: set[ColumnName] = Field(min_length=1) + metrics: set[Metric] = Field(min_length=1) + main_metric: Metric | str + target_types: dict[ColumnName, TargetType] = Field(default_factory=dict, validate_default=True) + + @field_validator("target_cols", "input_cols", mode="before") + @classmethod + def _parse_cols(cls, v: str | Sequence[str], info: ValidationInfo) -> set[str]: + """ + Normalize columns input values to a set. + """ + if isinstance(v, str): + v = {v} + else: + v = set(v) + return v + + @field_validator("target_types", mode="before") + @classmethod + def _parse_target_types( + cls, v: dict[ColumnName, TargetType | str | None] + ) -> dict[ColumnName, TargetType]: + """ + Converts the target types to TargetType enums if they are strings. + """ + return { + target: TargetType(val) if isinstance(val, str) else val + for target, val in v.items() + if val is not None + } + + @field_validator("metrics", mode="before") + @classmethod + def _validate_metrics(cls, v: str | Metric | Collection[str | Metric]) -> set[Metric]: + """ + Verifies all specified metrics are either a Metric object or a valid metric name. + Also verifies there are no duplicate metrics. + + If there are multiple test sets, it is assumed the same metrics are used across test sets. + """ + if isinstance(v, str): + v = {"label": v} + if not isinstance(v, Collection): + v = [v] + + def _convert(m: str | dict | Metric) -> Metric: + if isinstance(m, str): + return Metric(label=m) + if isinstance(m, dict): + return Metric(**m) + return m + + v = [_convert(m) for m in v] + + unique_metrics = set(v) + + if len(unique_metrics) != len(v): + raise InvalidBenchmarkError("The benchmark specifies duplicate metrics.") + + unique_names = {m.name for m in unique_metrics} + if len(unique_names) != len(unique_metrics): + raise InvalidBenchmarkError( + "The metrics of a benchmark need to have unique names. Specify a custom name with Metric(custom_name=...)" + ) + + return unique_metrics + + @model_validator(mode="after") + def _validate_main_metric_is_in_metrics(self) -> Self: + if isinstance(self.main_metric, str): + for m in self.metrics: + if m.name == self.main_metric: + self.main_metric = m + break + if self.main_metric not in self.metrics: + raise InvalidBenchmarkError("The main metric should be one of the specified metrics") + return self + + @field_serializer("metrics") + def _serialize_metrics(self, value: set[Metric]) -> list[Metric]: + """ + Convert the set to a list. Since metrics are models and will be converted to dict, + they will not be hashable members of a set. + """ + return list(value) + + @model_validator(mode="after") + def _validate_target_types(self) -> Self: + """ + Verifies that all target types are for benchmark targets. + """ + columns = set(self.target_types.keys()) + if not columns.issubset(self.target_cols): + raise InvalidBenchmarkError( + f"Not all specified target types were found in the target columns. {columns} - {self.target_cols}" + ) + return self + + @field_serializer("main_metric") + def _serialize_main_metric(value: Metric) -> str: + """ + Convert the Metric to it's name + """ + return value.name + + @field_serializer("target_types") + def _serialize_target_types(self, target_types): + """ + Convert from enum to string to make sure it's serializable + """ + return {k: v.value for k, v in target_types.items()} + + @field_serializer("target_cols", "input_cols") + def _serialize_columns(self, v: set[str]) -> list[str]: + return list(v) + + @computed_field + @property + def task_type(self) -> str: + """The high-level task type of the benchmark.""" + v = TaskType.MULTI_TASK if len(self.target_cols) > 1 else TaskType.SINGLE_TASK + return v.value diff --git a/polaris/competition/__init__.py b/polaris/competition/__init__.py index 8836f931..d4695745 100644 --- a/polaris/competition/__init__.py +++ b/polaris/competition/__init__.py @@ -2,28 +2,26 @@ from itertools import chain from typing import Callable -from loguru import logger -from pydantic import computed_field, field_serializer, model_validator +from pydantic import computed_field, model_validator from typing_extensions import Self -from polaris.benchmark import BenchmarkSpecification -from polaris.benchmark._base import ColumnName +from polaris.benchmark._split import SplitSpecificationV1Mixin +from polaris.benchmark._task import PredictiveTaskSpecificationMixin from polaris.dataset import DatasetV2, Subset from polaris.evaluate import CompetitionPredictions from polaris.utils.dict2html import dict2html from polaris.utils.errors import InvalidCompetitionError -from polaris.utils.misc import listit from polaris.utils.types import ( + ColumnName, HttpUrlString, HubOwner, HubUser, PredictionsType, SlugCompatibleStringType, - SplitType, ) -class CompetitionSpecification(DatasetV2, BenchmarkSpecification): +class CompetitionSpecification(DatasetV2, PredictiveTaskSpecificationMixin, SplitSpecificationV1Mixin): """An instance of this class represents a Polaris competition. It defines fields and functionality that in combination with the `polaris.dataset.DatasetV2` class, allow users to participate in competitions hosted on Polaris Hub. @@ -75,81 +73,23 @@ class CompetitionSpecification(DatasetV2, BenchmarkSpecification): _artifact_type = "competition" dataset: None = None - split: SplitType start_time: datetime end_time: datetime n_classes: dict[ColumnName, int] @model_validator(mode="after") - def _validate_split(self) -> Self: - """ - Verifies that: - 1) There are no empty test partitions - 2) All indices are valid given the dataset - 3) There is no duplicate indices in any of the sets - 4) There is no overlap between the train and test set - 5) No row exists in the test set where all labels are missing/empty - """ - - if not isinstance(self.split[1], dict): - self.split = self.split[0], {"test": self.split[1]} - split = self.split - - # Train partition can be empty (zero-shot) - # Test partitions cannot be empty - if any(len(v) == 0 for v in split[1].values()): - raise InvalidCompetitionError("The predefined split contains empty test partitions") - - train_idx_list = split[0] - full_test_idx_list = list(chain.from_iterable(split[1].values())) - - if len(train_idx_list) == 0: - logger.info( - "This competition only specifies a test set. It will return an empty train set in `get_train_test_split()`" - ) - - train_idx_set = set(train_idx_list) - full_test_idx_set = set(full_test_idx_list) - - # The train and test indices do not overlap - if len(train_idx_set & full_test_idx_set) > 0: - raise InvalidCompetitionError("The predefined split specifies overlapping train and test sets") - - # Check for duplicate indices within the train set - if len(train_idx_set) != len(train_idx_list): - raise InvalidCompetitionError("The training set contains duplicate indices") - - # Check for duplicate indices within a given test set. Because a user can specify - # multiple test sets for a given benchmark and it is acceptable for indices to be shared - # across test sets, we check for duplicates in each test set independently. - for test_set_name, test_set_idx_list in split[1].items(): - if len(test_set_idx_list) != len(set(test_set_idx_list)): - raise InvalidCompetitionError( - f'Test set with name "{test_set_name}" contains duplicate indices' - ) - + def _validate_split_in_dataset(self) -> Self: # All indices are valid given the dataset. We check the len of `self` here because a # competition entity includes both the dataset and benchmark in one artifact. max_i = len(self) - if any(i < 0 or i >= max_i for i in chain(train_idx_list, full_test_idx_set)): + if any(i < 0 or i >= max_i for i in chain(self.split[0], *self.split[1].values())): raise InvalidCompetitionError("The predefined split contains invalid indices") return self @model_validator(mode="after") - def _validate_n_classes(self) -> Self: - """ - The number of classes for each of the target columns. - """ - columns = set(self.n_classes.keys()) - if not columns.issubset(self.target_cols): - raise InvalidCompetitionError("Not all target class numbers were found in the target columns.") - - return self - - @model_validator(mode="after") - def _validate_cols(self) -> Self: + def _validate_cols_in_dataset(self) -> Self: """ Verifies that all specified columns are present in the dataset. """ @@ -160,49 +100,22 @@ def _validate_cols(self) -> Self: return self - @field_serializer("split") - def _serialize_split(self, v: SplitType): - """Convert any tuple to list to make sure it's serializable""" - return listit(v) + @model_validator(mode="after") + def _validate_n_classes(self) -> Self: + """ + The number of classes for each of the target columns. + """ + columns = set(self.n_classes.keys()) + if not columns.issubset(self.target_cols): + raise InvalidCompetitionError("Not all target class numbers were found in the target columns.") + + return self @computed_field @property def dataset_artifact_id(self) -> str: return self.artifact_id - @computed_field - @property - def test_set_sizes(self) -> dict[str, int]: - """The sizes of the test sets.""" - return {k: len(v) for k, v in self.split[1].items()} - - @computed_field - @property - def n_test_sets(self) -> int: - """The number of test sets""" - return len(self.split[1]) - - @computed_field - @property - def n_train_datapoints(self) -> int: - """The size of the train set.""" - return len(self.split[0]) - - @computed_field - @property - def test_set_labels(self) -> list[str]: - """The labels of the test sets.""" - return sorted(list(self.split[1].keys())) - - @computed_field - @property - def n_test_datapoints(self) -> dict[str, int]: - """The size of (each of) the test set(s).""" - if self.n_test_sets == 1: - return {"test": len(self.split[1])} - else: - return {k: len(v) for k, v in self.split[1].items()} - def _get_subset(self, indices, hide_targets=True, featurization_fn=None) -> Subset: """Returns a [`Subset`][polaris.dataset.Subset] using the given indices. Used internally to construct the train and test sets.""" diff --git a/polaris/experimental/_benchmark_v2.py b/polaris/experimental/_benchmark_v2.py index 2bcf9cb1..7ea916db 100644 --- a/polaris/experimental/_benchmark_v2.py +++ b/polaris/experimental/_benchmark_v2.py @@ -1,143 +1,19 @@ -from functools import cached_property -from hashlib import md5 -from typing import Any, Callable, ClassVar, Generator, Literal, Sequence +from typing import Any, Callable, ClassVar, Literal -from loguru import logger -from pydantic import BaseModel, ConfigDict, Field, computed_field, field_validator, model_validator -from pydantic.alias_generators import to_camel -from pyroaring import BitMap +from pydantic import Field, field_validator, model_validator from typing_extensions import Self from polaris.benchmark import BenchmarkSpecification -from polaris.benchmark._base import ColumnName from polaris.dataset import DatasetV2, Subset +from polaris.experimental._split_v2 import SplitSpecificationV2Mixin from polaris.utils.errors import InvalidBenchmarkError +from polaris.utils.types import ColumnName -class IndexSet(BaseModel): - """ - A set of indices for a split, either training or test. - - It wraps a Roaring Bitmap object to store the indices, and provides - useful properties when serializing for upload to the Hub. - """ - - model_config = ConfigDict(arbitrary_types_allowed=True, alias_generator=to_camel) - - indices: BitMap = Field(default_factory=BitMap, frozen=True, exclude=True) - - @field_validator("indices", mode="before") - @classmethod - def _validate_indices(cls, v: BitMap | Sequence[int]) -> BitMap: - """ - Accepts an initial sequence of ints, and turn it into a BitMap - """ - if isinstance(v, BitMap): - return v - return BitMap(v) - - @computed_field - @cached_property - def datapoints(self) -> int: - return len(self.indices) - - @computed_field - @cached_property - def md5_checksum(self) -> str: - return md5(self.serialize()).hexdigest() - - def intersect(self, other: Self) -> bool: - return self.indices.intersect(other.indices) - - def serialize(self) -> bytes: - return self.indices.serialize() - - @staticmethod - def deserialize(index_set: bytes) -> "IndexSet": - return IndexSet(indices=BitMap.deserialize(index_set)) - - -class SplitV2(BaseModel): - training: IndexSet - test: IndexSet - - @field_validator("training", "test", mode="before") - @classmethod - def _parse_index_sets(cls, v: bytes | IndexSet) -> bytes | IndexSet: - """ - Accepted a binary serialized IndexSet - """ - if isinstance(v, bytes): - return IndexSet.deserialize(v) - return v - - @field_validator("training") - @classmethod - def _validate_training_set(cls, v: IndexSet) -> IndexSet: - """ - Training index set can be empty (zero-shot) - """ - if v.datapoints == 0: - logger.info( - "This benchmark only specifies a test set. It will return an empty train set in `get_train_test_split()`" - ) - return v - - @field_validator("test") - @classmethod - def _validate_test_set(cls, v: IndexSet) -> IndexSet: - """ - Test index set cannot be empty - """ - if v.datapoints == 0: - raise InvalidBenchmarkError("The predefined split contains empty test partitions") - return v - - @model_validator(mode="after") - def validate_set_overlap(self) -> Self: - """ - The training and test index sets do not overlap - """ - if self.training.intersect(self.test): - raise InvalidBenchmarkError("The predefined split specifies overlapping train and test sets") - return self - - @property - def n_train_datapoints(self) -> int: - """ - The size of the train set. - """ - return self.training.datapoints - - @property - def n_test_sets(self) -> int: - """ - The number of test sets - """ - # TODO: Until we support multi-test benchmarks - return 1 - - @property - def n_test_datapoints(self) -> dict[str, int]: - """ - The size of (each of) the test set(s). - """ - return {"test": self.test.datapoints} - - @property - def max_index(self) -> int: - return max(self.training.indices.max(), self.test.indices.max()) - - def test_items(self) -> Generator[tuple[str, IndexSet], None, None]: - # TODO: Until we support multi-test benchmarks - yield "test", self.test - - -class BenchmarkV2Specification(BenchmarkSpecification): +class BenchmarkV2Specification(SplitSpecificationV2Mixin, BenchmarkSpecification): _version: ClassVar[Literal[2]] = 2 dataset: DatasetV2 = Field(exclude=True) - split: SplitV2 n_classes: dict[ColumnName, int] @field_validator("dataset", mode="before") @@ -180,34 +56,6 @@ def _validate_split_in_dataset(self) -> Self: return self - @computed_field - @property - def n_train_datapoints(self) -> int: - """The size of the train set.""" - return self.split.n_train_datapoints - - @computed_field - @property - def n_test_sets(self) -> int: - """The number of test sets""" - return self.split.n_test_sets - - @computed_field - @property - def n_test_datapoints(self) -> dict[str, int]: - """The size of (each of) the test set(s).""" - return self.split.n_test_datapoints - - @computed_field - @property - def test_set_sizes(self) -> dict[str, int]: - return {label: index_set.datapoints for label, index_set in self.split.test_items()} - - @computed_field - @property - def test_set_labels(self) -> list[str]: - return list(label for label, _ in self.split.test_items()) - def _get_test_sets( self, hide_targets=True, featurization_fn: Callable | None = None ) -> dict[str, Subset]: diff --git a/polaris/experimental/_split_v2.py b/polaris/experimental/_split_v2.py new file mode 100644 index 00000000..0e1cc1d2 --- /dev/null +++ b/polaris/experimental/_split_v2.py @@ -0,0 +1,164 @@ +from functools import cached_property +from hashlib import md5 +from typing import Generator, Sequence + +from loguru import logger +from pydantic import BaseModel, ConfigDict, Field, computed_field, field_validator, model_validator +from pydantic.alias_generators import to_camel +from pyroaring import BitMap +from typing_extensions import Self + +from polaris.utils.errors import InvalidBenchmarkError + + +class IndexSet(BaseModel): + """ + A set of indices for a split, either training or test. + + It wraps a Roaring Bitmap object to store the indices, and provides + useful properties when serializing for upload to the Hub. + """ + + model_config = ConfigDict(arbitrary_types_allowed=True, alias_generator=to_camel) + + indices: BitMap = Field(default_factory=BitMap, frozen=True, exclude=True) + + @field_validator("indices", mode="before") + @classmethod + def _validate_indices(cls, v: BitMap | Sequence[int]) -> BitMap: + """ + Accepts an initial sequence of ints, and turn it into a BitMap + """ + if isinstance(v, BitMap): + return v + return BitMap(v) + + @computed_field + @cached_property + def datapoints(self) -> int: + return len(self.indices) + + @computed_field + @cached_property + def md5_checksum(self) -> str: + return md5(self.serialize()).hexdigest() + + def intersect(self, other: Self) -> bool: + return self.indices.intersect(other.indices) + + def serialize(self) -> bytes: + return self.indices.serialize() + + @staticmethod + def deserialize(index_set: bytes) -> "IndexSet": + return IndexSet(indices=BitMap.deserialize(index_set)) + + +class SplitV2(BaseModel): + training: IndexSet + test: IndexSet + + @field_validator("training", "test", mode="before") + @classmethod + def _parse_index_sets(cls, v: bytes | IndexSet) -> bytes | IndexSet: + """ + Accepted a binary serialized IndexSet + """ + if isinstance(v, bytes): + return IndexSet.deserialize(v) + return v + + @field_validator("training") + @classmethod + def _validate_training_set(cls, v: IndexSet) -> IndexSet: + """ + Training index set can be empty (zero-shot) + """ + if v.datapoints == 0: + logger.info( + "This benchmark only specifies a test set. It will return an empty train set in `get_train_test_split()`" + ) + return v + + @field_validator("test") + @classmethod + def _validate_test_set(cls, v: IndexSet) -> IndexSet: + """ + Test index set cannot be empty + """ + if v.datapoints == 0: + raise InvalidBenchmarkError("The predefined split contains empty test partitions") + return v + + @model_validator(mode="after") + def validate_set_overlap(self) -> Self: + """ + The training and test index sets do not overlap + """ + if self.training.intersect(self.test): + raise InvalidBenchmarkError("The predefined split specifies overlapping train and test sets") + return self + + @property + def n_train_datapoints(self) -> int: + """ + The size of the train set. + """ + return self.training.datapoints + + @property + def n_test_sets(self) -> int: + """ + The number of test sets + """ + # TODO: Until we support multi-test benchmarks + return 1 + + @property + def n_test_datapoints(self) -> dict[str, int]: + """ + The size of (each of) the test set(s). + """ + return {"test": self.test.datapoints} + + @property + def max_index(self) -> int: + return max(self.training.indices.max(), self.test.indices.max()) + + def test_items(self) -> Generator[tuple[str, IndexSet], None, None]: + # TODO: Until we support multi-test benchmarks + yield "test", self.test + + +class SplitSpecificationV2Mixin(BaseModel): + """ """ + + split: SplitV2 + + @computed_field + @property + def n_train_datapoints(self) -> int: + """The size of the train set.""" + return self.split.n_train_datapoints + + @computed_field + @property + def n_test_sets(self) -> int: + """The number of test sets""" + return self.split.n_test_sets + + @computed_field + @property + def n_test_datapoints(self) -> dict[str, int]: + """The size of (each of) the test set(s).""" + return self.split.n_test_datapoints + + @computed_field + @property + def test_set_sizes(self) -> dict[str, int]: + return {label: index_set.datapoints for label, index_set in self.split.test_items()} + + @computed_field + @property + def test_set_labels(self) -> list[str]: + return list(label for label, _ in self.split.test_items()) diff --git a/polaris/utils/types.py b/polaris/utils/types.py index 670819ca..b53761c6 100644 --- a/polaris/utils/types.py +++ b/polaris/utils/types.py @@ -160,6 +160,9 @@ The type of predictions expected by the metric interface. """ +ColumnName: TypeAlias = str +"""A column name in a dataset.""" + class HubOwner(BaseModel): """An owner of an artifact on the Polaris Hub diff --git a/tests/test_benchmark_v2.py b/tests/test_benchmark_v2.py index 81d0c664..732c4b67 100644 --- a/tests/test_benchmark_v2.py +++ b/tests/test_benchmark_v2.py @@ -2,7 +2,8 @@ from pydantic import ValidationError from pyroaring import BitMap -from polaris.experimental._benchmark_v2 import BenchmarkV2Specification, IndexSet, SplitV2 +from polaris.experimental._benchmark_v2 import BenchmarkV2Specification +from polaris.experimental._split_v2 import IndexSet, SplitV2 @pytest.fixture diff --git a/tests/test_competition.py b/tests/test_competition.py index e3d489db..3315a0b4 100644 --- a/tests/test_competition.py +++ b/tests/test_competition.py @@ -163,3 +163,9 @@ def test_competition_computed_fields(test_competition): assert test_competition.task_type == TaskType.SINGLE_TASK.value assert test_competition.test_set_labels == [default_test_set_name] assert test_competition.test_set_sizes == {default_test_set_name: 10} + + +def test_competition_interface(test_competition): + """Tests that the CompetitionSpecification class doesn't accidentally inherit the evaluate method from the benchmark class""" + with pytest.raises(AttributeError): + test_competition.evaluate() From 8acc10d62b6ac11033c3fb6b51d43d4f571ceb6f Mon Sep 17 00:00:00 2001 From: Cas Wognum Date: Fri, 20 Dec 2024 14:00:02 -0500 Subject: [PATCH 16/25] Documentation pass --- docs/tutorials/competition.participate.ipynb | 16 +++++++++++----- mkdocs.yml | 9 +++------ polaris/benchmark/_base.py | 14 +++++--------- polaris/benchmark/_split.py | 15 ++++++++++++++- polaris/benchmark/_task.py | 10 +++++++++- polaris/competition/__init__.py | 13 +++---------- polaris/dataset/_base.py | 2 +- polaris/dataset/_dataset.py | 2 +- polaris/dataset/_dataset_v2.py | 2 +- polaris/evaluate/_metadata.py | 2 +- polaris/evaluate/_results.py | 2 +- polaris/experimental/_split_v2.py | 10 +++++++++- 12 files changed, 59 insertions(+), 38 deletions(-) diff --git a/docs/tutorials/competition.participate.ipynb b/docs/tutorials/competition.participate.ipynb index 1301e1e9..93605753 100644 --- a/docs/tutorials/competition.participate.ipynb +++ b/docs/tutorials/competition.participate.ipynb @@ -98,7 +98,7 @@ "The Polaris library is designed to make it easy to participate in a competition. In just a few lines of code, we can get the train and test partition, access the associated data in various ways and evaluate our predictions. There's two main API endpoints. \n", "\n", "- `get_train_test_split()`: For creating objects through which we can access the different dataset partitions.\n", - "- `evaluate()`: For evaluating a set of predictions in accordance with the competition protocol." + "- `submit_predictions()`: For submitting the predictions to an active competition." ] }, { @@ -116,7 +116,7 @@ "id": "e78bf878", "metadata": {}, "source": [ - "The created test and train objects support various flavours to access the data." + "Similar to benchmarks, the created test and train objects support various flavours to access the data." ] }, { @@ -144,7 +144,7 @@ "id": "5ec12825", "metadata": {}, "source": [ - "Now, let's create some predictions against the official Polaris `hello-world-competition`. We will train a simple random forest model on the ECFP representation through scikit-learn and datamol, and then we will submit our results for secure evaluation by the Polaris Hub." + "Now, let's create some predictions against the imaginary `hello-world-competition`. Let's assume we rain a simple random forest model on the ECFP representation through scikit-learn and datamol, and then we will submit our results for secure evaluation by the Polaris Hub." ] }, { @@ -204,7 +204,7 @@ "id": "5ff06a9c", "metadata": {}, "source": [ - "Once your `CompetitionPredictions` object is created, you're ready to submit them for evaluation! This will automatically save your result to the Polaris Hub, but it will be private. You can choose to make it public through the Polaris web application. " + "Once your `CompetitionPredictions` object is created, you're ready to submit them for evaluation! This will automatically save your result to the Polaris Hub, but it will be private until the competition closes." ] }, { @@ -224,12 +224,18 @@ "id": "44973556", "metadata": {}, "source": [ - "That's it! Just like that you have partaken in your first Polaris competition. Keep an eye on that leaderboard and best of luck in your future competitions!\n", + "That's it! Just like that you have partaken in your first Polaris competition. Keep an eye on that leaderboard when it goes public and best of luck in your future competitions!\n", "\n", "The End.\n", "\n", "---" ] + }, + { + "cell_type": "markdown", + "id": "ec835e3c", + "metadata": {}, + "source": [] } ], "metadata": { diff --git a/mkdocs.yml b/mkdocs.yml index 0a684ec1..f8c6577f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -24,19 +24,16 @@ nav: - PDB Datasets: tutorials/dataset_pdb.ipynb - SDF Datasets: tutorials/dataset_sdf.ipynb - Optimization: tutorials/optimization.ipynb - # NOTE (cwognum): Competitions are currently gated. - # - Competitions: - # - tutorials/competition.participate.ipynb + - Competitions: + - tutorials/competition.participate.ipynb - API Reference: - Load: api/load.md - Core: - Dataset: api/dataset.md - Benchmark: api/benchmark.md + - Competition: api/competition.md - Subset: api/subset.md - Evaluation: api/evaluation.md - # NOTE (cwognum): Competitions are currently gated. - # - Competitions: - # - Competition: api/competition.md - Hub: - Client: api/hub.client.md - External Auth Client: api/hub.external_client.md diff --git a/polaris/benchmark/_base.py b/polaris/benchmark/_base.py index 4be14d83..6be6ba83 100644 --- a/polaris/benchmark/_base.py +++ b/polaris/benchmark/_base.py @@ -37,6 +37,8 @@ class BaseSplitSpecificationMixin(BaseModel): + """Base mixin class to add a split field to a benchmark.""" + split: Any @property @@ -79,9 +81,8 @@ class BenchmarkSpecification( Specifically, it specifies: 1. Which dataset to use (see [`Dataset`][polaris.dataset.Dataset]); - 2. Which columns are used as input and which columns are used as target; - 3. Which metrics should be used to evaluate performance on this task; - 4. A predefined, static train-test split to use during evaluation. + 2. A task definition (we currently only support predictive tasks); + 3. A predefined, static train-test split to use during evaluation. info: Subclasses Polaris includes various subclasses of the `BenchmarkSpecification` that provide a more precise data-model or @@ -116,15 +117,10 @@ class BenchmarkSpecification( Attributes: dataset: The dataset the benchmark specification is based on. - target_cols: The column(s) of the original dataset that should be used as target. - input_cols: The column(s) of the original dataset that should be used as input. - metrics: The metrics to use for evaluating performance - main_metric: The main metric used to rank methods. If `None`, the first of the `metrics` field. readme: Markdown text that can be used to provide a formatted description of the benchmark. If using the Polaris Hub, it is worth noting that this field is more easily edited through the Hub UI as it provides a rich text editor for writing markdown. - target_types: A dictionary that maps target columns to their type. If not specified, this is automatically inferred. - For additional meta-data attributes, see the [`BaseArtifactModel`][polaris._artifact.BaseArtifactModel] class. + For additional meta-data attributes, see the base classes. """ _artifact_type = "benchmark" diff --git a/polaris/benchmark/_split.py b/polaris/benchmark/_split.py index cc5ef0fd..338c6e72 100644 --- a/polaris/benchmark/_split.py +++ b/polaris/benchmark/_split.py @@ -10,7 +10,20 @@ class SplitSpecificationV1Mixin(BaseModel): - """ """ + """ + Mixin class to add a split field to a benchmark. This is the V1 implementation. + + The split is defined as a (train, test) tuple, w train is a list of indices and + test is a dictionary that maps test set names to lists of indices. + + Warning: Scalability + The simple list-based representation we use for the split in this first implementation doesn't scale well. + We therefore worked on a V2 implementation that uses roaring bitmaps. + See [`SplitSpecificationV2Mixin`][`polaris.experimental._split_v2.SplitSpecificationV2Mixin`] for more details. + + Attributes: + split: The predefined train-test split to use for evaluation. + """ split: SplitType diff --git a/polaris/benchmark/_task.py b/polaris/benchmark/_task.py index 021407ff..0150f58c 100644 --- a/polaris/benchmark/_task.py +++ b/polaris/benchmark/_task.py @@ -17,7 +17,15 @@ class PredictiveTaskSpecificationMixin(BaseModel): - """ """ + """A mixin for predictive task benchmarks. + + Attributes: + target_cols: The column(s) of the original dataset that should be used as target. + input_cols: The column(s) of the original dataset that should be used as input. + metrics: The metrics to use for evaluating performance + main_metric: The main metric used to rank methods. If `None`, the first of the `metrics` field. + target_types: A dictionary that maps target columns to their type. If not specified, this is automatically inferred. + """ target_cols: set[ColumnName] = Field(min_length=1) input_cols: set[ColumnName] = Field(min_length=1) diff --git a/polaris/competition/__init__.py b/polaris/competition/__init__.py index d4695745..7d24b584 100644 --- a/polaris/competition/__init__.py +++ b/polaris/competition/__init__.py @@ -16,7 +16,7 @@ HttpUrlString, HubOwner, HubUser, - PredictionsType, + IncomingPredictionsType, SlugCompatibleStringType, ) @@ -56,18 +56,11 @@ class CompetitionSpecification(DatasetV2, PredictiveTaskSpecificationMixin, Spli ``` Attributes: - target_cols: The column(s) of the original dataset that should be used as target. - input_cols: The column(s) of the original dataset that should be used as input. - split: The predefined train-test split to use for evaluation. - metrics: The metrics to use for evaluating performance - main_metric: The main metric used to rank methods. - readme: Markdown text that contains a formatted description of the competition. - target_types: A dictionary that maps target columns to their type. start_time: The time at which the competition starts accepting prediction submissions. end_time: The time at which the competition stops accepting prediction submissions. n_classes: The number of classes within target columns that define a classification task. - For additional meta-data attributes, see the `polaris.dataset.DatasetV2` class. + For additional meta-data attributes, see the base classes. """ _artifact_type = "competition" @@ -173,7 +166,7 @@ def submit_predictions( self, prediction_name: SlugCompatibleStringType, prediction_owner: str, - predictions: PredictionsType, + predictions: IncomingPredictionsType, report_url: HttpUrlString, contributors: list[HubUser] | None = None, github_url: HttpUrlString | None = None, diff --git a/polaris/dataset/_base.py b/polaris/dataset/_base.py index fd0af212..1cc2ea1f 100644 --- a/polaris/dataset/_base.py +++ b/polaris/dataset/_base.py @@ -63,7 +63,7 @@ class BaseDataset(BaseArtifactModel, abc.ABC): license: The dataset license. Polaris only supports some Creative Commons licenses. See [`SupportedLicenseType`][polaris.utils.types.SupportedLicenseType] for accepted ID values. curation_reference: A reference to the curation process, e.g. a DOI, Github repo or URI. - For additional meta-data attributes, see the [`BaseArtifactModel`][polaris._artifact.BaseArtifactModel] class. + For additional meta-data attributes, see the base classes. Raises: InvalidDatasetError: If the dataset does not conform to the Pydantic data-model specification. diff --git a/polaris/dataset/_dataset.py b/polaris/dataset/_dataset.py index c4b49b1d..9aaa5deb 100644 --- a/polaris/dataset/_dataset.py +++ b/polaris/dataset/_dataset.py @@ -43,7 +43,7 @@ class DatasetV1(BaseDataset, ChecksumMixin): table: The core data-structure, storing data-points in a row-wise manner. Can be specified as either a path to a `.parquet` file or a `pandas.DataFrame`. - For additional meta-data attributes, see the [`BaseDataset`][polaris.dataset._base.BaseDataset] class. + For additional meta-data attributes, see the base classes. Raises: InvalidDatasetError: If the dataset does not conform to the Pydantic data-model specification. diff --git a/polaris/dataset/_dataset_v2.py b/polaris/dataset/_dataset_v2.py index deedf4a9..09822f11 100644 --- a/polaris/dataset/_dataset_v2.py +++ b/polaris/dataset/_dataset_v2.py @@ -35,7 +35,7 @@ class DatasetV2(BaseDataset): Attributes: zarr_root_path: The path to the Zarr archive. Different from V1, this is now required. - For additional meta-data attributes, see the [`BaseDataset`][polaris.dataset._base.BaseDataset] class. + For additional meta-data attributes, see the base classes. Raises: InvalidDatasetError: If the dataset does not conform to the Pydantic data-model specification. diff --git a/polaris/evaluate/_metadata.py b/polaris/evaluate/_metadata.py index 88fa34c6..3311a0b5 100644 --- a/polaris/evaluate/_metadata.py +++ b/polaris/evaluate/_metadata.py @@ -15,7 +15,7 @@ class ResultsMetadata(BaseArtifactModel): paper_url: The URL to the paper describing the methodology used to generate these results. contributors: The users that are credited for these results. _created_at: The time-stamp at which the results were created. Automatically set. - For additional meta-data attributes, see the [`BaseArtifactModel`][polaris._artifact.BaseArtifactModel] class. + For additional meta-data attributes, see the base classes. """ # Additional meta-data diff --git a/polaris/evaluate/_results.py b/polaris/evaluate/_results.py index 2aa56f4c..eaea502c 100644 --- a/polaris/evaluate/_results.py +++ b/polaris/evaluate/_results.py @@ -61,7 +61,7 @@ class EvaluationResult(ResultsMetadata): Attributes: results: Evaluation results are stored directly in a dataframe or in a serialized, JSON compatible dict that can be decoded into the associated tabular format. - For additional meta-data attributes, see the [`ResultsMetadata`][polaris.evaluate._results.ResultsMetadata] class. + For additional meta-data attributes, see the base classes. """ # Define the columns of the results table diff --git a/polaris/experimental/_split_v2.py b/polaris/experimental/_split_v2.py index 0e1cc1d2..3e98f686 100644 --- a/polaris/experimental/_split_v2.py +++ b/polaris/experimental/_split_v2.py @@ -131,7 +131,15 @@ def test_items(self) -> Generator[tuple[str, IndexSet], None, None]: class SplitSpecificationV2Mixin(BaseModel): - """ """ + """ + Mixin class to add a split field to a benchmark. This is the V2 implementation. + + The internal representation for the split is a roaring bitmap, + which drastically improves scalability over the V1 implementation. + + Attributes: + split: The predefined train-test split to use for evaluation. + """ split: SplitV2 From 9a356fca6468dc642cdb3126b36e0cb8de525d83 Mon Sep 17 00:00:00 2001 From: Cas Wognum Date: Fri, 20 Dec 2024 14:09:55 -0500 Subject: [PATCH 17/25] Minor changes to tutorial --- docs/tutorials/competition.participate.ipynb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/tutorials/competition.participate.ipynb b/docs/tutorials/competition.participate.ipynb index 93605753..bc752084 100644 --- a/docs/tutorials/competition.participate.ipynb +++ b/docs/tutorials/competition.participate.ipynb @@ -230,12 +230,6 @@ "\n", "---" ] - }, - { - "cell_type": "markdown", - "id": "ec835e3c", - "metadata": {}, - "source": [] } ], "metadata": { From eb8f844c3c19e19dceadd780a0879af327e8eabd Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Mon, 6 Jan 2025 12:59:06 -0500 Subject: [PATCH 18/25] removing comment from split validator since no longer checking for it --- polaris/benchmark/_split.py | 1 - 1 file changed, 1 deletion(-) diff --git a/polaris/benchmark/_split.py b/polaris/benchmark/_split.py index 338c6e72..58869b01 100644 --- a/polaris/benchmark/_split.py +++ b/polaris/benchmark/_split.py @@ -34,7 +34,6 @@ def _validate_split(self) -> Self: 1) There are no empty test partitions 2) There is no duplicate indices in any of the sets 3) There is no overlap between the train and test set - 4) No row exists in the test set where all labels are missing/empty """ if not isinstance(self.split[1], dict): From 228e60287f9305773243cd8bc2fd74f1b3e8293d Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Mon, 6 Jan 2025 13:02:48 -0500 Subject: [PATCH 19/25] updating split validator docstring to reflect order of checks in code --- polaris/benchmark/_split.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/polaris/benchmark/_split.py b/polaris/benchmark/_split.py index 58869b01..2af8b372 100644 --- a/polaris/benchmark/_split.py +++ b/polaris/benchmark/_split.py @@ -32,8 +32,8 @@ def _validate_split(self) -> Self: """ Verifies that: 1) There are no empty test partitions - 2) There is no duplicate indices in any of the sets - 3) There is no overlap between the train and test set + 2) There is no overlap between the train and test set + 3) There is no duplicate indices in any of the sets """ if not isinstance(self.split[1], dict): From a77864e8ac2be0d396b032944b045db927ddfb08 Mon Sep 17 00:00:00 2001 From: Andrew Quirke Date: Mon, 6 Jan 2025 15:08:59 -0500 Subject: [PATCH 20/25] typo/docs/import fixes --- docs/tutorials/competition.participate.ipynb | 19 ++++++------------- polaris/benchmark/_split.py | 2 +- polaris/benchmark/_task.py | 6 +++--- polaris/competition/__init__.py | 14 ++++++++------ polaris/dataset/_dataset_v2.py | 5 +---- polaris/evaluate/__init__.py | 1 + polaris/evaluate/_metadata.py | 4 ++-- polaris/evaluate/_predictions.py | 2 +- polaris/evaluate/_results.py | 3 +-- polaris/experimental/_split_v2.py | 2 ++ polaris/loader/load.py | 2 +- test.roaring | Bin 2002288 -> 0 bytes training.roaring | Bin 1982128 -> 0 bytes 13 files changed, 27 insertions(+), 33 deletions(-) delete mode 100644 test.roaring delete mode 100644 training.roaring diff --git a/docs/tutorials/competition.participate.ipynb b/docs/tutorials/competition.participate.ipynb index bc752084..f31f1bd4 100644 --- a/docs/tutorials/competition.participate.ipynb +++ b/docs/tutorials/competition.participate.ipynb @@ -45,18 +45,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "9b465ea4-7c71-443b-9908-3f9e567ee4c4", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m2024-08-09 18:05:23.205\u001b[0m | \u001b[32m\u001b[1mSUCCESS \u001b[0m | \u001b[36mpolaris.hub.client\u001b[0m:\u001b[36mlogin\u001b[0m:\u001b[36m267\u001b[0m - \u001b[32m\u001b[1mYou are successfully logged in to the Polaris Hub.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "import polaris as po\n", "from polaris.hub.client import PolarisHubClient\n", @@ -134,7 +126,8 @@ "for i in range(len(train)):\n", " x, y = train[i]\n", "\n", - "# The objects have properties to access all data at once\n", + "# The objects have properties to access all data at once. Use this with\n", + "# caution if the underlying dataset is large!\n", "x = train.inputs\n", "y = train.targets" ] @@ -144,7 +137,7 @@ "id": "5ec12825", "metadata": {}, "source": [ - "Now, let's create some predictions against the imaginary `hello-world-competition`. Let's assume we rain a simple random forest model on the ECFP representation through scikit-learn and datamol, and then we will submit our results for secure evaluation by the Polaris Hub." + "Now, let's create some predictions against the imaginary `hello-world-competition`. Let's assume we train a simple random forest model on the ECFP representation through scikit-learn and datamol, and then we submit our results for secure evaluation by the Polaris Hub." ] }, { @@ -160,7 +153,7 @@ "# Load the competition (automatically loads the underlying dataset as well)\n", "competition = po.load_competition(\"polaris/hello-world-benchmark\")\n", "\n", - "# Get the split and convert SMILES to ECFP fingerprints by specifying an featurize function.\n", + "# Get the split and convert SMILES to ECFP fingerprints by specifying a featurize function.\n", "train, test = competition.get_train_test_split(featurization_fn=dm.to_fp)\n", "\n", "# Define a model and train\n", diff --git a/polaris/benchmark/_split.py b/polaris/benchmark/_split.py index 2af8b372..d6a89ea2 100644 --- a/polaris/benchmark/_split.py +++ b/polaris/benchmark/_split.py @@ -13,7 +13,7 @@ class SplitSpecificationV1Mixin(BaseModel): """ Mixin class to add a split field to a benchmark. This is the V1 implementation. - The split is defined as a (train, test) tuple, w train is a list of indices and + The split is defined as a (train, test) tuple, where train is a list of indices and test is a dictionary that maps test set names to lists of indices. Warning: Scalability diff --git a/polaris/benchmark/_task.py b/polaris/benchmark/_task.py index 0150f58c..e18d4595 100644 --- a/polaris/benchmark/_task.py +++ b/polaris/benchmark/_task.py @@ -20,10 +20,10 @@ class PredictiveTaskSpecificationMixin(BaseModel): """A mixin for predictive task benchmarks. Attributes: - target_cols: The column(s) of the original dataset that should be used as target. + target_cols: The column(s) of the original dataset that should be used as the target. input_cols: The column(s) of the original dataset that should be used as input. - metrics: The metrics to use for evaluating performance - main_metric: The main metric used to rank methods. If `None`, the first of the `metrics` field. + metrics: The metrics to use for evaluating performance. + main_metric: The main metric used to rank methods. If `None`, this defaults to the first of the `metrics` field. target_types: A dictionary that maps target columns to their type. If not specified, this is automatically inferred. """ diff --git a/polaris/competition/__init__.py b/polaris/competition/__init__.py index 7d24b584..996b94e7 100644 --- a/polaris/competition/__init__.py +++ b/polaris/competition/__init__.py @@ -23,7 +23,7 @@ class CompetitionSpecification(DatasetV2, PredictiveTaskSpecificationMixin, SplitSpecificationV1Mixin): """An instance of this class represents a Polaris competition. It defines fields and functionality - that in combination with the `polaris.dataset.DatasetV2` class, allow + that in combination with the [`DatasetV2`][polaris.dataset.DatasetV2] class, allow users to participate in competitions hosted on Polaris Hub. Examples: @@ -58,7 +58,7 @@ class CompetitionSpecification(DatasetV2, PredictiveTaskSpecificationMixin, Spli Attributes: start_time: The time at which the competition starts accepting prediction submissions. end_time: The time at which the competition stops accepting prediction submissions. - n_classes: The number of classes within target columns that define a classification task. + n_classes: The number of classes within each target column that defines a classification task. For additional meta-data attributes, see the base classes. """ @@ -73,8 +73,10 @@ class CompetitionSpecification(DatasetV2, PredictiveTaskSpecificationMixin, Spli @model_validator(mode="after") def _validate_split_in_dataset(self) -> Self: - # All indices are valid given the dataset. We check the len of `self` here because a - # competition entity includes both the dataset and benchmark in one artifact. + """ + All indices are valid given the dataset. We check the len of `self` here because a + competition entity includes both the dataset and benchmark in one artifact. + """ max_i = len(self) if any(i < 0 or i >= max_i for i in chain(self.split[0], *self.split[1].values())): raise InvalidCompetitionError("The predefined split contains invalid indices") @@ -100,7 +102,7 @@ def _validate_n_classes(self) -> Self: """ columns = set(self.n_classes.keys()) if not columns.issubset(self.target_cols): - raise InvalidCompetitionError("Not all target class numbers were found in the target columns.") + raise InvalidCompetitionError("Not all target class members were found in the target columns.") return self @@ -125,7 +127,7 @@ def _get_test_sets( self, hide_targets=True, featurization_fn: Callable | None = None ) -> dict[str, Subset]: """ - Construct the test set(s), given the split in the benchmark specification. Used + Construct the test set(s), given the split in the competition specification. Used internally to construct the test set for client use and evaluation. """ test_split = self.split[1] diff --git a/polaris/dataset/_dataset_v2.py b/polaris/dataset/_dataset_v2.py index 09822f11..5144f1f7 100644 --- a/polaris/dataset/_dataset_v2.py +++ b/polaris/dataset/_dataset_v2.py @@ -29,11 +29,8 @@ class DatasetV2(BaseDataset): this was a bottleneck when the number of data points grew large. Even with the pointer columns, you still need to load all pointers into memory. V2 therefore switches to a Zarr-only format. - Info: This feature is still experimental - The DatasetV2 is in active development and will likely undergo breaking changes before release. - Attributes: - zarr_root_path: The path to the Zarr archive. Different from V1, this is now required. + zarr_root_path: Required path to a Zarr archive. For additional meta-data attributes, see the base classes. diff --git a/polaris/evaluate/__init__.py b/polaris/evaluate/__init__.py index 40d5db26..67423f63 100644 --- a/polaris/evaluate/__init__.py +++ b/polaris/evaluate/__init__.py @@ -9,6 +9,7 @@ from polaris.evaluate.utils import evaluate_benchmark __all__ = [ + "ResultsMetadata", "Metric", "MetricInfo", "EvaluationResult", diff --git a/polaris/evaluate/_metadata.py b/polaris/evaluate/_metadata.py index 3311a0b5..8dd35b21 100644 --- a/polaris/evaluate/_metadata.py +++ b/polaris/evaluate/_metadata.py @@ -11,10 +11,10 @@ class ResultsMetadata(BaseArtifactModel): """Base class for evaluation results Attributes: - github_url: The URL to the GitHub repository of the code used to generate these results. + github_url: The URL to the code repository that was used to generate these results. paper_url: The URL to the paper describing the methodology used to generate these results. contributors: The users that are credited for these results. - _created_at: The time-stamp at which the results were created. Automatically set. + For additional meta-data attributes, see the base classes. """ diff --git a/polaris/evaluate/_predictions.py b/polaris/evaluate/_predictions.py index 58b93b60..472f9984 100644 --- a/polaris/evaluate/_predictions.py +++ b/polaris/evaluate/_predictions.py @@ -12,7 +12,7 @@ ) from typing_extensions import Self -from polaris.evaluate._metadata import ResultsMetadata +from polaris.evaluate import ResultsMetadata from polaris.utils.misc import convert_lists_to_arrays from polaris.utils.types import ( HttpUrlString, diff --git a/polaris/evaluate/_results.py b/polaris/evaluate/_results.py index eaea502c..92a4fc51 100644 --- a/polaris/evaluate/_results.py +++ b/polaris/evaluate/_results.py @@ -12,8 +12,7 @@ ) from pydantic.alias_generators import to_camel -from polaris.evaluate import ResultsMetadata -from polaris.evaluate._predictions import BenchmarkPredictions +from polaris.evaluate import ResultsMetadata, BenchmarkPredictions from polaris.utils.errors import InvalidResultError from polaris.utils.misc import slugify from polaris.utils.types import ( diff --git a/polaris/experimental/_split_v2.py b/polaris/experimental/_split_v2.py index 3e98f686..ef0b11f0 100644 --- a/polaris/experimental/_split_v2.py +++ b/polaris/experimental/_split_v2.py @@ -119,10 +119,12 @@ def n_test_datapoints(self) -> dict[str, int]: """ The size of (each of) the test set(s). """ + # TODO: Until we support multi-test benchmarks return {"test": self.test.datapoints} @property def max_index(self) -> int: + # TODO: Until we support multi-test benchmarks (need) return max(self.training.indices.max(), self.test.indices.max()) def test_items(self) -> Generator[tuple[str, IndexSet], None, None]: diff --git a/polaris/loader/load.py b/polaris/loader/load.py index f4898f81..306911c4 100644 --- a/polaris/loader/load.py +++ b/polaris/loader/load.py @@ -3,7 +3,7 @@ import fsspec from datamol.utils import fs -from polaris.benchmark._definitions import MultiTaskBenchmarkSpecification, SingleTaskBenchmarkSpecification +from polaris.benchmark import MultiTaskBenchmarkSpecification, SingleTaskBenchmarkSpecification from polaris.dataset import DatasetV1, create_dataset_from_file from polaris.experimental._benchmark_v2 import BenchmarkV2Specification from polaris.hub.client import PolarisHubClient diff --git a/test.roaring b/test.roaring deleted file mode 100644 index 6088c9b170fa7c630505e0ff24fa34d8be32432c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2002288 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®QFqyN`2$?gH-TKZL)IU-V$$!5Bda*#CYJ`4DFj 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 z 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�?%Qz9D`Bekj2+ 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

    t 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%0A3K$`;AV$)V59%_Yctly?i=yR!V| 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

    W%izFywP?Z%A(`ZL$27o5Ou& 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�$hv#V05DOfW@&K}ZZt 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%0AwG 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

    $jLcy| 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